From 32ecf311e25d4ed421ca1a2d57a45e0d261b857f Mon Sep 17 00:00:00 2001 From: Arian Date: Sat, 29 Jan 2022 15:52:18 +0100 Subject: [PATCH] arm64: dts: Import mars device tree Change-Id: I8d4b60a8a7c642627badb567b854325f18e162ab --- arch/arm64/boot/dts/vendor/qcom/Makefile | 2 + .../camera/mars-sm8350-camera-sensor.dtsi | 779 ++++++++++++++++++ .../dts/vendor/qcom/mars-audio-overlay.dtsi | 130 +++ .../boot/dts/vendor/qcom/mars-pinctrl.dtsi | 116 +++ .../dts/vendor/qcom/mars-sm8350-overlay.dts | 11 + .../boot/dts/vendor/qcom/mars-sm8350.dtsi | 701 ++++++++++++++++ 6 files changed, 1739 insertions(+) create mode 100755 arch/arm64/boot/dts/vendor/qcom/camera/mars-sm8350-camera-sensor.dtsi create mode 100644 arch/arm64/boot/dts/vendor/qcom/mars-audio-overlay.dtsi create mode 100644 arch/arm64/boot/dts/vendor/qcom/mars-pinctrl.dtsi create mode 100644 arch/arm64/boot/dts/vendor/qcom/mars-sm8350-overlay.dts create mode 100644 arch/arm64/boot/dts/vendor/qcom/mars-sm8350.dtsi diff --git a/arch/arm64/boot/dts/vendor/qcom/Makefile b/arch/arm64/boot/dts/vendor/qcom/Makefile index 52491c338aec9..316bcf0393526 100644 --- a/arch/arm64/boot/dts/vendor/qcom/Makefile +++ b/arch/arm64/boot/dts/vendor/qcom/Makefile @@ -6,6 +6,7 @@ dtbo-$(CONFIG_ARCH_LAHAINA) += lahaina-rumi-overlay.dtbo \ star-sm8350-overlay.dtbo \ venus-sm8350-overlay.dtbo \ haydn-sm8350-overlay.dtbo \ + mars-sm8350-overlay.dtbo \ lahaina-mtp-hsp-overlay.dtbo \ lahaina-cdp-overlay.dtbo \ lahaina-qrd-overlay.dtbo \ @@ -32,6 +33,7 @@ cetus-sm8350-overlay.dtbo-base := lahaina.dtb star-sm8350-overlay.dtbo-base := lahaina.dtb venus-sm8350-overlay.dtbo-base := lahaina.dtb haydn-sm8350-overlay.dtbo-base := lahaina.dtb +mars-sm8350-overlay.dtbo-base := lahaina.dtb lahaina-mtp-overlay.dtbo-base := lahaina.dtb lahaina-v2.dtb lahaina-v2.1.dtb lahaina-cdp-overlay.dtbo-base := lahaina.dtb lahaina-v2.dtb lahaina-v2.1.dtb lahaina-atp-overlay.dtbo-base := lahaina.dtb lahaina-v2.dtb lahaina-v2.1.dtb diff --git a/arch/arm64/boot/dts/vendor/qcom/camera/mars-sm8350-camera-sensor.dtsi b/arch/arm64/boot/dts/vendor/qcom/camera/mars-sm8350-camera-sensor.dtsi new file mode 100755 index 0000000000000..4234ec006a88f --- /dev/null +++ b/arch/arm64/boot/dts/vendor/qcom/camera/mars-sm8350-camera-sensor.dtsi @@ -0,0 +1,779 @@ +#include + +&pm8350c_l9 { + regulator-min-microvolt = <2856000>; +}; + +&pm8008i_l6 { + regulator-max-microvolt = <3104000>; +}; + +&pm8008i_l7 { + regulator-max-microvolt = <3104000>; +}; + +&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"; +}; + +&L1I { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,min-dropout-voltage = <24000>; +}; + +&L2I { +// regulator-min-microvolt = <944000>; + regulator-max-microvolt = <1200000>; +}; + +&L3I { + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; +}; + +&cci0_active { + config { + pins = "gpio107","gpio108"; + bias-pull-up; /* PULL UP*/ + drive-strength = <4>; /* 4 MA */ + }; +}; + +&cci1_active { + config { + pins = "gpio109","gpio110"; + bias-pull-up; /* PULL UP*/ + drive-strength = <4>; /* 4 MA */ + }; +}; + +&cci2_active { + config { + pins = "gpio111","gpio112"; + bias-pull-up; /* PULL UP*/ + drive-strength = <4>; /* 4 MA */ + }; +}; + +&cci3_active { + config { + pins = "gpio113","gpio114"; + bias-pull-up; /* PULL UP*/ + drive-strength = <4>; /* 4 MA */ + }; +}; + +&pm8350c_switch0 { + qcom,led-mask = <1>; /* Channels 1*/ +}; + +&pm8350c_switch1 { + qcom,led-mask = <2>; /* Channels 2*/ +}; + +&pm8350c_switch2 { + qcom,led-mask = <3>; /* Channels 1&2*/ +}; + +&soc { + led_flash_wide: qcom,camera-flash@0 { + cell-index = <0>; + compatible = "qcom,camera-flash"; + flash-source = <&pm8350c_flash0 &pm8350c_flash1>; + torch-source = <&pm8350c_torch0 &pm8350c_torch1>; + switch-source = <&pm8350c_switch2>; + status = "ok"; + }; + + led_flash_ultra: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + flash-source = <&pm8350c_flash0 &pm8350c_flash1>; + torch-source = <&pm8350c_torch0 &pm8350c_torch1>; + switch-source = <&pm8350c_switch2>; + status = "ok"; + }; + + led_flash_tele5x: qcom,camera-flash@3 { + cell-index = <3>; + compatible = "qcom,camera-flash"; + flash-source = <&pm8350c_flash0 &pm8350c_flash1>; + torch-source = <&pm8350c_torch0 &pm8350c_torch1>; + switch-source = <&pm8350c_switch2>; + status = "ok"; + }; + + camera_wide_vana_ldo: gpio-regulator@0 { + compatible = "regulator-fixed"; + reg = <0x00 0x00>; + regulator-name = "camera_wide_vana_ldo"; + regulator-min-microvolt = <2200000>; + regulator-max-microvolt = <2200000>; + regulator-enable-ramp-delay = <135>; + enable-active-high; + gpio = <&tlmm 12 0>; + }; + + camera_wide_dvdd_ldo: gpio-regulator@1 { + compatible = "regulator-fixed"; + reg = <0x01 0x00>; + regulator-name = "camera_wide_dvdd_ldo"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-enable-ramp-delay = <135>; + enable-active-high; + gpio = <&tlmm 175 0>; + vin-supply = <&L7C>; + }; + + camera_front_dvdd_ldo: gpio-regulator@2 { + compatible = "regulator-fixed"; + reg = <0x02 0x00>; + regulator-name = "camera_front_dvdd_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <135>; + enable-active-high; + gpio = <&tlmm 93 0>; + vin-supply = <&L7C>; + }; + + camera_front_vana_ldo: gpio-regulator@3 { + compatible = "regulator-fixed"; + reg = <0x03 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 93 0>; + }; + + qcom,cam-res-mgr { + compatible = "qcom,cam-res-mgr"; + gpios-shared-pinctrl = <320 324 409 483>; + shared-pctrl-gpio-names = "cam_res_mgr", "cam_res_mgr", "cam_res_mgr", "cam_res_mgr"; + pinctrl-names = "cam_res_mgr_active", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_sensor_active_wide + &cam_wide_active_mclk>; + pinctrl-1 = <&cam_sensor_suspend_wide + &cam_wide_suspend_mclk>; + status = "ok"; + }; +}; + +&cam_cci0 { + eeprom_wide: qcom,eeprom0 { + cell-index = <0>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&L5I>; + cam_vaf-supply = <&L7I>; + cam_v_custom1-supply = <&L6I>; + cam_vdig-supply = <&camera_wide_dvdd_ldo>; + cam_vana-supply = <&camera_wide_vana_ldo>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_bob>; + regulator-names = "cam_vio", "cam_vdig", "cam_vana", "cam_vaf","cam_v_custom1", + "cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 1100000 2200000 3104000 3104000 0 3200000>; + rgltr-max-voltage = <1800000 1100000 2200000 3104000 3104000 0 3960000>; + rgltr-load-current = <10000 140000 220000 280000 10000 0 2000000>; + use-shared-clk; + gpio-no-mux = <0>; + gpios = <&tlmm 101 0>, + <&tlmm 16 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 = <&clock_camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + + actuator_wide: qcom,actuator0 { + cell-index = <0>; + compatible = "qcom,actuator"; + cci-master = <1>; + cam_vaf-supply = <&L6I>; + cam_vio-supply = <&L5I>; + regulator-names = "cam_vio", "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 3104000>; + rgltr-max-voltage = <1800000 3104000>; + rgltr-load-current = <10000 100000>; + status = "ok"; + }; + + ois_wide: qcom,ois0 { + cell-index = <0>; + reg = <0x0>; + compatible = "qcom,ois"; + cam_vio-supply = <&L5I>; + cam_vaf-supply = <&L7I>; + cam_v_custom1-supply = <&L6I>; + cam_vdig-supply = <&camera_wide_dvdd_ldo>; + cam_vana-supply = <&camera_wide_vana_ldo>; + cam_bob-supply = <&pm8350c_bob>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vdig", "cam_vana", "cam_vaf","cam_v_custom1", + "cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 1100000 2200000 3104000 3104000 0 3200000>; + rgltr-max-voltage = <1800000 1100000 2200000 3104000 3104000 0 3960000>; + rgltr-load-current = <10000 140000 220000 280000 10000 0 2000000>; + use-shared-clk; + gpio-no-mux = <0>; + gpios = <&tlmm 101 0>, + <&tlmm 16 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 = <&clock_camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + + // wide OV48C 48M AVDD 2.8V + // wide GN2 50M AVDD 2.2V, May change to 2.4 after + 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>; + ois-src = <&ois_wide>; + cam_vio-supply = <&L5I>; + cam_vaf-supply = <&L7I>; + cam_v_custom1-supply = <&L6I>; + cam_vdig-supply = <&camera_wide_dvdd_ldo>; + cam_vana-supply = <&camera_wide_vana_ldo>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_bob>; + regulator-names = "cam_vio", "cam_vdig", "cam_vana", "cam_vaf","cam_v_custom1", + "cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 1100000 2200000 3104000 3104000 0 3200000>; + rgltr-max-voltage = <1800000 1100000 2200000 3104000 3104000 0 3960000>; + rgltr-load-current = <10000 140000 220000 280000 10000 0 2000000>; + use-shared-clk; + gpio-no-mux = <0>; + gpios = <&tlmm 101 0>, + <&tlmm 16 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 = <&clock_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_dvdd_ldo>; + cam_vana-supply = <&camera_front_vana_ldo>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_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 105 0>, + <&tlmm 17 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK5", + "CAM_RESET5"; + cci-master = <0>; + clocks = <&clock_camcc CAM_CC_MCLK5_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + + // Front 20M + qcom,cam-sensor1 { + cell-index = <1>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <5>; + 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_dvdd_ldo>; + cam_vana-supply = <&camera_front_vana_ldo>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_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 105 0>, + <&tlmm 17 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK5", + "CAM_RESET5"; + cci-master = <0>; + clocks = <&clock_camcc CAM_CC_MCLK5_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + +}; + +&cam_cci1 { + eeprom_ultra: 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 = <&pm8350c_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 102 0>, + <&tlmm 117 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 = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + + // Ultra 13M + 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_ultra>; + led-flash-src = <&led_flash_ultra>; + cam_vio-supply = <&L5I>; + cam_vdig-supply = <&L2I>; + cam_vana-supply = <&L4I>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_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 102 0>, + <&tlmm 117 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 = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + + ois_tele5x: qcom,ois1 { + cell-index = <1>; + reg = <0x1>; + compatible = "qcom,ois"; + cam_vio-supply = <&L5I>; + cam_vaf-supply = <&L9C>; + regulator-names = "cam_vio", "cam_vaf"; + rgltr-min-voltage = <1800000 2856000>; + rgltr-max-voltage = <1800000 2856000>; + rgltr-load-current = <10000 300000>; + rgltr-cntrl-support; + cci-master = <1>; + status = "ok"; + }; + + actuator_tele5x: qcom,actuator3 { + cell-index = <3>; + compatible = "qcom,actuator"; + cci-master = <1>; + cam_vaf-supply = <&L9C>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2856000>; + rgltr-max-voltage = <2856000>; + rgltr-load-current = <300000>; + status = "ok"; + }; + + eeprom_tele5x: qcom,eeprom3 { + cell-index = <3>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&L5I>; + cam_vdig-supply = <&L1I>; + cam_vana-supply = <&L3I>; + cam_vaf-supply = <&L9C>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_bob>; + regulator-names = "cam_vio", "cam_vdig", "cam_vana","cam_vaf","cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 1200000 2800000 2856000 0 3200000>; + rgltr-max-voltage = <1800000 1200000 2800000 2856000 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_tele5x + &cam_tele5x_mclk_active>; + pinctrl-1 = <&cam_sensor_suspend_tele5x + &cam_tele5x_mclk_suspend>; + gpios = <&tlmm 100 0>, + <&tlmm 106 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET3"; + cci-master = <1>; + clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; + + // Folded 8M + qcom,cam-sensor3 { + cell-index = <3>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_tele5x>; + led-flash-src = <&led_flash_tele5x>; + actuator-src = <&actuator_tele5x>; + ois-src = <&ois_tele5x>; + cam_vio-supply = <&L5I>; + cam_vdig-supply = <&L1I>; + cam_vana-supply = <&L3I>; + cam_vaf-supply = <&L9C>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_bob>; + regulator-names = "cam_vio", "cam_vdig", "cam_vana","cam_vaf", "cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 1200000 2800000 2856000 0 3200000>; + rgltr-max-voltage = <1800000 1200000 2800000 2856000 0 3960000>; + rgltr-load-current = <10000 140000 280000 296000 0 2000000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_active_tele5x + &cam_tele5x_mclk_active>; + pinctrl-1 = <&cam_sensor_suspend_tele5x + &cam_tele5x_mclk_suspend>; + gpios = <&tlmm 100 0>, + <&tlmm 106 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET3"; + cci-master = <1>; + clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <19200000>; + status = "ok"; + }; +}; + +&tlmm { + cam_wide_active_mclk: cam_wide_active_mclk { + mux { + pins = "gpio101"; + function = "cam_mclk"; + }; + + config { + pins = "gpio101"; + bias-disable; /* No PULL */ + drive-strength = <4>; /* 4 MA */ + }; + }; + + cam_wide_suspend_mclk: cam_wide_suspend_mclk { + mux { + pins = "gpio101"; + function = "cam_mclk"; + }; + + config { + pins = "gpio101"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <4>; /* 4 MA */ + }; + }; + + cam_sensor_active_wide: cam_sensor_active_wide { + mux { + pins = "gpio12", "gpio175", "gpio16"; + function = "gpio"; + }; + + config { + pins = "gpio12", "gpio175", "gpio16"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_sensor_suspend_wide: cam_sensor_suspend_wide { + mux { + pins = "gpio12", "gpio175", "gpio16"; + function = "gpio"; + }; + + config { + pins = "gpio12", "gpio175", "gpio16"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + cam_front_mclk_active: cam_front_mclk_active { + mux { + pins = "gpio105"; + function = "cam_mclk"; + }; + + config { + pins = "gpio105"; + bias-disable; /* No PULL */ + drive-strength = <4>; /* 4 MA */ + }; + }; + + cam_front_mclk_suspend: cam_front_mclk_suspend { + mux { + pins = "gpio105"; + function = "cam_mclk"; + }; + + config { + pins = "gpio105"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <4>; /* 4 MA */ + }; + }; + + cam_sensor_active_front: cam_sensor_active_front { + /*AVDD RESET */ + mux { + pins = "gpio93", "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio93", "gpio17"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_sensor_suspend_front: cam_sensor_suspend_front { + mux { + pins = "gpio93", "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio93", "gpio17"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + cam_ultra_mclk_active: cam_ultra_mclk_active { + mux { + pins = "gpio102"; + function = "cam_mclk"; + }; + + config { + pins = "gpio102"; + bias-disable; /* No PULL */ + drive-strength = <4>; /* 4 MA */ + }; + }; + + cam_ultra_mclk_suspend: cam_ultra_mclk_suspend { + mux { + pins = "gpio102"; + function = "cam_mclk"; + }; + + config { + pins = "gpio102"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <4>; /* 4 MA */ + }; + }; + + cam_sensor_active_ultra: cam_sensor_active_ultra { + /*RESET */ + mux { + pins = "gpio117"; + function = "gpio"; + }; + + config { + pins = "gpio117"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_sensor_suspend_ultra: cam_sensor_suspend_ultra { + mux { + pins = "gpio117"; + function = "gpio"; + }; + + config { + pins = "gpio117"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + cam_tele5x_mclk_active: cam_tele5x_mclk_active { + mux { + pins = "gpio100"; + function = "cam_mclk"; + }; + + config { + pins = "gpio100"; + bias-disable; /* No PULL */ + drive-strength = <4>; /* 2 MA */ + }; + }; + + cam_tele5x_mclk_suspend: cam_tele5x_mclk_suspend { + mux { + pins = "gpio100"; + function = "cam_mclk"; + }; + + config { + pins = "gpio100"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <4>; /* 2 MA */ + }; + }; + + cam_sensor_active_tele5x: cam_sensor_active_tele5x { + /*RESET */ + mux { + pins = "gpio106"; + function = "gpio"; + }; + + config { + pins = "gpio106"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_sensor_suspend_tele5x: cam_sensor_suspend_tele5x { + mux { + pins = "gpio106"; + function = "gpio"; + }; + + config { + pins = "gpio106"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; +}; diff --git a/arch/arm64/boot/dts/vendor/qcom/mars-audio-overlay.dtsi b/arch/arm64/boot/dts/vendor/qcom/mars-audio-overlay.dtsi new file mode 100644 index 0000000000000..a34203c0857da --- /dev/null +++ b/arch/arm64/boot/dts/vendor/qcom/mars-audio-overlay.dtsi @@ -0,0 +1,130 @@ +#include "lahaina-audio-overlay.dtsi" + +&q6core { + tert_tdm_gpios: tert_tdm_pinctl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&tert_tdm_clk_active &tert_tdm_ws_active + &tert_tdm_din_active &tert_tdm_dout_active>; + pinctrl-1 = <&tert_tdm_clk_sleep &tert_tdm_ws_sleep + &tert_tdm_din_sleep &tert_tdm_dout_sleep>; + qcom,lpi-gpios; + #gpio-cells = <0>; + }; +}; + +&lahaina_snd { + qcom,model = "lahaina-mtp-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 = <0>; + qcom,msm-mbhc-gnd-swh = <0>; + qcom,msm-is-mars = <1>; + qcom,wsa-max-devs = <0>; + qcom,swr-dmic-max-devs = <0>; + qcom,msm-mbhc-usbc-audio-supported = <1>; + qcom,uart-audio-sw-gpio = <&sbu_uart_en>; + qcom,tert-mi2s-gpios = <&tert_tdm_gpios>; + qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>, + <&bolero>, <&cs35l41_1>, <&cs35l41_2>; +}; + +&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"; +}; + +&swr_dmic_01 { + status = "disabled"; +}; + +&swr_dmic_02 { + status = "disabled"; +}; + +&swr_dmic_03 { + status = "disabled"; +}; + +&swr_dmic_04 { + status = "disabled"; +}; + +&swr_haptics { + status = "disabled"; +}; + +&soc { + sbu_uart_en: msm_cdc_pinctrl@6 { + 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>; + }; +}; + +&wcd938x_codec { + qcom,cdc-micbias1-mv = <2750>; + qcom,cdc-micbias2-mv = <2750>; + qcom,cdc-micbias3-mv = <2750>; + qcom,cdc-micbias4-mv = <2750>; +}; + diff --git a/arch/arm64/boot/dts/vendor/qcom/mars-pinctrl.dtsi b/arch/arm64/boot/dts/vendor/qcom/mars-pinctrl.dtsi new file mode 100644 index 0000000000000..79d9c2ca16266 --- /dev/null +++ b/arch/arm64/boot/dts/vendor/qcom/mars-pinctrl.dtsi @@ -0,0 +1,116 @@ +/*for mars pinctrl */ +&tlmm { + sbu_uart_en_ctrl { + sbu_uart_en_idle: uart_audio_en_idle { + mux { + pins = "gpio6"; + function = "gpio"; + }; + config { + pins = "gpio6"; + drive-strength = <2>; + bias-pull-down; + output-low; + }; + }; + + sbu_uart_en_active: uart_audio_en_active { + mux { + pins = "gpio6"; + function = "gpio"; + }; + config { + pins = "gpio6"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + }; + + nfc { + nfc_enable_active: nfc_enable_active { + mux { + pins = "gpio62"; + function = "gpio"; + }; + + config { + pins = "gpio62"; + drive-strength = <2>; /* 2 MA */ + bias-pull-up; + }; + }; + + nfc_enable_suspend: nfc_enable_suspend { + mux { + pins = "gpio62"; + function = "gpio"; + }; + + config { + pins = "gpio62"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_fwdl_active: nfc_fwdl_active { + mux { + /* 86: Firmware */ + pins = "gpio86"; + function = "gpio"; + }; + + config { + pins = "gpio86"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_fwdl_suspend: nfc_fwdl_suspend { + mux { + /*86: Firmware */ + pins = "gpio86"; + function = "gpio"; + }; + + config { + pins = "gpio86"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_clk_req_active: nfc_clk_req_active { + /* active state */ + mux { + /* GPIO 63: NFC CLOCK REQUEST */ + pins = "gpio63"; + function = "gpio"; + }; + + config { + pins = "gpio63"; + drive-strength = <2>; /* 2 MA */ + bias-pull-up; + }; + }; + + nfc_clk_req_suspend: nfc_clk_req_suspend { + /* sleep state */ + mux { + /* GPIO 63: NFC CLOCK REQUEST */ + pins = "gpio63"; + function = "gpio"; + }; + + config { + pins = "gpio63"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/vendor/qcom/mars-sm8350-overlay.dts b/arch/arm64/boot/dts/vendor/qcom/mars-sm8350-overlay.dts new file mode 100644 index 0000000000000..6dae9af9fb4df --- /dev/null +++ b/arch/arm64/boot/dts/vendor/qcom/mars-sm8350-overlay.dts @@ -0,0 +1,11 @@ +/dts-v1/; +/plugin/; + +#include "mars-sm8350.dtsi" + +/ { + model = "Mars based on Qualcomm Technologies, Inc SM8350"; + compatible = "qcom,lahaina-mtp", "qcom,lahaina", "qcom,mtp"; + qcom,board-id = <0x10008 0>; + xiaomi,board-id = <0x5 0>; +}; diff --git a/arch/arm64/boot/dts/vendor/qcom/mars-sm8350.dtsi b/arch/arm64/boot/dts/vendor/qcom/mars-sm8350.dtsi new file mode 100644 index 0000000000000..ae93655e46aba --- /dev/null +++ b/arch/arm64/boot/dts/vendor/qcom/mars-sm8350.dtsi @@ -0,0 +1,701 @@ +/* +this file is for attribution only of mars +And public attribution of xiaomi platforms(like venus and so and) +*/ + +#include "mars-pinctrl.dtsi" +#include "xiaomi-sm8350-common.dtsi" +#include "mars-audio-overlay.dtsi" +#include "camera/mars-sm8350-camera-sensor.dtsi" + +&soc { + gpio_keys { + hall_key { + label = "hall_key"; + gpios = <&tlmm 80 GPIO_ACTIVE_LOW>; + linux,input-type = <5>; + linux,code = <0>; + gpio-key,wakeup; + debounce-interval = <15>; + }; + }; + xiaomi_touch { + compatible = "xiaomi-touch"; + status = "ok"; + touch,name = "xiaomi-touch"; + }; + + fingerprint_goodix { + compatible = "goodix,fingerprint"; + l11c_vdd-supply = <&L11C>; + goodix,gpio-reset = <&tlmm 39 0x0>; + goodix,gpio-irq = <&tlmm 38 0x0>; + fp-gpio-pwr = <&tlmm 13 0x0>; + status = "ok"; + }; + + display_prim_vddi: display_prim_vddi { + compatible = "regulator-fixed"; + regulator-name = "display_prim_vddi"; + enable-active-high; + regulator-boot-on; + gpio = <&tlmm 13 0>; + }; + + display_prim_vddd: display_prim_vddd { + compatible = "regulator-fixed"; + regulator-name = "display_prim_vddd"; + enable-active-high; + regulator-boot-on; + gpio = <&tlmm 74 0>; + }; + +}; + +&L3C { + regulator-min-microvolt = <3008000>; + regulator-max-microvolt = <3300000>; + qcom,init-voltage = <3300000>; +}; + +&qupv3_se11_spi { + status = "ok"; + fts@0 { + status = "ok"; + compatible = "st,spi"; + reg = <0x0>; + interrupt-parent = <&tlmm>; + interrupts = <23 0x2008>; + pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; + pinctrl-0 = <&mi_ts_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + avdd-supply = <&touch_avddsource_vreg>; + vdd-supply = <&L2C>; + fts,pwr-reg-name = "avdd"; + fts,bus-reg-name = "vdd"; + fts,irq-gpio = <&tlmm 23 0x2008>; + fts,irq-gpio-name = "fts_irq"; + fts,reset-gpio-enable; + fts,reset-gpio = <&tlmm 22 0x00>; + fts,reset-gpio-name = "fts_rst"; + fts,irq-flags = <0x2008>; + fts,x-max = <1440>; + fts,y-max = <3200>; + fts,fod-lx = <588>; + fts,fod-ly = <2358>; + fts,fod-x-size = <264>; + fts,fod-y-size = <264>; + fts,support-fod; + spi-max-frequency = <7000000>; + fts,default-fw-name = "st_fts_k2.ftb"; + fts,htp-fw-name = "st_fts_k2_htp.ftb"; + fts,config-array-size = <1>; + fts,touch-follow-performance-def = <3>; + fts,touch-tap-sensitivity-def = <4>; + fts,touch-aim-sensitivity-def = <3>; + fts,touch-tap-stability-def = <3>; + fts,cornerfilter-area-step1 = <150>; + fts,cornerfilter-area-step2 = <280>; + fts,cornerfilter-area-step3 = <400>; + fts,touch-deadzone-filter-ver = <2 0 0 0 0 0 0 0 + 2 1 0 0 0 0 0 0 + 2 2 0 0 0 3199 0 0 + 2 3 1439 0 1439 3199 0 0>; + fts,touch-deadzone-filter-hor = <2 0 0 0 1439 7 0 0 + 2 1 0 3192 1439 3199 0 0 + 2 2 0 0 0 3199 0 0 + 2 3 1439 0 1439 3199 0 0>; + fts,touch-edgezone-filter-ver = <1 0 0 0 0 0 0 0 + 1 1 0 0 0 0 0 0 + 1 2 0 0 60 3199 0 0 + 1 3 1379 0 1439 3199 0 0>; + fts,touch-edgezone-filter-hor = <1 0 0 0 1439 70 0 0 + 1 1 0 3129 1439 3199 0 0 + 1 2 0 0 60 3199 0 0 + 1 3 1379 0 1439 3199 0 0>; + fts,touch-cornerzone-filter-ver = <0 0 0 0 0 0 0 0 + 0 1 0 0 0 0 0 0 + 0 2 0 2799 250 3199 0 0 + 0 3 1189 2799 1439 3199 0 0>; + fts,touch-cornerzone-filter-hor1 = <0 0 0 0 280 280 0 0 + 0 1 0 0 0 0 0 0 + 0 2 0 2919 280 3199 0 0 + 0 3 0 0 0 0 0 0>; + fts,touch-cornerzone-filter-hor2 = <0 0 0 0 0 0 0 0 + 0 1 1159 0 1439 280 0 0 + 0 2 0 0 0 0 0 0 + 0 3 1159 2919 1439 3199 0 0>; + fts,touch-follow-performance = <10 15 1 + 8 15 1 + 6 15 1 + 4 15 1 + 2 15 1>; + fts,touch-tap-sensitivity = <160 150 140 120 100>; + fts,touch-aim-sensitivity = <10 8 6 4 2>; + fts,touch-tap-stability = <8 12 15 18 25>; + fts,touch-expert-array = <6 15 1 120 6 15 + 2 15 1 120 4 15 + 4 15 1 120 2 15>; + fts,cfg_0 { + fts,tp-vendor = <0x38>; + fts,fw-name = "st_fts_k2.ftb"; + fts,limit-name = "stm_fts_production_limits.csv"; + }; + }; +}; + + +&qupv3_se8_i2c { + status = "ok"; + cs35l41_1: cs35l41@40 { + status = "ok"; + compatible = "cirrus,cs35l41"; + reset-gpios = <&tlmm 15 0>; + reg = <0x40>; + interrupt-parent = <&tlmm>; + interrupts = <44 8>; + cirrus,temp-warn_threshold = <3>; + cirrus,boost-peak-milliamp = <4000>; + cirrus,boost-ind-nanohenry = <1000>; + cirrus,boost-cap-microfarad = <15>; + cirrus,asp-sdout-hiz = <3>; + cirrus,is-mars-pa = <1>; + sound-name-prefix = "RCV"; + cirrus,gpio-config2 { + cirrus,gpio-src-select = <0x4>; + cirrus,gpio-output-enable; + }; + }; + cs35l41_2: cs35l41@42 { + compatible = "cirrus,cs35l41"; + reset-gpios = <&tlmm 15 0>; + reg = <0x42>; + interrupt-parent = <&tlmm>; + interrupts = <116 8>; + cirrus,temp-warn_threshold = <3>; + cirrus,boost-peak-milliamp = <4000>; + cirrus,boost-ind-nanohenry = <1000>; + cirrus,boost-cap-microfarad = <15>; + cirrus,asp-sdout-hiz = <3>; + cirrus,is-mars-pa = <1>; + cirrus,right-channel-amp; + cirrus,gpio-config2 { + cirrus,gpio-src-select = <0x4>; + cirrus,gpio-output-enable; + }; + }; +}; + +&qupv3_se6_i2c { + status = "ok"; + aw8697_haptic@5A { + compatible = "awinic,aw8697_haptic"; + reg = <0x5a>; + reset-gpio = <&tlmm 155 0>; + irq-gpio = <&tlmm 119 0>; + vib_mode = < 0 >; /*mode: RAM mode->0; CONT mode -> 1*/ + vib_f0_pre = < 1700 >; + vib_f0_cali_percen = < 7 >; + vib_cont_drv_lev = < 73 >; + vib_cont_drv_lvl_ov = < 73 >; + vib_cont_td = < 0xf06c >; + vib_cont_zc_thr = < 0x08f8 >; /*hq 0x08F8 */ + vib_cont_num_brk = < 3 >; + vib_f0_coeff = < 260 >; /*Don't modify it 2.604167*/ + vib_f0_trace_parameter = < 9 3 1 31 >; + vib_bemf_config = < 0 0x08 0x03 0xf8 >; + vib_sw_brake = < 0x2c >; + vib_tset = < 0x12 >; + vib_r_spare = < 0x68 >; + vib_bstdbg = < 0x30 0xeb 0xd4 0 0 0 >; + vib_effect_id_boundary = < 10 >; + vib_effect_max = < 170 >; + vib_trig_config = < 0 1 0 1 2 + 0 1 0 1 2 + 0 1 0 1 2 >; + vib_bst_vol_default = < 0x10 >; + vib_bst_vol_ram = < 0x10 >; + vib_bst_vol_rtp = < 0x10 >; + 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 >; + pinctrl-names = "aw8697_reset_reset","aw8697_reset_active","aw8697_interrupt_active"; + pinctrl-0 = <&aw8697_gpio_reset>; + pinctrl-1 = <&aw8697_gpio_reset_output_high>; + pinctrl-2 = <&aw8697_gpio_int>; + 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 */ + aw8697_gpio_reset: aw8697_gpio_reset { + mux { + pins = "gpio155"; + unction = "gpio"; + }; + + config { + pins = "gpio155"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + /* AW8697_RESET_N, state device active*/ + aw8697_gpio_reset_output_high: aw8697_gpio_reset_output_high { + mux { + pins = "gpio155"; + function = "gpio"; + }; + + config { + pins = "gpio155"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + /* AW8697_INTERRUPT_N */ + aw8697_gpio_int: aw8697_gpio_int { + mux { + pins = "gpio119"; + function = "gpio"; + }; + + config { + pins = "gpio119"; + drive-strength = <2>; + bias-pull-up; + input-enable; + }; + }; +}; + +&dsi_prim_sim_vid { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_k2>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 24 0>; +}; + +&dsi_panel_pwr_supply_k2 { + qcom,panel-supply-entry@2 { + reg = <0>; + qcom,supply-name = "avdd"; + qcom,supply-min-voltage = <1800000>; + qcom,supply-max-voltage = <1800000>; + qcom,supply-enable-load = <60700>; + qcom,supply-disable-load = <80>; + }; + + qcom,panel-supply-entry@3 { + reg = <0>; + qcom,supply-name = "vddd"; + qcom,supply-min-voltage = <1800000>; + qcom,supply-max-voltage = <1800000>; + qcom,supply-enable-load = <60700>; + qcom,supply-disable-load = <80>; + }; +}; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_prim_sim_vid>; + vddio-supply = <&display_prim_vddi>; + avdd-supply = <&L12C>; + vddd-supply = <&display_prim_vddd>; +}; + +&sde_dp { + status = "disabled"; +}; + +&qcom_msmhdcp { + status = "disabled"; +}; + +&sde_dsi1 { + status = "disabled"; +}; + +&mdss_mdp { + connectors = <&smmu_sde_unsec &smmu_sde_sec &sde_wb &sde_dsi + &sde_rscc>; +}; + +&pm8350b_gpios { + pm8350b_wl_chg_therm { + pm8350b_wl_chg_therm_default: pm8350b_wl_chg_therm_default { + pins = "gpio1"; + bias-high-impedance; + }; + }; + + pm8350b_usb_conn_therm { + pm8350b_usb_conn_therm_default: pm8350b_usb_conn_therm_default { + pins = "gpio2"; + bias-high-impedance; + }; + }; +}; + +&usb2_phy0 { + mi,factory-usb; + qcom,param-override-seq-fac = + <0xa5 0x6c /* override_x0 */ + 0x0e 0x70 /* override_x1 */ + 0x04 0x74>; /* override x2 */ + qcom,param-override-seq = + <0x27 0x6c /* override_x0 */ + 0x0b 0x70 /* override_x1 */ + 0x08 0x74>; /* override x2 */ +}; + +&battery_charger { + mi,support-wireless; +}; + +&pmk8350_vadc { + pinctrl-names = "default"; + pinctrl-0 = <&pm8350b_wl_chg_therm_default>; + pinctrl-1 = <&pm8350b_usb_conn_therm_default>; + + pm8350_msm_therm { + reg = ; + label = "pm8350_msm_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350_cam_flash_therm { + reg = ; + label = "pm8350_cam_flash_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350_hot_pocket_therm { + reg = ; + label = "pm8350_hot_pocket_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350_wide_rfc_therm { + reg = ; + label = "pm8350_wide_rfc_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350b_rear_tof_therm { + reg = ; + label = "pm8350b_rear_tof_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350b_usb_conn_therm { + reg = ; + label = "pm8350b_usb_conn_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350b_wl_chg_therm { + reg = ; + label = "pm8350b_wl_chg_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pmk8350_adc_tm { + io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM1_100K_PU>, + <&pmk8350_vadc PM8350_ADC7_AMUX_THM2_100K_PU>, + <&pmk8350_vadc PM8350B_ADC7_AMUX_THM1_100K_PU>, + <&pmk8350_vadc PM8350_ADC7_AMUX_THM4_100K_PU>, + <&pmk8350_vadc PMR735A_ADC7_GPIO1_100K_PU>, + <&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>, + <&pmk8350_vadc PM8350B_ADC7_GPIO1_100K_PU>, + <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; + + pm8350_msm_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350_cam_flash_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350_hot_pocket_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350_wide_rfc_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350b_rear_tof_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350b_usb_conn_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350b_wl_chg_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pmk8350_wl_chg_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&thermal_zones { + laser_therm0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350_ADC7_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + flash_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350_ADC7_AMUX_THM2_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + charger_therm0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + quiet_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350_ADC7_AMUX_THM4_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + pa_therm0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PMR735A_ADC7_GPIO1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + wireless_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_GPIO2_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + wifi_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_GPIO1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + xo_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pcie1 { + status = "disabled"; +}; + +&pcie1_msi { + status = "disabled"; +};