arm64: dts: Import redwood device tree

Change-Id: Icecd568298c11b1beaa720ea483b1930f179a8e2
This commit is contained in:
Giovanni Ricca 2023-01-30 13:55:25 +05:30
parent 4f3da5ad04
commit baf60712b9
No known key found for this signature in database
6 changed files with 1656 additions and 0 deletions

View File

@ -241,6 +241,7 @@ dtbo-$(CONFIG_ARCH_YUPIK) += \
mona-sm7325-overlay.dtbo \
taoyao-sm7325-overlay.dtbo \
zijin-sm7325-overlay.dtbo \
redwood-sm7325-overlay.dtbo \
yupik-rumi-overlay.dtbo \
yupik-idp-overlay.dtbo \
yupik-atp-overlay.dtbo \
@ -278,6 +279,7 @@ lisa-sm7325-overlay.dtbo-base := yupik.dtb
mona-sm7325-overlay.dtbo-base := yupik.dtb
taoyao-sm7325-overlay.dtbo-base := yupik.dtb
zijin-sm7325-overlay.dtbo-base := yupik.dtb
redwood-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,670 @@
#include <dt-bindings/clock/qcom,camcc-yupik.h>
&PM8008I {
vdd_l1_l2-supply = <&S8B>;
vdd_l3_l4-supply = <&BOB>;
vdd_l5-supply = <&S1B>;
vdd_l6-supply = <&S1B>;
vdd_l7-supply = <&BOB>;
};
// L2I 1.2v
&L2I {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
qcom,min-dropout-voltage = <24000>;
};
// L6I 1.8v
&L6I {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
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;
drive-strength = <4>;
};
};
&pm8350c_flash0 {
qcom,max-current-ma = <720>;
};
&pm8350c_torch0 {
qcom,max-current-ma = <500>;
};
&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_wide_vana_ldo: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_wide_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_ultra_dvdd_ldo: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_ultra_dvdd_ldo";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
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 = <&L9C>;
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 = <&camera_wide_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 1000000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1000000 2800000 0 3960000>;
rgltr-load-current = <10000 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";
};
// wide S5KHM2SD (AVDD 2.8V ) (VIO 1.8) (DVDD 1.0 )
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>;
led-flash-src = <&led_flash_wide>;
actuator-src = <&actuator_wide>;
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L1I>;
cam_vana-supply = <&camera_wide_vana_ldo>;
cam_vaf_supply = <&L9C>;
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 1000000 2800000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 1000000 2800000 2800000 0 3960000>;
rgltr-load-current = <10000 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";
};
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L2I>;
cam_vana-supply = <&L3I>;
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 970000 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";
};
// Front OV16A1Q (AVDD 2.8V ) (VIO 1.8) (DVDD 1.2 )
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>;
//actuator-src = <&actuator_front>;
//led-flash-src = <&led_flash_front>;
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&L2I>;
cam_vana-supply = <&L3I>;
//cam_vaf_supply = <&L6C>;
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 970000 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 {
eeprom_macro: qcom,eeprom2 {
cell-index = <2>;
compatible = "qcom,eeprom";
cam_vdig-supply = <&L6I>;
cam_vana-supply = <&L7I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vdig", "cam_vana"
, "cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 2800000 0 3960000>;
rgltr-load-current = <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";
};
// MACRO OV02B10 (AVDD 2.8V ) (VIO 1.8 )
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>;
cam_vdig-supply = <&L6I>;
cam_vana-supply = <&L7I>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
cam_bob-supply = <&BOB>;
regulator-names = "cam_vdig", "cam_vana", "cam_clk", "cam_bob";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0 3200000>;
rgltr-max-voltage = <1800000 2800000 0 3960000>;
rgltr-load-current = <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";
};
eeprom_ultra: qcom,eeprom3 {
cell-index = <3>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5I>;
cam_vdig-supply = <&camera_ultra_dvdd_ldo>;
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_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";
};
// Ultra S5K4H7 (AVDD 2.8V ) (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 = <&camera_ultra_dvdd_ldo>;
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_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";
};
};
&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 {
/*RESET*/
mux {
pins = "gpio21","gpio106";
function = "gpio";
};
config {
pins = "gpio21","gpio106";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_wide: cam_sensor_suspend_wide {
mux {
pins = "gpio21","gpio106";
function = "gpio";
};
config {
pins = "gpio21","gpio106";
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 */
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_front: cam_sensor_suspend_front {
/*RESET */
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
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","gpio108";
function = "gpio";
};
config {
pins = "gpio78","gpio108";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_ultra: cam_sensor_suspend_ultra {
mux {
pins = "gpio78","gpio108";
function = "gpio";
};
config {
pins = "gpio78","gpio108";
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 {
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,147 @@
#include "yupik-audio-overlay.dtsi"
&yupik_snd {
qcom,model = "lahaina-yupikidp-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 BIAS4",
"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 = <1>;
qcom,msm-mbhc-gnd-swh = <1>;
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 = <0>;
// 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_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>;
};
};
&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";
status = "disabled";
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,126 @@
/*for redwood pinctrl */
&tlmm {
/*
sbu_uart_en_ctrl {
sbu_uart_en_idle: uart_audio_en_idle {
mux {
pins = "gpio91";
function = "gpio";
};
config {
pins = "gpio91";
drive-strength = <2>;
bias-pull-down;
output-low;
};
};
sbu_uart_en_active: uart_audio_en_active {
mux {
pins = "gpio91";
function = "gpio";
};
config {
pins = "gpio91";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
*/
top_smartpa_int_active: top_smartpa_int_active {
/* active state */
mux {
/* GPIO 102 Interrupt */
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
input-enable;
};
};
top_smartpa_int_suspend: top_smartpa_int_suspend {
/* sleep state */
mux {
/* GPIO 102 Interrupt */
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
input-enable;
};
};
bot_smartpa_int_active: bot_smartpa_int_active {
/* active state */
mux {
/* GPIO 45 Interrupt */
pins = "gpio45";
function = "gpio";
};
config {
pins = "gpio45";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
input-enable;
};
};
bot_smartpa_int_suspend: bot_smartpa_int_suspend {
/* sleep state */
mux {
/* GPIO 45 Interrupt */
pins = "gpio45";
function = "gpio";
};
config {
pins = "gpio45";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
input-enable;
};
};
md_mode_ctrl_irq {
ant5_ctrl_irq: ant5_ctrl_irq {
mux {
pins = "gpio129";
function = "gpio";
};
config {
pins = "gpio129";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
ant10_ctrl_irq: ant10_ctrl_irq {
mux {
pins = "gpio123";
function = "gpio";
};
config {
pins = "gpio123";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
};
};

View File

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

View File

@ -0,0 +1,699 @@
/*
this file is for attribution only of mona
And public attribution of xiaomi platforms
*/
#include "xiaomi-sm7325-common.dtsi"
#include "camera/redwood-sm7325-camera-sensor.dtsi"
#include "redwood-pinctrl.dtsi"
#include "redwood-audio-overlay.dtsi"
&sdhc_2 {
status = "disabled";
};
&sde_dsi {
dvdd-supply = <&L16B>;
};
&qupv3_se3_i2c {
status = "ok";
/* TOP Smart PA */
aw882xx_smartpa@35 {
compatible = "awinic,aw882xx_smartpa";
reg = <0x35>;
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 = <&top_smartpa_int_active>;
pinctrl-1 = <&top_smartpa_int_suspend>;
monitor-flag = <1>;
dc-flag = <0>;
aw-tx-topo-id = <0x1000ff01>;
aw-rx-topo-id = <0x1000ff00>;
aw-tx-port-id = <0x9001>;
aw-rx-port-id = <0x9000>;
aw-re-min = <4000>;
aw-re-max= <9000>;
aw-cali-mode = "aw_class";
sound-channel = <0>;
status = "ok";
};
/* BOT Smart PA */
aw882xx_smartpa@34 {
compatible = "awinic,aw882xx_smartpa";
reg = <0x34>;
irq-gpio = <&tlmm 45 0>;
interrupt-parent = <&tlmm>;
interrupts = <45 0>;
interrupt-names = "smartpa_irq";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&bot_smartpa_int_active>;
pinctrl-1 = <&bot_smartpa_int_suspend>;
monitor-flag = <1>;
dc-flag = <0>;
aw-tx-topo-id = <0x1000ff01>;
aw-rx-topo-id = <0x1000ff00>;
aw-tx-port-id = <0x9001>;
aw-rx-port-id = <0x9000>;
aw-re-min = <4000>;
aw-re-max= <9000>;
aw-cali-mode = "aw_class";
sound-channel = <1>;
status = "ok";
};
};
&qupv3_se15_spi {
status = "ok";
ir-spi@0 {
compatible = "ir-spi";
reg = <0>;
spi-max-frequency = <19200000>;
status = "ok";
};
};
&L6C {
regulator-boot-on; /* M20 for RF ANT Detect MXD8625C Switch IC */
regulator-always-on;
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
qcom,init-voltage = <2900000>;
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L7B>;
vcc-voltage-level = <2952000 2952000>;
vcc-low-voltage-sup;
vcc-max-microamp = <800000>;
ufs_limit_num_lanes_tx_1;
/*
* Yupik target supports both UFS2.2 & UFS3.1, here
* vccq2 is supplied via eLDO, and that is controlled via
* L9B which supports a max voltage of 1.2V, but eLDO would
* supply 1.8V. and same L9B acts as vccq voltage for UFS3.1
* devices.
* Here L9B can max support for 1.2V but UFS GKI driver code
* votes for 1.8V, which is leading to failure from pmic
* regulator.
*
* Now since vccq and control of eLDO are common that is L9B
* we can use vccq vote as control of eLDO for vccq2.
* Hence vccq entries shall be used for both type of UFS
* devices only. And vccq entries should not be changed/removed
* for any design alteration.
*/
vccq-supply = <&L9B>;
vccq-max-microamp = <900000>;
vccq-min-microamp = <10000>;
qcom,vddp-ref-clk-supply = <&L9B>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok";
};
//disable PMK7325B GPIO_2_3 to fix temp value inaccurate
&pm7325b_gpios {
pm7325b_chg_skin_therm {
pm7325b_chg_skin_therm_default: pm7325b_chg_skin_therm_default {
pins = "gpio2";
bias-high-impedance;
};
};
pm7325b_modem1_pa1 {
pm7325b_modem1_pa1_default: pm7325b_modem1_pa1_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmk8350_vadc {
pinctrl-names = "default";
//disable PMK7325B GPIO_2_3 to fix temp value inaccurate
pinctrl-0 = <
&pm7325b_chg_skin_therm_default
&pm7325b_modem1_pa1_default>;
pm7325_modem1_pa0 {
reg = <PM7325_ADC7_GPIO3_100K_PU>;
label = "pm7325_modem1_pa0";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325_pa_4gtherm {
reg = <PM7325_ADC7_AMUX_THM5_100K_PU>;
label = "pm7325_pa_4gtherm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325b_modem1_pa1 {
reg = <PM7325B_ADC7_GPIO3_100K_PU>;
label = "pm7325b_modem1_pa1";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325b_conn_therm {
reg = <PM7325B_ADC7_AMUX_THM4_100K_PU>;
label = "pm7325b_conn_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325b_batt_therm {
reg = <PM7325B_ADC7_AMUX_THM1_100K_PU>;
label = "pm7325b_batt_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_GPIO3_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM5_100K_PU>;
pm7325_modem1_pa0 {
reg = <PM7325_ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325_pa_4gtherm {
reg = <PM7325_ADC7_AMUX_THM5_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&spmi_bus {
qcom,pmk8350@0 {
pm8350_adc_tm_iio: adc_tm_iio@3400 {
compatible = "qcom,adc-tm7-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmk8350_vadc PM7325B_ADC7_GPIO3_100K_PU>,
<&pmk8350_vadc PM7325B_ADC7_AMUX_THM4_100K_PU>,
<&pmk8350_vadc PM7325B_ADC7_AMUX_THM1_100K_PU>;
pm7325b_modem1_pa1 {
reg = <PM7325B_ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325b_conn_therm {
reg = <PM7325B_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325b_batt_therm {
reg = <PM7325B_ADC7_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
};
&thermal_zones {
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";
};
};
};
pa_4gtherm {
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_pa1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm8350_adc_tm_iio PM7325B_ADC7_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
conn_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm8350_adc_tm_iio PM7325B_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
batt_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm8350_adc_tm_iio PM7325B_ADC7_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&soc {
md_testing_mode {
compatible = "modem,md-testing-mode";
status-gpio = <&tlmm 129 0x00>,
<&tlmm 123 0x00>;
debounce-time = <30>;
pinctrl-names = "default";
pinctrl-0 = <&ant5_ctrl_irq &ant10_ctrl_irq>;
};
fingerprint_goodix {
compatible = "goodix,fingerprint";
l3c_vdd-supply = <&L3C>;
goodix,gpio-reset = <&tlmm 43 0x0>;
goodix,gpio-irq = <&tlmm 34 0x0>;
status = "ok";
};
xiaomi_fingerprint {
compatible = "xiaomi-fingerprint";
status = "ok";
fingerprint,name = "xiaomi-fingerprint";
};
};
&L3C {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
qcom,init-voltage = <3300000>;
};
&usb2_phy0 {
mi,factory-usb;
qcom,param-override-seq-fac =
<0xe7 0x6c /* override_x0 */
0x0e 0x70 /* override_x1 */
0x0b 0x74>; /* override x2 */
qcom,param-override-seq =
<0xe7 0x6c /* override_x0 */
0x0e 0x70 /* override_x1 */
0x0b 0x74>; /* override x2 */
};
&reserved_memory {
removed_mem: removed_region@c0000000 {
no-map;
reg = <0x0 0xc0000000 0x0 0x6800000>;
};
};
&soc {
qcom_qseecom: qseecom@c1800000 {
compatible = "qcom,qseecom";
reg = <0xc1800000 0x5000000>;
reg-names = "secapp-region";
memory-region = <&qseecom_mem>;
qcom,hlos-num-ce-hw-instances = <1>;
qcom,hlos-ce-hw-instance = <0>;
qcom,qsee-ce-hw-instance = <0>;
qcom,disk-encrypt-pipe-pair = <2>;
qcom,support-fde;
qcom,no-clock-support;
qcom,fde-key-size;
qcom,appsbl-qseecom-support;
qcom,commonlib64-loaded-by-uefi;
qcom,qsee-reentrancy-support = <2>;
};
};
&qupv3_se9_i2c {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
status = "ok";
aw8697_haptic@5A {
compatible = "awinic,awinic_haptic";
reg = <0x5a>;
reset-gpio = <&tlmm 35 0x00>;
irq-gpio = <&tlmm 18 0x00>;
pinctrl-names = "awinic_reset_reset","awinic_reset_active","awinic_interrupt_active";
pinctrl-0 = <&awinic_gpio_reset>;
pinctrl-1 = <&awinic_gpio_reset_output_high>;
pinctrl-2 = <&awinic_gpio_int>;
/*----------------------aw8697----------------------*/
aw8697_vib_mode = < 0 >; /*mode: RAM mode->0; CONT mode -> 1*/
aw8697_vib_f0_pre = < 1300 >;
aw8697_vib_f0_cali_percen = < 7 >;
aw8697_vib_cont_drv_lev = < 60 >;
aw8697_vib_cont_drv_lvl_ov = < 60 >;
aw8697_vib_cont_td = < 0xef >;
aw8697_vib_cont_zc_thr = < 0x08f8 >; /*hq 0x08F8 */
aw8697_vib_cont_num_brk = < 3 >;
aw8697_vib_f0_coeff = < 260 >; /*Don't modify it 2.604167*/
aw8697_vib_f0_trace_parameter = < 9 3 1 31 >;
aw8697_vib_bemf_config = < 0 0x08 0x03 0xf8 >;
aw8697_vib_sw_brake = < 0x2c >;
aw8697_vib_tset = < 0x1a >;
aw8697_vib_r_spare = < 0x68 >;
aw8697_vib_bstdbg = < 0x30 0xeb 0xd4 0 0 0 >;
aw8697_vib_trig_config = < 0 1 0 1 2
0 1 0 1 2
0 1 0 1 2 >;
aw8697_vib_bst_vol_default = < 0x0e >;
aw8697_vib_bst_vol_ram = < 0x0e >;
aw8697_vib_bst_vol_rtp = < 0x0e >;
/*----------------------aw8692x----------------------*/
aw86927_vib_mode = < 0 >; /* mode: RAM mode->0; CONT mode->1 */
aw86927_vib_f0_pre = < 1700 >;
aw86927_vib_f0_cali_percen = < 7 >;
aw86927_vib_cont_drv1_lvl = < 0x4F >;
aw86927_vib_cont_drv2_lvl = < 0x28 >;
aw86927_vib_cont_drv1_time = < 0x04 >;
aw86927_vib_cont_drv2_time = < 0x06 >;
aw86927_vib_cont_drv_width = < 0x6A >;
aw86927_vib_cont_wait_num = < 0x06 >;
aw86927_vib_cont_brk_time = < 0x08 >;
aw86927_vib_cont_track_margin = < 0x0C >;
aw86927_vib_brk_bst_md = < 0 >;
aw86927_vib_cont_tset = < 0x06 >;
aw86927_vib_cont_bemf_set = < 0x02 >;
aw86927_vib_cont_bst_brk_gain = < 0x05 >;
aw86927_vib_cont_brk_gain = < 0x08 >;
aw86927_vib_d2s_gain = < 0x04 >;
aw86927_vib_trig_config = < 0 0 0 1 0 2 0 0
0 0 0 1 0 2 0 0
0 0 0 1 0 2 0 0 >;
aw86927_vib_bst_vol_default = < 0x47 >;
aw86927_vib_bst_vol_ram = < 0x47 >;
aw86927_vib_bst_vol_rtp = < 0x47 >;
/*--------------------common--------------------*/
vib_effect_id_boundary = < 10 >;
vib_effect_max = < 197 >; /*vib_effect_max must bigger than vib_effect_id*/
vib_rtp_time = < 20 20 20 20 20 20 20 20 20000 15000
15000 20000 25000 15000 30000 25000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 20000 20000 20000 20000 20000
20000 20000 20000 20000 20000 >;
status = "ok";
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>;
};
};
};
&tlmm {
/* AW8697_RESET_N */
awinic_gpio_reset: awinic_gpio_reset {
mux {
pins = "gpio35";
unction = "gpio";
};
config {
pins = "gpio35";
drive-strength = <2>;
bias-disable;
output-low;
};
};
/* AW8697_RESET_N, state device active*/
awinic_gpio_reset_output_high: awinic_gpio_reset_output_high {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <2>;
bias-disable;
output-high;
};
};
/* AW8697_INTERRUPT_N */
awinic_gpio_int: awinic_gpio_int {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
drive-strength = <2>;
bias-pull-up;
input-enable;
};
};
};
&qupv3_se13_i2c {
status = "disabled";
};
&qupv3_se13_spi {
status = "ok";
qcom,rt;
pinctrl-1 = <&qupv3_se13_spi_sleep &qupv3_se13_spi_sleep_cs>;
xiaomi_m20_touch@0 {
compatible = "xiaomi,gt9916r-spi";
reg = <0>;
spi-max-frequency = <5000000>;
interrupt-parent = <&tlmm>;
interrupts = <81 0x2802>;
goodix,irq-gpio = <&tlmm 81 0x2802>;
goodix,reset-gpio = <&tlmm 105 0x00>;
goodix,irq-flags = <2>;
goodix,panel-max-x = <10800>;
goodix,panel-max-y = <24000>;
goodix,panel-max-w = <255>;
goodix,panel-max-p = <4096>;
goodix,firmware-name = "goodix_firmware_m20.bin";
goodix,config-name = "goodix_cfg_group_m20.bin";
goodix,iovdd-name = "vdd";
goodix,avdd-gpio = <&tlmm 107 0x00>;
vdd-supply = <&L2C>;
};
};
&tlmm {
qupv3_se13_spi_sleep: qupv3_se13_spi_sleep {
mux {
pins = "gpio52", "gpio53",
"gpio54";
function = "gpio";
};
config {
pins = "gpio52", "gpio53",
"gpio54";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se13_spi_sleep_cs: qupv3_se13_spi_sleep_cs {
mux {
pins = "gpio55";
function = "gpio";
};
config {
pins = "gpio55";
drive-strength = <6>;
bias-disable;
output-high;
};
};
};
/* change old nfc for not probe, add new configuration */
&qupv3_se9_i2c {
nq@28 {
compatible = "qcom,sn-nci-disable";
};
};
&qupv3_se4_i2c {
status = "ok";
qcom,clk-freq-out = <1000000>;
#address-cells = <1>;
#size-cells = <0>;
nq@28 {
compatible = "qcom,sn-nci";
reg = <0x28>;
qcom,sn-irq = <&tlmm 41 0x00>;
qcom,sn-ven = <&tlmm 38 0x00>;
qcom,sn-firm = <&tlmm 40 0x00>;
qcom,sn-clkreq = <&tlmm 39 0x00>;
qcom,sn-vdd-1p8-supply = <&L18B>;
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
qcom,sn-vdd-1p8-current = <157000>;
interrupt-parent = <&tlmm>;
interrupts = <41 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active", "nfc_suspend";
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
};
};