arm64: dts: Import lisa device tree

Change-Id: I8a7741482de378b8076c30a7d1f230b74b992429
This commit is contained in:
Giovanni Ricca 2022-10-13 20:15:25 +02:00
parent a516b4a60d
commit d65686c04c
No known key found for this signature in database
6 changed files with 1495 additions and 0 deletions

View File

@ -237,6 +237,7 @@ endif
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
dtbo-$(CONFIG_ARCH_YUPIK) += \
lisa-sm7325-overlay.dtbo \
yupik-rumi-overlay.dtbo \
yupik-idp-overlay.dtbo \
yupik-atp-overlay.dtbo \
@ -270,6 +271,7 @@ dtbo-$(CONFIG_ARCH_YUPIK) += \
katmaip-fp2-hsp-pm7250b-overlay.dtbo \
yupikp-iot-idps-amoled-overlay.dtbo
lisa-sm7325-overlay.dtbo-base := yupik.dtb
yupik-rumi-overlay.dtbo-base := yupik.dtb
yupik-idp-overlay.dtbo-base := yupik.dtb
yupik-atp-overlay.dtbo-base := yupik.dtb

View File

@ -0,0 +1,681 @@
#include <dt-bindings/clock/qcom,camcc-yupik.h>
&i2c_freq_custom_cci0 {
hw-thigh = <16>;
hw-tlow = <22>;
hw-tsu-sto = <17>;
hw-tsu-sta = <18>;
hw-thd-dat = <16>;
hw-thd-sta = <15>;
hw-tbuf = <24>;
hw-scl-stretch-en = <1>;
hw-trdhld = <3>;
hw-tsp = <3>;
cci-clk-src = <37500000>;
status = "ok";
};
&L2I {
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1200000>;
qcom,min-dropout-voltage = <24000>;
};
&cci0_active {
config {
pins = "gpio69","gpio70";
bias-pull-up; /* PULL UP*/
drive-strength = <4>; /* 4 MA */
};
};
&cci1_active {
config {
pins = "gpio71","gpio72";
bias-pull-up; /* PULL UP*/
drive-strength = <4>; /* 4 MA */
};
};
&cci2_active {
config {
pins = "gpio73","gpio74";
bias-pull-up; /* PULL UP*/
drive-strength = <4>; /* 4 MA */
};
};
&cci3_active {
config {
pins = "gpio75","gpio76";
bias-pull-up; /* PULL UP*/
drive-strength = <4>; /* 4 MA */
};
};
&pm8350c_switch0 {
qcom,led-mask = <1>; /* Channels 1*/
};
&soc {
led_flash_wide: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pm8350c_flash0>;
torch-source = <&pm8350c_torch0>;
switch-source = <&pm8350c_switch0>;
status = "ok";
};
led_flash_ultra: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-source = <&pm8350c_flash0>;
torch-source = <&pm8350c_torch0>;
switch-source = <&pm8350c_switch0>;
status = "ok";
};
led_flash_macro: qcom,camera-flash@2 {
cell-index = <2>;
compatible = "qcom,camera-flash";
flash-source = <&pm8350c_flash0>;
torch-source = <&pm8350c_torch0>;
switch-source = <&pm8350c_switch0>;
status = "ok";
};
camera_front_vana_ldo: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_front_vana_ldo";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <135>;
enable-active-high;
gpio = <&tlmm 106 0>;
vin-supply = <&BOB>;
};
camera_front_vdig_ldo: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_front_vdig_ldo";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-enable-ramp-delay = <135>;
enable-active-high;
gpio = <&tlmm 108 0>;
vin-supply = <&S8B>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
};
};
&cam_cci0 {
actuator_wide: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <1>;
cam_vaf-supply = <&L3I>;
cam_vio-supply = <&L5I>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <300000 10000>;
status = "ok";
};
eeprom_wide: qcom,eeprom0 {
cell-index = <0>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L1I>;
cam_vana-supply = <&L6I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana",
"cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1056000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1056000 2800000 0 3960000>;
rgltr-load-current = <4800 120000 970000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_wide>;
pinctrl-1 = <&cam_sensor_suspend_wide>;
gpios = <&tlmm 65 0>,
<&tlmm 21 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1";
cci-master = <1>;
clocks = <&camcc CAM_CC_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&camera_front_vdig_ldo>;
cam_vana-supply = <&camera_front_vana_ldo>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana",
"cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1050000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1050000 2800000 0 3960000>;
rgltr-load-current = <10000 140000 280000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_front
&cam_front_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_front
&cam_front_mclk_suspend>;
gpios = <&tlmm 64 0>,
<&tlmm 20 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
clocks = <&camcc CAM_CC_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
// wide S5KGW3 64M (AVDD 2.8V ) (VIO 1.8) (DVDD 1.05 )
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_wide>;
actuator-src = <&actuator_wide>;
led-flash-src = <&led_flash_wide>;
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L1I>;
cam_vana-supply = <&L6I>;
cam_vaf_supply = <&L3I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana", "cam_vaf", "cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1056000 2800000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1056000 2800000 2800000 0 3960000>;
rgltr-load-current = <4800 120000 970000 106000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_wide
&cam_wide_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_wide
&cam_wide_mclk_suspend>;
gpios = <&tlmm 65 0>,
<&tlmm 21 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1";
cci-master = <1>;
clocks = <&camcc CAM_CC_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
// Front OV16A1Q (AVDD 2.8V ) (VIO 1.8) (DVDD 1.05 )
qcom,cam-sensor1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&camera_front_vdig_ldo>;
cam_vana-supply = <&camera_front_vana_ldo>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana",
"cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1050000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1050000 2800000 0 3960000>;
rgltr-load-current = <10000 140000 280000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_front
&cam_front_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_front
&cam_front_mclk_suspend>;
gpios = <&tlmm 64 0>,
<&tlmm 20 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
clocks = <&camcc CAM_CC_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
};
&cam_cci1 {
actuator_macro: qcom,actuator1 {
cell-index = <1>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&L3I>;
cam_vio-supply = <&L5I>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <300000 10000>;
status = "ok";
};
eeprom_ultra: qcom,eeprom3 {
cell-index = <3>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L2I>;
cam_vana-supply = <&L7I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana"
,"cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1200000 2704000 0 3200000>;
rgltr-max-voltage = <1800000 1200000 2704000 0 3960000>;
rgltr-load-current = <10000 140000 180000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_ultra
&cam_ultra_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_ultra
&cam_ultra_mclk_suspend>;
gpios = <&tlmm 67 0>,
<&tlmm 78 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3";
cci-master = <1>;
clocks = <&camcc CAM_CC_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
eeprom_macro: qcom,eeprom2 {
cell-index = <2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L2I>;
cam_vana-supply = <&L4I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana"
, "cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1200000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1200000 2800000 0 3960000>;
rgltr-load-current = <10000 140000 180000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_macro
&cam_macro_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_macro
&cam_macro_mclk_suspend>;
gpios = <&tlmm 66 0>,
<&tlmm 77 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <0>;
clocks = <&camcc CAM_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
// Ultra IMX355 (AVDD 2.7V ) (VIO 1.8) (DVDD 1.2 )
qcom,cam-sensor3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <3>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_ultra>;
led-flash-src = <&led_flash_ultra>;
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L2I>;
cam_vana-supply = <&L7I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana"
,"cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1200000 2704000 0 3200000>;
rgltr-max-voltage = <1800000 1200000 2704000 0 3960000>;
rgltr-load-current = <10000 140000 180000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_ultra
&cam_ultra_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_ultra
&cam_ultra_mclk_suspend>;
gpios = <&tlmm 67 0>,
<&tlmm 78 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3";
cci-master = <1>;
clocks = <&camcc CAM_CC_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
// MACRO S5K5E9 (AVDD 2.8V ) (VIO 1.8) (DVDD 1.2 )
qcom,cam-sensor2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_macro>;
led-flash-src = <&led_flash_macro>;
actuator-src = <&actuator_macro>;
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L2I>;
cam_vana-supply = <&L4I>;
cam_vaf-supply = <&L3I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vio", "cam_vdig", "cam_vana", "cam_vaf"
, "cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1200000 2800000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1200000 2800000 2800000 0 3960000>;
rgltr-load-current = <10000 140000 180000 296000 0 2000000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_active_macro
&cam_macro_mclk_active>;
pinctrl-1 = <&cam_sensor_suspend_macro
&cam_macro_mclk_suspend>;
gpios = <&tlmm 66 0>,
<&tlmm 77 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <0>;
clocks = <&camcc CAM_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <19200000>;
status = "ok";
};
};
&tlmm {
cam_wide_mclk_active: cam_wide_mclk_active {
mux {
pins = "gpio65";
function = "cam_mclk";
};
config {
pins = "gpio65";
bias-disable; /* No PULL */
drive-strength = <4>; /* 4 MA */
};
};
cam_wide_mclk_suspend: cam_wide_mclk_suspend {
mux {
pins = "gpio65";
function = "cam_mclk";
};
config {
pins = "gpio65";
bias-pull-down; /* PULL DOWN */
drive-strength = <4>; /* 4 MA */
};
};
cam_sensor_active_wide: cam_sensor_active_wide {
mux {
pins = "gpio21";
function = "gpio";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_wide: cam_sensor_suspend_wide {
mux {
pins = "gpio21";
function = "gpio";
};
config {
pins = "gpio21";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_front_mclk_active: cam_front_mclk_active {
mux {
pins = "gpio64";
function = "cam_mclk";
};
config {
pins = "gpio64";
bias-disable; /* No PULL */
drive-strength = <4>; /* 4 MA */
};
};
cam_front_mclk_suspend: cam_front_mclk_suspend {
mux {
pins = "gpio64";
function = "cam_mclk";
};
config {
pins = "gpio64";
bias-pull-down; /* PULL DOWN */
drive-strength = <4>; /* 4 MA */
};
};
cam_sensor_active_front: cam_sensor_active_front {
/*RESET AVDD DVDD*/
mux {
pins = "gpio20", "gpio106", "gpio108";
function = "gpio";
};
config {
pins = "gpio20", "gpio106", "gpio108";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_front: cam_sensor_suspend_front {
mux {
pins = "gpio20", "gpio106", "gpio108";
function = "gpio";
};
config {
pins = "gpio20", "gpio106", "gpio108";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_ultra_mclk_active: cam_ultra_mclk_active {
mux {
pins = "gpio67";
function = "cam_mclk";
};
config {
pins = "gpio67";
bias-disable; /* No PULL */
drive-strength = <4>; /* 4 MA */
};
};
cam_ultra_mclk_suspend: cam_ultra_mclk_suspend {
mux {
pins = "gpio67";
function = "cam_mclk";
};
config {
pins = "gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <4>; /* 4 MA */
};
};
cam_sensor_active_ultra: cam_sensor_active_ultra {
/*RESET */
mux {
pins = "gpio78";
function = "gpio";
};
config {
pins = "gpio78";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_ultra: cam_sensor_suspend_ultra {
mux {
pins = "gpio78";
function = "gpio";
};
config {
pins = "gpio78";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_macro_mclk_active: cam_macro_mclk_active {
mux {
pins = "gpio66";
function = "cam_mclk";
};
config {
pins = "gpio66";
bias-disable; /* No PULL */
drive-strength = <4>; /* 2 MA */
};
};
cam_macro_mclk_suspend: cam_macro_mclk_suspend {
mux {
pins = "gpio66";
function = "cam_mclk";
};
config {
pins = "gpio66";
bias-pull-down; /* PULL DOWN */
drive-strength = <4>; /* 2 MA */
};
};
cam_sensor_active_macro: cam_sensor_active_macro {
/*RESET */
mux {
pins = "gpio77";
function = "gpio";
};
config {
pins = "gpio77";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_macro: cam_sensor_suspend_macro {
mux {
pins = "gpio77";
function = "gpio";
};
config {
pins = "gpio77";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};

View File

@ -0,0 +1,153 @@
#include "yupik-audio-overlay.dtsi"
&yupik_snd {
qcom,model = "lahaina-yupikqrd-snd-card";
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>, <1>;
qcom,wcn-bt = <1>;
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,ext-disp-audio-rx = <0>;
qcom,afe-rxtx-lb = <0>;
qcom,audio-routing =
"AMIC1", "Analog Mic1",
"Analog Mic1", "MIC BIAS1",
"AMIC2", "Analog Mic2",
"Analog Mic2", "MIC BIAS2",
"AMIC3", "Analog Mic3",
"Analog Mic3", "MIC BIAS3",
"AMIC4", "Analog Mic4",
"Analog Mic4", "MIC BIAS3",
"AMIC5", "Analog Mic5",
"Analog Mic5", "MIC BIAS3",
"TX DMIC0", "Digital Mic0",
"Digital Mic0", "MIC BIAS3",
"TX DMIC1", "Digital Mic1",
"Digital Mic1", "MIC BIAS3",
"TX DMIC2", "Digital Mic2",
"Digital Mic2", "MIC BIAS1",
"TX DMIC3", "Digital Mic3",
"Digital Mic3", "MIC BIAS1",
"TX DMIC4", "Digital Mic4",
"Digital Mic4", "MIC BIAS4",
"TX DMIC5", "Digital Mic5",
"Digital Mic5", "MIC BIAS4",
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
"IN3_AUX", "AUX_OUT",
"RX_TX DEC0_INP", "TX DEC0 MUX",
"RX_TX DEC1_INP", "TX DEC1 MUX",
"RX_TX DEC2_INP", "TX DEC2 MUX",
"RX_TX DEC3_INP", "TX DEC3 MUX",
"TX SWR_INPUT", "WCD_TX_OUTPUT",
"VA SWR_INPUT", "VA_SWR_CLK",
"VA SWR_INPUT", "WCD_TX_OUTPUT",
"VA_AIF1 CAP", "VA_SWR_CLK",
"VA_AIF2 CAP", "VA_SWR_CLK",
"VA_AIF3 CAP", "VA_SWR_CLK";
qcom,msm-mbhc-hphl-swh = <0>;
qcom,msm-mbhc-gnd-swh = <0>;
qcom,wsa-max-devs = <0>;
qcom,swr-dmic-max-devs = <0>;
qcom,pri-mi2s-gpios = <&cdc_pri_tdm_gpios>;
qcom,msm-mbhc-usbc-audio-supported = <1>;
qcom,uart-audio-sw-gpio = <&sbu_uart_en>;
asoc-codec = <&stub_codec>, <&bolero>,
<&wcd938x_codec>, <&swr_haptics>,
<&wsa883x_0222>,
<&ext_disp_audio_codec>;
asoc-codec-names = "msm-stub-codec.1", "bolero_codec",
"wcd938x_codec", "swr-haptics",
"wsa-codec2",
"msm-ext-disp-audio-codec-rx";
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>,
<&bolero>;
};
&q6core {
cdc_pri_tdm_gpios: pri_tdm_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&pri_tdm_clk_low_active &pri_tdm_sync_active
&pri_tdm_din_active &pri_tdm_dout_active>;
pinctrl-1 = <&pri_tdm_clk_sleep &pri_tdm_sync_sleep
&pri_tdm_din_sleep &pri_tdm_dout_sleep>;
qcom,lpi-gpios;
#gpio-cells = <0>;
};
};
/*
&dai_mi2s0 {
compatible = "qcom,msm-dai-q6-mi2s";
qcom,msm-dai-q6-mi2s-dev-id = <0>;
qcom,msm-mi2s-rx-lines = <2>;
qcom,msm-mi2s-tx-lines = <1>;
};
*/
&swr2 {
qcom,swr-phy-dev-addr = <0x0D 0x01170223>,
<0x08 0x58350223>,
<0x08 0x58350222>,
<0x08 0x58350221>,
<0x08 0x58350220>;
};
&wcd938x_rx_slave {
status = "okay";
};
&wcd938x_tx_slave {
status = "okay";
};
&wcd938x_codec {
status = "okay";
qcom,cdc-micbias1-mv = <2750>;
qcom,cdc-micbias2-mv = <2750>;
qcom,cdc-micbias3-mv = <2750>;
qcom,cdc-micbias4-mv = <2750>;
};
&wcd937x_codec {
status = "disabled";
};
&wcd937x_rx_slave {
status = "disabled";
};
&wcd937x_tx_slave {
status = "disabled";
};
&wsa_swr_gpios {
status = "disabled";
};
&wsa_spkr_en1 {
status = "disabled";
};
&wsa_spkr_en2 {
status = "disabled";
};
&bolero {
qcom,num-macros = <3>;
};
&wsa_macro {
compatible = "qcom,wsa-macro";
status = "disabled";
};
&soc {
sbu_uart_en: msm_cdc_pinctrl@9 {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&sbu_uart_en_active>;
pinctrl-1 = <&sbu_uart_en_idle>;
#gpio-cells = <0>;
};
};

View File

@ -0,0 +1,185 @@
/*for lisa pinctrl */
&tlmm {
sbu_uart_en_ctrl {
sbu_uart_en_idle: uart_audio_en_idle {
mux {
pins = "gpio9";
function = "gpio";
};
config {
pins = "gpio9";
drive-strength = <2>;
bias-pull-down;
output-low;
};
};
sbu_uart_en_active: uart_audio_en_active {
mux {
pins = "gpio9";
function = "gpio";
};
config {
pins = "gpio9";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
smartpa_enable_active: smartpa_enable_active {
/* active state */
mux {
/* GPIO 2 rst pin */
pins = "gpio2";
function = "gpio";
};
config {
pins = "gpio2";
drive-strength = <2>;
bias-disable;
bias-pull-down;
output-low;
};
};
smartpa_enable_suspend: smartpa_enable_suspend {
/* sleep state */
mux {
/* GPIO 2 rst pin */
pins = "gpio2";
function = "gpio";
};
config {
pins = "gpio2";
drive-strength = <2>;
bias-disable;
bias-pull-down;
output-low;
};
};
smartpa_top_int_active: smartpa_top_int_active {
/* active state */
mux {
/* GPIO 102 Interrupt */
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
smartpa_top_int_suspend: smartpa_top_int_suspend {
/* sleep state */
mux {
/* GPIO 102 Interrupt */
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
smartpa_bot_int_active: smartpa_bot_int_active {
/* active state */
mux {
/* GPIO 24 Interrupt */
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
smartpa_bot_int_suspend: smartpa_bot_int_suspend {
/* sleep state */
mux {
/* GPIO 24 Interrupt */
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
/* speaker switch */
spk_sw_active: spk_sw_active {
mux {
pins = "gpio101";
function = "gpio";
};
config {
pins = "gpio101";
drive-strength = <2>;
bias-disable;
bias-pull-down;
output-low;
};
};
spk_sw_inactive: spk_sw_inactive {
mux {
pins = "gpio101";
function = "gpio";
};
config {
pins = "gpio101";
drive-strength = <2>;
bias-disable;
bias-pull-down;
output-low;
};
};
md_mode_ctrl_irq {
ant2_ctrl_irq: ant2_ctrl_irq {
mux {
pins = "gpio8";
function = "gpio";
};
config {
pins = "gpio8";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
ant5_ctrl_irq: ant5_ctrl_irq {
mux {
pins = "gpio129";
function = "gpio";
};
config {
pins = "gpio129";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
};
};

View File

@ -0,0 +1,12 @@
/dts-v1/;
/plugin/;
#include "lisa-sm7325.dtsi"
/ {
model = "lisa based Qualcomm Technologies, Inc. SM7325";
compatible = "qcom,yupik-idp", "qcom,yupik", "qcom,idp";
qcom,msm-id = <475 0x10000>;
qcom,board-id = <0x1000B 0>;
xiaomi,board-id = <0xA 0>;
};

View File

@ -0,0 +1,462 @@
/*
this file is for attribution only of lisa
And public attribution of xiaomi platforms
*/
#include "lisa-pinctrl.dtsi"
#include "xiaomi-sm7325-common.dtsi"
#include "camera/lisa-sm7325-camera-sensor.dtsi"
#include "lisa-audio-overlay.dtsi"
&pm8350c_rgb {
status = "disabled";
};
&qupv3_se3_i2c {
status = "ok";
tfa98xx_1@34 {
compatible = "tfa,tfa98xx";
reset-gpio = <&tlmm 2 0>;
irq-gpio = <&tlmm 102 0>;
spk-sw-gpio = <&tlmm 101 0>;
interrupt-parent = <&tlmm>;
interrupts = <102 0>;
interrupt-names = "smartpa_irq";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&smartpa_top_int_active &smartpa_enable_active &spk_sw_active>;
pinctrl-1 = <&smartpa_top_int_suspend &smartpa_enable_suspend &spk_sw_inactive>;
reg = <0x34>;
status = "ok";
};
tfa98xx_2@35 {
compatible = "tfa,tfa98xx";
reset-gpio = <&tlmm 6 0>;
irq-gpio = <&tlmm 24 0>;
interrupt-parent = <&tlmm>;
interrupts = <24 0>;
interrupt-names = "smartpa_irq";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&smartpa_bot_int_active>;
pinctrl-1 = <&smartpa_bot_int_suspend>;
reg = <0x35>;
status = "ok";
};
};
&qupv3_se15_spi {
status = "ok";
ir-spi@0 {
compatible = "ir-spi";
reg = <0>;
spi-max-frequency = <19200000>;
status = "ok";
};
};
&qupv3_se13_spi {
status = "ok";
qcom,rt;
xiaomi_k9_touch@0{
compatible = "xiaomi,k9-spi";
reg = <0>;
spi-max-frequency = <6000000>;
interrupt-parent = <&tlmm>;
interrupts = <81 0x2008>;
goodix,avdd-name = "avdd";
goodix,iovdd-name = "iovdd";
avdd-supply = <&L7C>;
iovdd-supply = <&L2C>;
goodix,reset-gpio = <&tlmm 105 0x00>;
goodix,irq-gpio = <&tlmm 81 0x2800>;
goodix,irq-flags = <2>;
goodix,panel-max-x = <1080>;
goodix,panel-max-y = <2400>;
goodix,panel-max-w = <255>;
goodix,panel-max-p = <4096>;
goodix,config-array-size = <2>;
goodix,cfg_0 {
goodix,display-maker = <0x36>;
goodix,fw-name = "goodix_gt9897t_fw_k9d.bin";
goodix,cfg-name = "goodix_gt9897t_cfg_k9d.bin";
};
goodix,cfg_1 {
goodix,display-maker = <0x42>;
goodix,fw-name = "goodix_gt9897t_fw_k9d_csot.bin";
goodix,cfg-name = "goodix_gt9897t_cfg_k9d_csot.bin";
};
/*pinctrl-names = "pmx_ts_active", "pmx_ts_suspend", "pmx_ts_release";*/
/*pinctrl-0 = <&mi_ts_active>;*/
/*pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;*/
/*pinctrl-2 = <&ts_release>;*/
/*vdd-supply = <&touch_avdd_vreg>;*/
/*vcc_i2c-supply = <&L2C>;*/
};
};
&soc {
fingerprint_fpc {
status = "ok";
compatible = "fpc,fpc1020";
interrupt-parent = <&tlmm>;
interrupts = <34 0x0>;
fpc,gpio_rst = <&tlmm 43 0x0>;
fpc,gpio_irq = <&tlmm 34 0x0>;
fp_vdd_vreg-supply = <&L3C>;
pinctrl-names = "fpc1020_reset_reset",
"fpc1020_reset_active",
"fpc1020_irq_active";
pinctrl-0 = <&msm_gpio_reset>;
pinctrl-1 = <&msm_gpio_reset_output_high>;
pinctrl-2 = <&msm_gpio_irq>;
};
md_testing_mode {
compatible = "modem,md-testing-mode";
status-gpio = <&tlmm 129 0x00>,
<&tlmm 8 0x00>;
debounce-time = <30>;
pinctrl-names = "default";
pinctrl-0 = <&ant5_ctrl_irq &ant2_ctrl_irq>;
};
};
&L3C {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
qcom,init-voltage = <3300000>;
};
&tlmm {
/* FP_RESET_N */
msm_gpio_reset: msm_gpio_reset {
mux {
pins = "gpio43";
function = "gpio";
};
config {
pins = "gpio43";
drive-strength = <2>;
bias-disable;
output-low;
};
};
/* FP_RESET_N, state device active*/
msm_gpio_reset_output_high: msm_gpio_reset_output_high {
mux {
pins = "gpio43";
function = "gpio";
};
config {
pins = "gpio43";
drive-strength = <2>;
bias-disable;
output-high;
};
};
/* FP_INT_N */
msm_gpio_irq: msm_gpio_irq {
mux {
pins = "gpio34";
function = "gpio";
};
config {
pins = "gpio34";
drive-strength = <2>;
bias-pull-down;
};
};
};
&pmk8350_vadc {
pm7325_5g_pa_therm {
reg = <PM7325_ADC7_AMUX_THM5_100K_PU>;
label = "pm7325_5g_pa_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325_4g_pa_therm {
reg = <PM7325_ADC7_GPIO3_100K_PU>;
label = "pm7325_4g_pa_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PM7325B_ADC7_GPIO2_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM5_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_GPIO3_100K_PU>;
pm7325_5g_pa_therm {
reg = <PM7325_ADC7_AMUX_THM5_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325_4g_pa_therm {
reg = <PM7325_ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
modem1_pa1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PM7325_ADC7_AMUX_THM5_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem1_pa0 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PM7325_ADC7_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&qupv3_se4_i2c {
status = "ok";
pinctrl-0 = <&qupv3_se4_i2c_ds_high_active>;
aw8624_haptic@5A {
compatible = "awinic,aw8624_haptic";
reg = <0x5A>;
reset-gpio = <&tlmm 35 0>;
irq-gpio = <&tlmm 18 0>;
vib_f0_pre = < 2050 >;
vib_f0_cali_percen = < 7 >;
vib_cont_drv_lev = < 106 >;
vib_cont_drv_lvl_ov = < 155 >;
vib_cont_td = < 0xF06C >;
vib_cont_zc_thr = < 0x08F8 >;
vib_cont_num_brk = < 3 >;
vib_f0_coeff = < 260 >; /*Don't modify it*/
vib_duration_time = < 15 60 0 0 0 >;
vib_brake_ram_config = < 1 1 90 60 20 3 1 3 1 1 90 60 30 5 1 3 0 0 50 40 25 0 5 3 >;
vib_brake_cont_config = < 1 1 90 42 20 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >;
vib_f0_trace_parameter = < 9 5 1 15 >;
vib_bemf_config = < 0 8 3 0xf8 >;
vib_sw_brake = < 0x2c >;
vib_wavseq = < 0 1 1 2 0 0 0 0 0 0 0 0 0 0 0 0 >; /*wavseq1-seq8 0x07-0x0E*/
vib_wavloop = < 0 6 1 15 0 0 0 0 0 0>;/*loop1-mainloog 0x0f-0x13*/
vib_td_brake = < 42720 42720 42720 >; /*level0 level1 level2*/
vib_tset = < 0x11 >;
vib_func_parameter1 = < 1 >;
vib_gain_flag = < 1 >;
vib_r_spare = < 0x68 >;
vib_bstdbg = < 0x30 0xeb 0xd4 0 0 0 >;
vib_effect_id_boundary = < 10 >;
vib_effect_max = < 170 >;
vib_rtp_time = < 20 20 20 20 20 20 20 20 20 30
40 50 60 70 80 90 100 110 120 130
140 150 160 170 180 190 200 210 220 230
240 250 260 270 280 290 300 310 320 330
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 >;
pinctrl-names = "aw8624_reset_reset","aw8624_reset_active","aw8624_interrupt_active";
pinctrl-0 = <&aw8624_gpio_reset>;
pinctrl-1 = <&aw8624_gpio_reset_output_high>;
pinctrl-2 = <&aw8624_gpio_int>;
wf_0 {
/*CLICK*/
qcom,effect-id = <0>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_1 {
/*DOUBLE CLICK*/
qcom,effect-id = <1>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [7e 3e];
qcom,wf-brake-pattern = [03 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_2 {
/*TICK*/
qcom,effect-id = <2>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [7e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_3 {
/*THUD*/
qcom,effect-id = <3>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_4 {
/*POP*/
qcom,effect-id = <4>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <28000>;
};
wf_5 {
/*HEAVY CLICK*/
qcom,effect-id = <5>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [7e 7e 7e];
qcom,wf-brake-pattern = [03 03 01 00];
qcom,wf-play-rate-us = <20000>;
};
wf_6 {
/*id 6*/
qcom,effect-id = <6>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_7 {
/*id 7*/
qcom,effect-id = <7>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_8 {
/*id 8*/
qcom,effect-id = <8>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
wf_9 {
/*id 9*/
qcom,effect-id = <9>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-pattern = [3e 3e];
qcom,wf-brake-pattern = [02 01 00 00];
qcom,wf-play-rate-us = <20000>;
};
};
/* AWINIC AW8624 Haptic End */
};
&tlmm {
/* AW8624_RESET_N */
aw8624_gpio_reset: aw8624gpio_reset {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <2>;
bias-disable;
output-low;
};
};
/* AW8624_RESET_N, state device active*/
aw8624_gpio_reset_output_high: aw8624_gpio_reset_output_high {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <2>;
bias-disable;
output-high;
};
};
/* AW8624_INTERRUPT_N */
aw8624_gpio_int: aw8624_gpio_int {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
drive-strength = <2>;
bias-pull-up;
input-enable;
};
};
qupv3_se4_i2c_ds_high_active: qupv3_se4_i2c_ds_high_active {
mux {
pins = "gpio16", "gpio17";
function = "qup04";
};
config {
pins = "gpio16", "gpio17";
drive-strength = <6>;//modify to for aw8624
bias-pull-up;
};
};
};
&usb2_phy0 {
mi,factory-usb;
qcom,param-override-seq-fac =
<0xe3 0x6c /* override_x0 */
0xc6 0x70 /* override_x1 */
0x0b 0x74>; /* override x2 */
qcom,param-override-seq =
<0xe3 0x6c /* override_x0 */
0xc6 0x70 /* override_x1 */
0x0b 0x74>; /* override x2 */
};
&sde_dp {
status = "disabled";
};
&qcom_msmhdcp {
status = "disabled";
};
&mdss_mdp {
connectors = <&smmu_sde_unsec &smmu_sde_sec &sde_wb &sde_dsi
&sde_rscc>;
};