diff --git a/documentation/PER_DEVICE_DOCUMENTATION/SM8550/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/SM8550/SUPPORTED_EMULATORS_AND_CORES.md index 99362909c5..d81df7460d 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/SM8550/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/SM8550/SUPPORTED_EMULATORS_AND_CORES.md @@ -81,6 +81,7 @@ |Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
**mednafen:** snes_faust
| |Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
| |Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_accuracy
**retroarch:** bsnes_mercury_balanced
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**retroarch:** bsnes_mercury_accuracy
**retroarch:** bsnes_mercury_balanced
**retroarch:** bsnes_mercury_accuracy
**retroarch:** bsnes_mercury_balanced
**mednafen:** snes_faust
| +|Nintendo|Triforce (triforce)|2002|`triforce`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .m3u|**dolphin:** dolphin-qt-gc (default)
| |Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
**mednafen:** vb
| |Nintendo|Wii (wii)|2006|`wii`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .wad .m3u|**dolphin:** dolphin-qt-wii (default)
**dolphin:** dolphin-sa-wii
**retroarch:** dolphin
| |Nintendo|Wii U (wiiu)|2012|`wiiu`|.wud .wux .wua .rpx|**cemu:** cemu-sa (default)
| diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi new file mode 100644 index 0000000000..1e7cfbc090 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi @@ -0,0 +1,1579 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +#include +#include +#include "qcs8550.dtsi" +#include "pm8550.dtsi" +#include "pm8550b.dtsi" +#define PMK8550VE_SID 5 +#include "pm8550ve.dtsi" +#include "pm8550vs.dtsi" +#include "pmk8550.dtsi" + +/delete-node/ &aop_image_mem; +/delete-node/ &aop_config_mem; +/delete-node/ &camera_mem; +/delete-node/ &ipa_fw_mem; +/delete-node/ &ipa_gsi_mem; +/delete-node/ &mpss_dsm_mem; +/delete-node/ &mpss_mem; +/delete-node/ &q6_mpss_dtb_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &q6_cdsp_dtb_mem; + +/delete-node/ &remoteproc_mpss; +/delete-node/ &remoteproc_cdsp; + +/ { + chassis-type = "handset"; + + aliases { + serial0 = &uart7; + serial1 = &uart14; + hsuart0 = &uart11; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-0 = <&volume_up_n>; + pinctrl-names = "default"; + + key-volume-up { + label = "Volume Up"; + debounce-interval = <15>; + gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; + linux,code = ; + linux,can-disable; + wakeup-source; + }; + }; + + pmic-glink { + compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; + #address-cells = <1>; + #size-cells = <0>; + orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; + + connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + pmic_glink_hs_in: endpoint { + remote-endpoint = <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg = <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint = <&redriver_ss_out>; + }; + }; + }; + }; + }; + + reserved-memory { + hyp_mem: hyp-region@80000000 { + reg = <0 0x80000000 0 0xa00000>; + no-map; + }; + + cpusys_vm_mem: cpusys-vm-region@80a00000 { + reg = <0 0x80a00000 0 0x400000>; + no-map; + }; + + hyp_tags_mem: hyp-tags-region@80e00000 { + reg = <0 0x80e00000 0 0x3d0000>; + no-map; + }; + + xbl_sc_mem: xbl-sc-region@d8100000 { + reg = <0 0xd8100000 0 0x40000>; + no-map; + }; + + hyp_tags_reserved_mem: hyp-tags-reserved-region@811d0000 { + reg = <0 0x811d0000 0 0x30000>; + no-map; + }; + + xbl_dt_log_merged_mem: xbl-dt-log-merged-region@81a00000 { + reg = <0 0x81a00000 0 0x260000>; + no-map; + }; + + aop_config_merged_mem: aop-config-merged-region@81c80000 { + reg = <0 0x81c80000 0 0x74000>; + no-map; + }; + + chipinfo_mem: chipinfo-region@81cf4000 { + reg = <0 0x81cf4000 0 0x1000>; + no-map; + }; + + global_sync_mem: global-sync-region@82600000 { + reg = <0 0x82600000 0 0x100000>; + no-map; + }; + + tz_stat_mem: tz-stat-region@82700000 { + reg = <0 0x82700000 0 0x100000>; + no-map; + }; + + cpucp_fw_mem: cpucp-fw-region@d8140000 { + reg = <0 0xd8140000 0 0x1c0000>; + no-map; + }; + + qtee_mem: qtee-region@d8300000 { + reg = <0 0xd8300000 0 0x500000>; + no-map; + }; + + hwfence_shbuf: hwfence-shbuf-region@e6440000 { + reg = <0 0xe6440000 0 0x2dd000>; + no-map; + }; + + hyp_ext_reserved_mem: hyp-ext-reserved-region@ff700000 { + reg = <0 0xff700000 0 0x100000>; + no-map; + }; + + llcc_lpi_mem: llcc_lpi_region@ff800000 { + reg = <0 0xff800000 0 0x600000>; + no-map; + }; + + hyp_ext_tags_mem: hyp-ext-tags-region@fce00000 { + reg = <0 0xfce00000 0 0x2900000>; + no-map; + }; + + splash_region: splash_region@b8000000 { + reg = <0x0 0xb8000000 0x0 0x2b00000>; + label = "cont_splash_region"; + no-map; + }; + }; + + upd720201_avdd33_reg: upd720201-avdd33-regulator { + compatible = "regulator-fixed"; + + regulator-name = "upd720201_avdd33"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply = <&vph_pwr>; + + pinctrl-0 = <&upd720201_avdd33>; + pinctrl-names = "default"; + }; + + upd720201_vdd10_reg: upd720201-vdd10-regulator { + compatible = "regulator-fixed"; + + regulator-name = "upd720201_vdd10"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + + gpios = <&tlmm 13 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply = <&vph_pwr>; + + pinctrl-0 = <&upd720201_vdd10>; + pinctrl-names = "default"; + }; + + upd720201_vdd33_reg: upd720201-vdd33-regulator { + compatible = "regulator-fixed"; + + regulator-name = "upd720201_vdd33"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply = <&vph_pwr>; + + pinctrl-0 = <&upd720201_vdd33>; + pinctrl-names = "default"; + }; + + sound { + status = "okay"; + compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard"; + model = "SM8550-APS"; + audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA DMIC0", "vdd-micb", + "VA DMIC1", "vdd-micb"; + + wsa-dai-link { + link-name = "WSA Playback"; + + cpu { + sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; + }; + + codec { + sound-dai = <&spk_amp_l>, <&spk_amp_r>, <&swr0 0>, <&lpass_wsamacro 0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; + + va-dai-link { + link-name = "VA Capture"; + + cpu { + sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; + }; + + codec { + sound-dai = <&lpass_vamacro 0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; + }; + + thermal-zones { + cpuss0-thermal { + polling-delay = <200>; + trips { + cpuss0_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss0_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss0_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss0_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss0_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss0_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss0_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss0_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpuss1-thermal { + polling-delay = <200>; + trips { + cpuss1_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; ype = "active"; }; + cpuss1_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss1_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss1_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss1_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss1_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss1_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss1_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss1_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpuss2-thermal { + polling-delay = <200>; + trips { + cpuss2_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss2_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss2_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss2_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss2_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss2_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss2_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss2_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpuss3-thermal { + polling-delay = <200>; + trips { + cpuss3_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss3_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss3_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss3_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss3_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss3_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss3_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss3_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpu7-top-thermal { + polling-delay = <200>; + trips { + cpu7_top_fan0: trip-point2 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpu7_top_fan1: trip-point3 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpu7_top_fan2: trip-point4 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpu7_top_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map1 { trip = <&cpu7_top_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map2 { trip = <&cpu7_top_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-0-thermal { + polling-delay = <200>; + trips { + gpuss0_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss0_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss0_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss0_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss0_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss0_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-1-thermal { + polling-delay = <200>; + trips { + gpuss1_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss1_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss1_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss1_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss1_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss1_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-2-thermal { + polling-delay = <200>; + trips { + gpuss2_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss2_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss2_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss2_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss2_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss2_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-3-thermal { + polling-delay = <200>; + trips { + gpuss3_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss3_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss3_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss3_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss3_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss3_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-4-thermal { + polling-delay = <200>; + trips { + gpuss4_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss4_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss4_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss4_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss4_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss4_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-5-thermal { + polling-delay = <200>; + trips { + gpuss5_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss5_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss5_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss5_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss5_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss5_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-6-thermal { + polling-delay = <200>; + trips { + gpuss6_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss6_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss6_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss6_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss6_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss6_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-7-thermal { + polling-delay = <200>; + trips { + gpuss7_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss7_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss7_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss7_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss7_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss7_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + }; + + vdd_fan_5v0: vdd-fan-5v0-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_fan_5v0"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names = "default"; + pinctrl-0 = <&fan_pwr_active>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vph_pwr: regulator-vph-pwr { + compatible = "regulator-fixed"; + regulator-name = " vph_pwr"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + + regulator-always-on; + regulator-boot-on; + }; + + pwm_fan: pwm-fan { + compatible = "pwm-fan"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&fan_pwm_active>, <&fan_int>; + + fan-supply = <&vdd_fan_5v0>; + pwms = <&pm8550_pwm 3 40000>; + interrupt-parent = <&tlmm>; + interrupts = <64 IRQ_TYPE_EDGE_FALLING>; + + #cooling-cells = <2>; + cooling-levels = <0 30 45 60 70 90 120 150>; + }; + + wcn7850-pmu { + compatible = "qcom,wcn7850-pmu"; + + pinctrl-names = "default"; + pinctrl-0 = <&wlan_en>, <&bt_default>, <&pmk8550_sleep_clk>; + + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; + bt-enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; + + vdd-supply = <&vreg_s5g_0p85>; + vddio-supply = <&vreg_l15b_1p8>; + vddaon-supply = <&vreg_s2g_0p85>; + vdddig-supply = <&vreg_s4e_0p95>; + vddrfa1p2-supply = <&vreg_s4g_1p25>; + vddrfa1p8-supply = <&vreg_s6g_1p86>; + + regulators { + vreg_pmu_rfa_cmn: ldo0 { + regulator-name = "vreg_pmu_rfa_cmn"; + }; + + vreg_pmu_aon_0p59: ldo1 { + regulator-name = "vreg_pmu_aon_0p59"; + }; + + vreg_pmu_wlcx_0p8: ldo2 { + regulator-name = "vreg_pmu_wlcx_0p8"; + }; + + vreg_pmu_wlmx_0p85: ldo3 { + regulator-name = "vreg_pmu_wlmx_0p85"; + }; + + vreg_pmu_btcmx_0p85: ldo4 { + regulator-name = "vreg_pmu_btcmx_0p85"; + }; + + vreg_pmu_rfa_0p8: ldo5 { + regulator-name = "vreg_pmu_rfa_0p8"; + }; + + vreg_pmu_rfa_1p2: ldo6 { + regulator-name = "vreg_pmu_rfa_1p2"; + }; + + vreg_pmu_rfa_1p8: ldo7 { + regulator-name = "vreg_pmu_rfa_1p8"; + }; + + vreg_pmu_pcie_0p9: ldo8 { + regulator-name = "vreg_pmu_pcie_0p9"; + }; + + vreg_pmu_pcie_1p8: ldo9 { + regulator-name = "vreg_pmu_pcie_1p8"; + }; + }; + }; +}; + +/* DMIC 01 23 */ +&lpass_vamacro { + pinctrl-0 = <&dmic01_default>, <&dmic23_default>; + pinctrl-names = "default"; + vdd-micb-supply = <&vreg_l10b_1p8>; + qcom,dmic-sample-rate = <4800000>; +}; + +&apps_rsc { + regulators-0 { + compatible = "qcom,pm8550-rpmh-regulators"; + qcom,pmic-id = "b"; + + vdd-bob1-supply = <&vph_pwr>; + vdd-bob2-supply = <&vph_pwr>; + vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>; + vdd-l2-l13-l14-supply = <&vreg_bob1>; + vdd-l3-supply = <&vreg_s4g_1p25>; + vdd-l5-l16-supply = <&vreg_bob1>; + vdd-l6-l7-supply = <&vreg_bob1>; + vdd-l8-l9-supply = <&vreg_bob1>; + vdd-l11-supply = <&vreg_s4g_1p25>; + vdd-l12-supply = <&vreg_s6g_1p86>; + vdd-l15-supply = <&vreg_s6g_1p86>; + vdd-l17-supply = <&vreg_bob2>; + + vreg_bob1: bob1 { + regulator-name = "vreg_bob1"; + regulator-min-microvolt = <3296000>; + regulator-max-microvolt = <3960000>; + regulator-initial-mode = ; + }; + + vreg_bob2: bob2 { + regulator-name = "vreg_bob2"; + regulator-min-microvolt = <2720000>; + regulator-max-microvolt = <3960000>; + regulator-initial-mode = ; + }; + + vreg_l2b_3p0: ldo2 { + regulator-name = "vreg_l2b_3p0"; + regulator-min-microvolt = <3008000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l5b_3p1: ldo5 { + regulator-name = "vreg_l5b_3p1"; + regulator-min-microvolt = <3104000>; + regulator-max-microvolt = <3104000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l6b_1p8: ldo6 { + regulator-name = "vreg_l6b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l7b_1p8: ldo7 { + regulator-name = "vreg_l7b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + }; + + vreg_l8b_1p8: ldo8 { + regulator-name = "vreg_l8b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l9b_2p9: ldo9 { + regulator-name = "vreg_l9b_2p9"; + regulator-min-microvolt = <2960000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l10b_1p8: ldo10 { + regulator-name = "vreg_l10b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l11b_1p2: ldo11 { + regulator-name = "vreg_l11b_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1504000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l12b_1p8: ldo12 { + regulator-name = "vreg_l12b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l13b_3p0: ldo13 { + regulator-name = "vreg_l13b_3p0"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l14b_3p2: ldo14 { + regulator-name = "vreg_l14b_3p2"; + regulator-min-microvolt = <3200000>; + regulator-max-microvolt = <3200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l15b_1p8: ldo15 { + regulator-name = "vreg_l15b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l16b_2p8: ldo16 { + regulator-name = "vreg_l16b_2p8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l17b_2p5: ldo17 { + regulator-name = "vreg_l17b_2p5"; + regulator-min-microvolt = <2504000>; + regulator-max-microvolt = <2504000>; + regulator-initial-mode = ; + }; + }; + + regulators-1 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "c"; + + vdd-l1-supply = <&vreg_s4g_1p25>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4e_0p95>; + + vreg_l3c_0p9: ldo3 { + regulator-name = "vreg_l3c_0p9"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-2 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "d"; + + vdd-l1-supply = <&vreg_s4e_0p95>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4e_0p95>; + + vreg_l1d_0p88: ldo1 { + regulator-name = "vreg_l1d_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <920000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-3 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "e"; + + vdd-l1-supply = <&vreg_s4e_0p95>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4g_1p25>; + vdd-s4-supply = <&vph_pwr>; + vdd-s5-supply = <&vph_pwr>; + + vreg_s4e_0p95: smps4 { + regulator-name = "vreg_s4e_0p95"; + regulator-min-microvolt = <904000>; + regulator-max-microvolt = <984000>; + regulator-initial-mode = ; + }; + + vreg_s5e_1p08: smps5 { + regulator-name = "vreg_s5e_1p08"; + regulator-min-microvolt = <1010000>; + regulator-max-microvolt = <1120000>; + regulator-initial-mode = ; + }; + + vreg_l1e_0p88: ldo1 { + regulator-name = "vreg_l1e_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l2e_0p9: ldo2 { + regulator-name = "vreg_l2e_0p9"; + regulator-min-microvolt = <904000>; + regulator-max-microvolt = <970000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l3e_1p2: ldo3 { + regulator-name = "vreg_l3e_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-4 { + compatible = "qcom,pm8550ve-rpmh-regulators"; + qcom,pmic-id = "f"; + + vdd-l1-supply = <&vreg_s4e_0p95>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4e_0p95>; + vdd-s4-supply = <&vph_pwr>; + + vreg_s4f_0p5: smps4 { + regulator-name = "vreg_s4f_0p5"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <700000>; + regulator-initial-mode = ; + }; + + vreg_l1f_0p9: ldo1 { + regulator-name = "vreg_l1f_0p9"; + regulator-min-microvolt = <912000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l2f_0p88: ldo2 { + regulator-name = "vreg_l2f_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l3f_0p88: ldo3 { + regulator-name = "vreg_l3f_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-5 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "g"; + vdd-l1-supply = <&vreg_s4g_1p25>; + vdd-l2-supply = <&vreg_s4g_1p25>; + vdd-l3-supply = <&vreg_s4g_1p25>; + vdd-s1-supply = <&vph_pwr>; + vdd-s2-supply = <&vph_pwr>; + vdd-s3-supply = <&vph_pwr>; + vdd-s4-supply = <&vph_pwr>; + vdd-s5-supply = <&vph_pwr>; + vdd-s6-supply = <&vph_pwr>; + + vreg_s1g_1p25: smps1 { + regulator-name = "vreg_s1g_1p25"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1300000>; + regulator-initial-mode = ; + }; + + vreg_s2g_0p85: smps2 { + regulator-name = "vreg_s2g_0p85"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1000000>; + regulator-initial-mode = ; + }; + + vreg_s3g_0p8: smps3 { + regulator-name = "vreg_s3g_0p8"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1004000>; + regulator-initial-mode = ; + }; + + vreg_s4g_1p25: smps4 { + regulator-name = "vreg_s4g_1p25"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1352000>; + regulator-initial-mode = ; + }; + + vreg_s5g_0p85: smps5 { + regulator-name = "vreg_s5g_0p85"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1004000>; + regulator-initial-mode = ; + }; + + vreg_s6g_1p86: smps6 { + regulator-name = "vreg_s6g_1p86"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2000000>; + regulator-initial-mode = ; + }; + + vreg_l1g_1p2: ldo1 { + regulator-name = "vreg_l1g_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l3g_1p2: ldo3 { + regulator-name = "vreg_l3g_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; +}; + +&pm8550_gpios { + sdc2_card_det_n: sdc2-card-det-n-state { + pins = "gpio12"; + function = "normal"; + input-enable; + output-disable; + bias-pull-up; + power-source = <1>; + }; + + volume_up_n: volume-up-n-state { + pins = "gpio6"; + function = "normal"; + power-source = <1>; + bias-pull-up; + input-enable; + }; + + fan_pwm_active: fan-pwm-active-state { + pins = "gpio9"; + function = "func1"; + output-low; + bias-disable; + power-source = <0>; + qcom,drive-strength = <3>; /* PMIC_GPIO_STRENGTH_LOW */ + }; +}; + +&pmk8550_gpios { + pmk8550_sleep_clk: sleep-clk-state { + pins = "gpio3"; + function = "func1"; + input-disable; + output-enable; + bias-disable; + power-source = <0>; + }; +}; + +&pm8550b_eusb2_repeater { + vdd18-supply = <&vreg_l15b_1p8>; + vdd3-supply = <&vreg_l5b_3p1>; +}; + +&pon_pwrkey { + status = "okay"; +}; + +&pon_resin { + linux,code = ; + + status = "okay"; +}; + +&pmk8550_rtc { + nvmem-cells = <&rtc_offset>; + nvmem-cell-names = "offset"; +}; + +&pmk8550_sdam_2 { + rtc_offset: rtc-offset@bc { + reg = <0xbc 0x4>; + }; +}; + +&qupv3_id_0 { + status = "okay"; +}; + +&qupv3_id_1 { + status = "okay"; + + /* AYANEO Controller serial interface */ + uart11: uart@88c000 { + compatible = "qcom,geni-uart"; + reg = <0 0x0088c000 0 0x4000>; + clock-names = "se"; + clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>; + pinctrl-names = "default"; + pinctrl-0 = <&qup_uart11_default>; + interrupts = ; + interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ACTIVE_ONLY>; + interconnect-names = "qup-core", "qup-config"; + operating-points-v2 = <&qup_opp_table_100mhz>; + power-domains = <&rpmhpd RPMHPD_CX>; + status = "okay"; + }; +}; + +&remoteproc_adsp { + firmware-name = "qcom/sm8550/ayaneo/adsp.mdt", + "qcom/sm8550/ayaneo/adsp_dtb.mdt"; + status = "okay"; +}; + +&sdhc_2 { + cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_default &sdc2_card_det_n>; + pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>; + vmmc-supply = <&vreg_l9b_2p9>; + vqmmc-supply = <&vreg_l8b_1p8>; + max-sd-hs-hz = <37500000>; + no-sdio; + no-mmc; + + qcom,dll-config = <0x0007442c>; + + status = "okay"; +}; + +&sleep_clk { + clock-frequency = <32764>; +}; + +&swr0 { + status = "okay"; + + spk_amp_l: speaker@0,0 { + compatible = "sdw20217020400"; + reg = <0 0>; + + pinctrl-0 = <&spkr_1_sd_n_active>; + pinctrl-names = "default"; + + powerdown-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; + + vdd-1p8-supply = <&vreg_l10b_1p8>; + vdd-io-supply = <&vreg_l10b_1p8>; + + #sound-dai-cells = <0>; + sound-name-prefix = "SpkrLeft"; + qcom,port-mapping = <1 2 3 7 10 13>; + }; + + spk_amp_r: speaker@0,1 { + compatible = "sdw20217020400"; + reg = <0 1>; + + pinctrl-0 = <&spkr_2_sd_n_active>; + pinctrl-names = "default"; + + powerdown-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + + vdd-1p8-supply = <&vreg_l10b_1p8>; + vdd-io-supply = <&vreg_l10b_1p8>; + + #sound-dai-cells = <0>; + sound-name-prefix = "SpkrRight"; + qcom,port-mapping = <4 5 6 7 11 13>; + }; +}; + +&tlmm { + gpio-reserved-ranges = <32 8>; + + bt_default: bt-default-state { + bt-en-pins { + pins = "gpio81"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + }; + + sw-ctrl-pins { + pins = "gpio82"; + function = "gpio"; + bias-pull-down; + }; + }; + + fan_pwr_active: fan-pwr-active-state { + pins = "gpio31"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + output-low; + }; + + fan_int: fan-int-state { + pins = "gpio64"; + function = "gpio"; + drive-strength = <2>; + bias-pull-pull; + input-enable; + }; + + upd720201_avdd33: upd720201-avdd33-state { + pins = "gpio10"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + upd720201_vdd10: pd720201-vdd10-state { + pins = "gpio13"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + upd720201_vdd33: upd720201-vdd33-state { + pins = "gpio18"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + gamepad_pwr_en: gamepad-pwr-en-active-state { + pins = "gpio52"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + output-high; + }; + + qup_uart11_default: qup-uart11-default-state { + /* TX, RX */ + pins = "gpio70", "gpio71"; + function = "qup2_se3"; + drive-strength = <2>; + bias-disable; + }; + + sde_dsi_active: sde-dsi-active-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + sde_dsi_suspend: sde-dsi-suspend-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + sde_te_active: sde-te-active-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + sde_te_suspend: sde-te-suspend-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + wlan_en: wlan-en-state { + pins = "gpio80"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + + spkr_1_sd_n_active: spkr-1-sd-n-active-state { + pins = "gpio7"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + output-high; + }; + + spkr_2_sd_n_active: spkr-2-sd-n-active-state { + pins = "gpio12"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + output-high; + }; +}; + +&pm8550_pwm { + status = "okay"; + + power_led { + color = ; + label = "power-led"; + + #address-cells = <1>; + #size-cells = <0>; + + red@1 { + reg = <1>; + color = ; + }; + + green@2 { + reg = <2>; + color = ; + }; + + blue@3 { + reg = <3>; + color = ; + }; + }; +}; + +&xo_board { + clock-frequency = <76800000>; +}; + +&gpi_dma1 { + status = "okay"; +}; + +&gpi_dma2 { + status = "okay"; +}; + +&gpu { + compatible = "qcom,adreno-43050a00", "qcom,adreno"; //FDA32 + status = "okay"; + + zap-shader { + firmware-name = "qcom/sm8550/ayaneo/a740_zap.mbn"; + }; +}; + +&gpu_opp_table { +/* Additional speedbin for Adreno A32 + 719000000 RPMH_REGULATOR_LEVEL_SVS_L2 + 746000000 RPMH_REGULATOR_LEVEL_NOM + 794000000 RPMH_REGULATOR_LEVEL_NOM_L1 + 827000000 RPMH_REGULATOR_LEVEL_TURBO + 860000000 RPMH_REGULATOR_LEVEL_TURBO_L1 + 1000000000 RPMH_REGULATOR_LEVEL_TURBO_L2 +*/ + opp-719000000 { + opp-hz = /bits/ 64 <719000000>; + opp-level = ; + opp-peak-kBps = <10687500>; // Level 7 + qcom,opp-acd-level = <0x882e5ffd>; + }; + + opp-746000000 { + opp-hz = /bits/ 64 <746000000>; + opp-level = ; + opp-peak-kBps = <10687500>; // Level 7 + qcom,opp-acd-level = <0x882e5ffd>; + }; + + opp-794000000 { + opp-hz = /bits/ 64 <794000000>; + opp-level = ; + opp-peak-kBps = <14398438>; // Level 8 + qcom,opp-acd-level = <0xa82d5ffd>; + }; + + opp-827000000 { + opp-hz = /bits/ 64 <827000000>; + opp-level = ; + opp-peak-kBps = <16500000>; // Level 9 + qcom,opp-acd-level = <0xa82d5ffd>; + }; + + opp-860000000 { + opp-hz = /bits/ 64 <860000000>; + opp-level = ; + opp-peak-kBps = <16500000>; // Level 9 + qcom,opp-acd-level = <0x882d5ffd>; + }; + + opp-1000000000 { + opp-hz = /bits/ 64 <1000000000>; + opp-level = ; + opp-peak-kBps = <16500000>; // Level 9 + qcom,opp-acd-level = <0x882d5ffd>; + }; +}; + +&i2c_master_hub_0 { + status = "okay"; +}; + +&i2c_hub_2 { + status = "okay"; + + typec-retimer@1c { + compatible = "onnn,nb7vpq904m"; + reg = <0x1c>; + vcc-supply = <&vreg_l15b_1p8>; + + retimer-switch; + orientation-switch; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + redriver_ss_out: endpoint { + remote-endpoint = <&pmic_glink_ss_in>; + }; + }; + + port@1 { + reg = <1>; + + redriver_ss_in: endpoint { + data-lanes = <3 2 1 0>; + remote-endpoint = <&usb_dp_qmpphy_out>; + }; + }; + }; + }; +}; + +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; + + display_panel: panel@0 { + reg = <0>; + + pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>; + pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>; + pinctrl-names = "default", "sleep"; + + port { + panel0_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel0_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; + +&mdss_dp0 { + status = "okay"; +}; + +&mdss_dp0_out { + data-lanes = <0 1>; +}; + +&pcie0 { + perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; + wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; + max-link-speed = <2>; + + pinctrl-0 = <&pcie0_default_state>; + pinctrl-names = "default"; + + status = "okay"; +}; + +&pcieport0 { + wifi@0 { + compatible = "pci17cb,1107"; + reg = <0x10000 0x0 0x0 0x0 0x0>; + + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; + vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; + }; +}; + +&pcie0_phy { + vdda-phy-supply = <&vreg_l1e_0p88>; + vdda-pll-supply = <&vreg_l3e_1p2>; + + status = "okay"; +}; + +&pcie1 { + wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>; + perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&pcie1_default_state>; + pinctrl-names = "default"; + + status = "okay"; +}; + +&pcie1_port0 { + /* Renesas μPD720201 PCIe USB3.0 HOST CONTROLLER */ + usb-controller@0 { + compatible = "pci1912,0014"; + reg = <0x10000 0x0 0x0 0x0 0x0>; + + avdd33-supply = <&upd720201_avdd33_reg>; + vdd10-supply = <&upd720201_vdd10_reg>; + vdd33-supply = <&upd720201_vdd33_reg>; + + pinctrl-0 = <&gamepad_pwr_en>; + pinctrl-names = "default"; + }; +}; + +&pcie1_phy { + vdda-phy-supply = <&vreg_l3c_0p9>; + vdda-pll-supply = <&vreg_l3e_1p2>; + vdda-qref-supply = <&vreg_l1e_0p88>; + + status = "okay"; +}; + +&ufs_mem_hc { + reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l17b_2p5>; + vcc-max-microamp = <1300000>; + vccq-supply = <&vreg_l1g_1p2>; + vccq-max-microamp = <1200000>; + vdd-hba-supply = <&vreg_l3g_1p2>; + + status = "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply = <&vreg_l1d_0p88>; + vdda-pll-supply = <&vreg_l3e_1p2>; + + status = "okay"; +}; + +&usb_1 { + status = "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint = <&pmic_glink_hs_in>; +}; + +&usb_1_hsphy { + vdd-supply = <&vreg_l1e_0p88>; + vdda12-supply = <&vreg_l3e_1p2>; + + phys = <&pm8550b_eusb2_repeater>; + + status = "okay"; +}; + +&usb_dp_qmpphy { + vdda-phy-supply = <&vreg_l3e_1p2>; + vdda-pll-supply = <&vreg_l3f_0p88>; + + status = "okay"; +}; + +&usb_dp_qmpphy_out { + remote-endpoint = <&redriver_ss_in>; +}; + +&uart7 { + status = "okay"; +}; + +&uart14 { + status = "okay"; + + bluetooth { + compatible = "qcom,wcn7850-bt"; + + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + + max-speed = <3200000>; + }; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketace.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketace.dts new file mode 100644 index 0000000000..ee8c9c7946 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketace.dts @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) + */ + +/dts-v1/; + +#include "qcs8550-ayaneo-pocket-common.dtsi" + +/ { + model = "AYANEO Pocket ACE"; + qcom,board-id = <0x1000b 0x01>; + qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; + compatible = "ayaneo,pocketace", "qcom,qcs8550", "qcom,sm8550"; + rocknix-u-boot-dt-id = "u-boot-pocket-ace"; +}; + +&tlmm { + panel_pwr_active: panel-pwr-active-state { + pins = "gpio72", "gpio42", "gpio152", "gpio153"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + panel_pwr_sleep: panel-pwr-sleep-state { + pins = "gpio72", "gpio42", "gpio152", "gpio153"; + function = "gpio"; + output-low; + }; + + backlight_pwr_active: backlight-pwr-active-state { + pins = "gpio41"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + backlight_pwr_sleep: backlight-pwr-sleep-state { + pins = "gpio41"; + function = "gpio"; + output-low; + }; + + ts_int_active: ts-int-default-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-up; + input-enable; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + + /* Screen power */ + sgm3804: regulator@3e { + compatible = "sgmicro,sgm3804"; + reg = <0x3e>; + pinctrl-0 = <&panel_pwr_active>; + pinctrl-1 = <&panel_pwr_sleep>; + pinctrl-names = "default", "sleep"; + regulator-name = "panel-avdd"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; + }; + + /* Backlight */ + backlight: sy7758@2e { + compatible = "silergy,sy7758"; + reg = <0x2e>; + pinctrl-0 = <&backlight_pwr_active>; + pinctrl-1 = <&backlight_pwr_sleep>; + pinctrl-names = "default", "sleep"; + status = "okay"; + }; +}; + +&i2c4 { + clock-frequency = <400000>; + status = "okay"; + + touchscreen@70 { + compatible = "syna,rmi4-i2c"; + reg = <0x70>; + #address-cells = <1>; + #size-cells = <0>; + interrupts-extended = <&tlmm 25 0x2008>; + + pinctrl-names = "active"; + pinctrl-0 = <&ts_int_active>; + + reset-gpios = <&tlmm 24 0x01>; + + vio-supply = <&vreg_l12b_1p8>; + vdd-supply = <&vreg_l14b_3p2>; + + syna,startup-delay-ms = <200>; + syna,reset-delay-ms = <200>; + + rmi4-f01@1 { + syna,nosleep-mode = <0x1>; + reg = <0x1>; + }; + + rmi4-f12@12 { + reg = <0x12>; + syna,rezero-wait-ms = <20>; + syna,clip-x-low = <0>; + syna,clip-y-low = <0>; + syna,clip-x-high = <1080>; + syna,clip-y-high = <1620>; + syna,sensor-type = <1>; + }; + }; +}; + +&display_panel { + compatible = "ayaneo,pocket-ace-panel"; + + avdd-supply = <&sgm3804>; + vci-supply = <&vreg_l13b_3p0>; + vddio-supply = <&vreg_l12b_1p8>; + + backlight = <&backlight>; + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <90>; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketdmg.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketdmg.dts new file mode 100644 index 0000000000..955340ad6b --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketdmg.dts @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) + */ + +/dts-v1/; + +#include "qcs8550-ayaneo-pocket-common.dtsi" + +/ { + model = "AYANEO Pocket DMG"; + qcom,board-id = <0x1000b 0x01>; + qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; + compatible = "ayaneo,pocketdmg", "qcom,qcs8550", "qcom,sm8550"; + rocknix-u-boot-dt-id = "u-boot-pocket-dmg"; +}; + +&tlmm { + panel_pwr_active: panel-pwr-active-state { + pins = "gpio152", "gpio153"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + ts_int_active: ts-int-active-state { + pins = "gpio25"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + ts_reset_active: ts-reset-active-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + ts_int_suspend: ts-int-suspend-state { + pins = "gpio25"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + ts_reset_suspend: ts-reset-suspend-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + + /* Screen power */ + sgm3804: regulator@3e { + compatible = "sgmicro,sgm3804"; + reg = <0x3e>; + pinctrl-names = "default"; + pinctrl-0 = <&panel_pwr_active>; + regulator-name = "panel-avdd"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; + }; +}; + +&i2c4 { + status = "okay"; + clock-frequency = <400000>; + + hynitron@5a { + compatible = "hyn,66xx"; + reg = <0x5a>; + + vdd_ana; + vdd_ana-supply = <&vreg_l14b_3p2>; + + interrupt-parent = <&tlmm>; + interrupts = <25 0x02>; + reset-gpio = <&tlmm 24 0x01>; + irq-gpio = <&tlmm 25 0x02>; + + pinctrl-names = "ts_active","ts_suspend"; + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + + max-touch-number = <5>; + display-coords = <0 0 1080 1240>; + pos-swap = <1>; + posx-reverse = <0>; + posy-reverse = <0>; + }; +}; + +&display_panel { + compatible = "ayaneo,pocket-dmg-panel"; + + avdd-supply = <&sgm3804>; + vci-supply = <&vreg_l13b_3p0>; + vddio-supply = <&vreg_l12b_1p8>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <270>; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketds.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketds.dts new file mode 100644 index 0000000000..e8510012e9 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketds.dts @@ -0,0 +1,238 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) + */ + +/dts-v1/; + +#include "qcs8550-ayaneo-pocket-common.dtsi" + +/ { + model = "AYANEO Pocket DS"; + qcom,board-id = <0x1000b 0x01>; + qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; + compatible = "ayaneo,pocketds", "qcom,qcs8550", "qcom,sm8550"; + rocknix-u-boot-dt-id = "u-boot-pocket-ds"; + + tca6424_vcc: regulator-tca6424-vcc { + compatible = "regulator-fixed"; + regulator-name = "tca6424_vcc"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 168 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_ts: vdd-ts { + compatible = "regulator-fixed"; + regulator-name = "vdd_ts_en"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&tca6408 1 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + +}; + +&tlmm { + gpio-reserved-ranges = <32 4>; + panel_pwr_active: panel-pwr-active-state { + pins = "gpio152", "gpio153"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + sde_dsi1_active: sde-dsi1-active-state { + pins = "gpio137"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + sde_dsi1_suspend: sde-dsi1-suspend-state { + pins = "gpio137"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + ts_rst_default: ts-rst-default-state { + pins = "gpio24"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_rst_sleep: ts-rst-sleep-state { + pins = "gpio24"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + + ts_int_default: ts-int-default-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_int_sleep: ts-int-sleep-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + + ts2_irq: ts2-irq-state { + pins = "gpio39"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + input-enable; + }; + + ts2_reset: ts2-reset-state { + pins = "gpio38"; + function = "gpio"; + drive-strength = <8>; + input-enable; + bias-pull-down; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + + /* Screen power */ + sgm3804: regulator@3e { + compatible = "sgmicro,sgm3804"; + reg = <0x3e>; + pinctrl-names = "default"; + pinctrl-0 = <&panel_pwr_active>; + regulator-name = "panel-avdd"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; + }; + + /* Backlight */ + backlight: backlight@2e { + compatible = "silergy,sy7758"; + reg = <0x2e>; + status = "okay"; + }; + + tca6408: tca64_20@20 { + gpio-controller; + compatible = "ti,tca6408"; + status = "okay"; + reg = <0x20>; + #gpio-cells = <0x02>; + vcc-supply = <&tca6424_vcc>; + }; +}; + +&i2c2 { + clock-frequency = <400000>; + status = "okay"; + + touchscreen@5d { + reg = <0x5d>; + compatible = "goodix,gt911"; + + interrupt-parent = <&tlmm>; + interrupts = <39 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; + irq-gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>; + VDDIO-supply = <&vdd_ts>; + + touchscreen-size-x = <768>; + touchscreen-size-y = <1024>; + + pinctrl-names = "default"; + pinctrl-0 = <&ts2_reset>, <&ts2_irq>; + + }; +}; + +&i2c4 { + clock-frequency = <400000>; + status = "okay"; + touchscreen: touchscreen@38 { + compatible = "focaltech,ft5426"; + reg = <0x38>; + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l14b_3p2>; + iovcc-supply = <&vreg_l12b_1p8>; + + pinctrl-0 = <&ts_int_default &ts_rst_default>; + pinctrl-1 = <&ts_int_sleep &ts_rst_sleep>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + }; +}; + +&display_panel { + compatible = "chipone,icna3512"; + + vci-supply = <&vreg_l13b_3p0>; + vddio-supply = <&vreg_l12b_1p8>; + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + rotation = <270>; +}; + +&mdss_dsi1 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; + + panel@0 { + compatible = "ayaneo,pocket-ds-secondary-panel"; + reg = <0>; + pinctrl-0 = <&sde_dsi1_active>; + pinctrl-1 = <&sde_dsi1_suspend>; + pinctrl-names = "default", "sleep"; + avdd-supply = <&sgm3804>; + enable-gpio = <&tca6408 0 GPIO_ACTIVE_HIGH>; + reset-gpios = <&tca6408 2 GPIO_ACTIVE_LOW>; + rotation = <270>; + backlight = <&backlight>; + + port { + panel1_in: endpoint { + remote-endpoint = <&mdss_dsi1_out>; + }; + }; + }; +}; + +&mdss_dsi1_out { + remote-endpoint = <&panel1_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi1_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketevo.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketevo.dts new file mode 100644 index 0000000000..194bc1af95 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayaneo-pocketevo.dts @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) + */ + +/dts-v1/; + +#include "qcs8550-ayaneo-pocket-common.dtsi" + +/ { + model = "AYANEO Pocket EVO"; + qcom,board-id = <0x1000b 0x01>; + qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; + compatible = "ayaneo,pocketevo", "qcom,qcs8550", "qcom,sm8550"; + rocknix-u-boot-dt-id = "u-boot-pocket-evo"; +}; + +&tlmm { + panel_pwr_active: panel-pwr-active-state { + pins = "gpio152", "gpio153"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + ts_reset_active: ts-reset-active-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + ts_reset_suspend: ts-reset-suspend-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + ts_int_active: ts-int-default-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_int_suspend: ts-int-sleep-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + +}; + +&i2c4 { + clock-frequency = <400000>; + status = "okay"; + touchscreen: touchscreen@38 { + compatible = "focaltech,ft5426"; + reg = <0x38>; + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l14b_3p2>; + iovcc-supply = <&vreg_l12b_1p8>; + + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + }; +}; + + +&display_panel { + compatible = "chipone,icna3512"; + + vci-supply = <&vreg_l13b_3p0>; + vddio-supply = <&vreg_l12b_1p8>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <270>; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-common.dtsi b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-common.dtsi new file mode 100644 index 0000000000..7df70019d9 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-common.dtsi @@ -0,0 +1,1638 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +#include +#include +#include "qcs8550.dtsi" +#include "pm8550.dtsi" +#include "pm8550b.dtsi" +#define PMK8550VE_SID 5 +#include "pm8550ve.dtsi" +#include "pm8550vs.dtsi" +#include "pmk8550.dtsi" + +/delete-node/ &aop_image_mem; +/delete-node/ &aop_config_mem; +/delete-node/ &camera_mem; +/delete-node/ &ipa_fw_mem; +/delete-node/ &ipa_gsi_mem; +/delete-node/ &mpss_dsm_mem; +/delete-node/ &mpss_mem; +/delete-node/ &q6_mpss_dtb_mem; + +/delete-node/ &remoteproc_mpss; + +/ { + chassis-type = "handset"; + rocknix-u-boot-dt-id = "u-boot-odin2"; + + aliases { + serial0 = &uart7; + serial1 = &uart14; + serial2 = &uart15; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-0 = <&volume_up_n>; + pinctrl-names = "default"; + + key-volume-up { + label = "Volume Up"; + debounce-interval = <15>; + gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; + linux,code = ; + linux,can-disable; + wakeup-source; + }; + }; + + pmic-glink { + compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; + #address-cells = <1>; + #size-cells = <0>; + orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; + + connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + pmic_glink_hs_in: endpoint { + remote-endpoint = <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg = <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint = <&usb_dp_qmpphy_out>; + }; + }; + + port@2 { + reg = <2>; + + pmic_glink_sbu: endpoint { + remote-endpoint = <&usb0_sbu_mux>; + }; + }; + }; + }; + }; + + pwm_fan: pwm-fan { + compatible = "pwm-fan"; + + fan-supply = <&vdd_fan_5v0>; + pwms = <&pm8550_pwm 3 40000>; + + pinctrl-names = "default"; + pinctrl-0 = <&fan_pwm_active>, <&fan_int>; + + pulses-per-revolution = <4>; + interrupt-parent = <&tlmm>; + interrupts = <13 IRQ_TYPE_EDGE_FALLING>; + + cooling-levels = <0 30 45 60 70 90 120 150>; + #cooling-cells = <2>; + }; + + reserved-memory { + hyp_mem: hyp-region@80000000 { + reg = <0 0x80000000 0 0xa00000>; + no-map; + }; + + cpusys_vm_mem: cpusys-vm-region@80a00000 { + reg = <0 0x80a00000 0 0x400000>; + no-map; + }; + + hyp_tags_mem: hyp-tags-region@80e00000 { + reg = <0 0x80e00000 0 0x3d0000>; + no-map; + }; + + xbl_sc_mem: xbl-sc-region@d8100000 { + reg = <0 0xd8100000 0 0x40000>; + no-map; + }; + + hyp_tags_reserved_mem: hyp-tags-reserved-region@811d0000 { + reg = <0 0x811d0000 0 0x30000>; + no-map; + }; + + xbl_dt_log_merged_mem: xbl-dt-log-merged-region@81a00000 { + reg = <0 0x81a00000 0 0x260000>; + no-map; + }; + + aop_config_merged_mem: aop-config-merged-region@81c80000 { + reg = <0 0x81c80000 0 0x74000>; + no-map; + }; + + chipinfo_mem: chipinfo-region@81cf4000 { + reg = <0 0x81cf4000 0 0x1000>; + no-map; + }; + + global_sync_mem: global-sync-region@82600000 { + reg = <0 0x82600000 0 0x100000>; + no-map; + }; + + tz_stat_mem: tz-stat-region@82700000 { + reg = <0 0x82700000 0 0x100000>; + no-map; + }; + + cpucp_fw_mem: cpucp-fw-region@d8140000 { + reg = <0 0xd8140000 0 0x1c0000>; + no-map; + }; + + qtee_mem: qtee-region@d8300000 { + reg = <0 0xd8300000 0 0x500000>; + no-map; + }; + + hwfence_shbuf: hwfence-shbuf-region@e6440000 { + reg = <0 0xe6440000 0 0x2dd000>; + no-map; + }; + + hyp_ext_reserved_mem: hyp-ext-reserved-region@ff700000 { + reg = <0 0xff700000 0 0x100000>; + no-map; + }; + + llcc_lpi_mem: llcc_lpi_region@ff800000 { + reg = <0 0xff800000 0 0x600000>; + no-map; + }; + + hyp_ext_tags_mem: hyp-ext-tags-region@fce00000 { + reg = <0 0xfce00000 0 0x2900000>; + no-map; + }; + + splash_region: splash_region@b8000000 { + reg = <0x0 0xb8000000 0x0 0x2b00000>; + label = "cont_splash_region"; + no-map; + }; + }; + + thermal-zones { + cpuss0-thermal { + polling-delay = <200>; + trips { + cpuss0_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss0_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss0_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss0_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss0_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss0_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss0_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss0_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss0_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpuss1-thermal { + polling-delay = <200>; + trips { + cpuss1_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss1_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss1_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss1_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss1_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss1_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss1_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss1_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss1_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpuss2-thermal { + polling-delay = <200>; + trips { + cpuss2_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss2_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss2_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss2_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss2_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss2_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss2_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss2_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss2_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpuss3-thermal { + polling-delay = <200>; + trips { + cpuss3_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpuss3_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpuss3_fan0>; cooling-device = <&pwm_fan 0 1>; }; + map1 { trip = <&cpuss3_fan1>; cooling-device = <&pwm_fan 1 2>; }; + map2 { trip = <&cpuss3_fan2>; cooling-device = <&pwm_fan 2 3>; }; + map3 { trip = <&cpuss3_fan3>; cooling-device = <&pwm_fan 3 4>; }; + map4 { trip = <&cpuss3_fan4>; cooling-device = <&pwm_fan 4 5>; }; + map5 { trip = <&cpuss3_fan5>; cooling-device = <&pwm_fan 5 6>; }; + map6 { trip = <&cpuss3_fan6>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + cpu7-top-thermal { + polling-delay = <200>; + trips { + cpu7_top_fan0: trip-point2 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + cpu7_top_fan1: trip-point3 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + cpu7_top_fan2: trip-point4 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map0 { trip = <&cpu7_top_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map1 { trip = <&cpu7_top_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map2 { trip = <&cpu7_top_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-0-thermal { + polling-delay = <200>; + trips { + gpuss0_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss0_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss0_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss0_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss0_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss0_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-1-thermal { + polling-delay = <200>; + trips { + gpuss1_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss1_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss1_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss1_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss1_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss1_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-2-thermal { + polling-delay = <200>; + trips { + gpuss2_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss2_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss2_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss2_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss2_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss2_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-3-thermal { + polling-delay = <200>; + trips { + gpuss3_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss3_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss3_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss3_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss3_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss3_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-4-thermal { + polling-delay = <200>; + trips { + gpuss4_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss4_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss4_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss4_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss4_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss4_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-5-thermal { + polling-delay = <200>; + trips { + gpuss5_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss5_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss5_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss5_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss5_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss5_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-6-thermal { + polling-delay = <200>; + trips { + gpuss6_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss6_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss6_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss6_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss6_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss6_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + gpuss-7-thermal { + polling-delay = <200>; + trips { + gpuss7_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; + gpuss7_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; + gpuss7_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; + }; + + cooling-maps { + map1 { trip = <&gpuss7_fan0>; cooling-device = <&pwm_fan 4 5>; }; + map2 { trip = <&gpuss7_fan1>; cooling-device = <&pwm_fan 5 6>; }; + map3 { trip = <&gpuss7_fan2>; cooling-device = <&pwm_fan 6 7>; }; + }; + }; + }; + + sound { + compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard"; + pinctrl-0 = <&lpi_i2s3_active>; + pinctrl-names = "default"; + + clocks = <&q6prmcc LPASS_CLK_ID_SEN_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + clock-names = "i2s_clk"; + + assigned-clocks = <&q6prmcc LPASS_CLK_ID_SEN_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + assigned-clock-rates = <1536000>; + + model = "AYN-Odin2"; + audio-routing = + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC2", "MIC BIAS2", + "TX SWR_INPUT1", "ADC2_OUTPUT"; + + speaker-i2s-dai-link { + link-name = "Primary MI2S Playback"; + + cpu { + sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>; + }; + + codec { + sound-dai = <&spk_amp_l 0>, <&spk_amp_r 0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; + + wcd-playback-dai-link { + link-name = "WCD Playback"; + + cpu { + sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; + }; + + codec { + sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; + + wcd-capture-dai-link { + link-name = "WCD Capture"; + + cpu { + sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; + }; + + codec { + sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; + + dp0-dai-link { + link-name = "DP0 Playback"; + cpu { + sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + + codec { + sound-dai = <&mdss_dp0>; + }; + }; + }; + + usb0-sbu-mux { + compatible = "gpio-sbu-mux"; + + enable-gpios = <&tlmm 140 GPIO_ACTIVE_LOW>; + select-gpios = <&tlmm 141 GPIO_ACTIVE_HIGH>; + + pinctrl-names = "default"; + pinctrl-0 = <&usb0_sbu_default>; + + mode-switch; + orientation-switch; + + port { + usb0_sbu_mux: endpoint { + remote-endpoint = <&pmic_glink_sbu>; + }; + }; + }; + + vdd_fan_5v0: vdd-fan-5v0-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_fan_5v0"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&tlmm 109 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names = "default"; + pinctrl-0 = <&fan_pwr_active>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_mcu_3v3: vdd-mcu-3v3-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_mcu_3v3"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 99 GPIO_ACTIVE_HIGH>; + regulator-always-on; + regulator-boot-on; + enable-active-high; + }; + + vph_pwr: regulator-vph-pwr { + compatible = "regulator-fixed"; + regulator-name = "vph_pwr"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + + regulator-always-on; + regulator-boot-on; + }; + + wcd938x: audio-codec { + compatible = "qcom,wcd9385-codec"; + + pinctrl-names = "default"; + pinctrl-0 = <&wcd_default>; + + qcom,micbias1-microvolt = <1800000>; + qcom,micbias2-microvolt = <1800000>; + qcom,micbias3-microvolt = <1800000>; + qcom,micbias4-microvolt = <1800000>; + qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; + qcom,mbhc-headset-vthreshold-microvolt = <1700000>; + qcom,mbhc-headphone-vthreshold-microvolt = <50000>; + qcom,rx-device = <&wcd_rx>; + qcom,tx-device = <&wcd_tx>; + + reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; + + vdd-buck-supply = <&vreg_l15b_1p8>; + vdd-rxtx-supply = <&vreg_l15b_1p8>; + vdd-io-supply = <&vreg_l15b_1p8>; + vdd-mic-bias-supply = <&vreg_bob1>; + + #sound-dai-cells = <1>; + }; + + wcn7850-pmu { + compatible = "qcom,wcn7850-pmu"; + + pinctrl-names = "default"; + pinctrl-0 = <&wlan_en>, <&bt_default>, <&pmk8550_sleep_clk>; + + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; + bt-enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; + + vdd-supply = <&vreg_s5g_0p8>; + vddio-supply = <&vreg_l15b_1p8>; + vddaon-supply = <&vreg_s2g_0p8>; + vdddig-supply = <&vreg_s4e_0p95>; + vddrfa1p2-supply = <&vreg_s4g_1p3>; + vddrfa1p8-supply = <&vreg_s6g_1p8>; + + regulators { + vreg_pmu_rfa_cmn: ldo0 { + regulator-name = "vreg_pmu_rfa_cmn"; + }; + + vreg_pmu_aon_0p59: ldo1 { + regulator-name = "vreg_pmu_aon_0p59"; + }; + + vreg_pmu_wlcx_0p8: ldo2 { + regulator-name = "vreg_pmu_wlcx_0p8"; + }; + + vreg_pmu_wlmx_0p85: ldo3 { + regulator-name = "vreg_pmu_wlmx_0p85"; + }; + + vreg_pmu_btcmx_0p85: ldo4 { + regulator-name = "vreg_pmu_btcmx_0p85"; + }; + + vreg_pmu_rfa_0p8: ldo5 { + regulator-name = "vreg_pmu_rfa_0p8"; + }; + + vreg_pmu_rfa_1p2: ldo6 { + regulator-name = "vreg_pmu_rfa_1p2"; + }; + + vreg_pmu_rfa_1p8: ldo7 { + regulator-name = "vreg_pmu_rfa_1p8"; + }; + + vreg_pmu_pcie_0p9: ldo8 { + regulator-name = "vreg_pmu_pcie_0p9"; + }; + + vreg_pmu_pcie_1p8: ldo9 { + regulator-name = "vreg_pmu_pcie_1p8"; + }; + }; + }; +}; + +&apps_rsc { + regulators-0 { + compatible = "qcom,pm8550-rpmh-regulators"; + qcom,pmic-id = "b"; + + vdd-bob1-supply = <&vph_pwr>; + vdd-bob2-supply = <&vph_pwr>; + vdd-l1-l4-l10-supply = <&vreg_s6g_1p8>; + vdd-l2-l13-l14-supply = <&vreg_bob1>; + vdd-l3-supply = <&vreg_s4g_1p3>; + vdd-l5-l16-supply = <&vreg_bob1>; + vdd-l6-l7-supply = <&vreg_bob1>; + vdd-l8-l9-supply = <&vreg_bob1>; + vdd-l11-supply = <&vreg_s4g_1p3>; + vdd-l12-supply = <&vreg_s6g_1p8>; + vdd-l15-supply = <&vreg_s6g_1p8>; + vdd-l17-supply = <&vreg_bob2>; + + vreg_bob1: bob1 { + regulator-name = "vreg_bob1"; + regulator-min-microvolt = <3296000>; + regulator-max-microvolt = <3960000>; + regulator-initial-mode = ; + }; + + vreg_bob2: bob2 { + regulator-name = "vreg_bob2"; + regulator-min-microvolt = <2720000>; + regulator-max-microvolt = <3960000>; + regulator-initial-mode = ; + }; + + vreg_l2b_3p0: ldo2 { + regulator-name = "vreg_l2b_3p0"; + regulator-min-microvolt = <3008000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l5b_3p1: ldo5 { + regulator-name = "vreg_l5b_3p1"; + regulator-min-microvolt = <3104000>; + regulator-max-microvolt = <3104000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l6b_1p8: ldo6 { + regulator-name = "vreg_l6b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l7b_1p8: ldo7 { + regulator-name = "vreg_l7b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + }; + + vreg_l8b_1p8: ldo8 { + regulator-name = "vreg_l8b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l9b_2p9: ldo9 { + regulator-name = "vreg_l9b_2p9"; + regulator-min-microvolt = <2960000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l11b_1p2: ldo11 { + regulator-name = "vreg_l11b_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1504000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l12b_1p8: ldo12 { + regulator-name = "vreg_l12b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l13b_3p0: ldo13 { + regulator-name = "vreg_l13b_3p0"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l14b_3p2: ldo14 { + regulator-name = "vreg_l14b_3p2"; + regulator-min-microvolt = <3200000>; + regulator-max-microvolt = <3200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l15b_1p8: ldo15 { + regulator-name = "vreg_l15b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l16b_2p8: ldo16 { + regulator-name = "vreg_l16b_2p8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l17b_2p5: ldo17 { + regulator-name = "vreg_l17b_2p5"; + regulator-min-microvolt = <2504000>; + regulator-max-microvolt = <2504000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-1 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "c"; + + vdd-l1-supply = <&vreg_s4g_1p3>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4e_0p95>; + + vreg_l3c_0p9: ldo3 { + regulator-name = "vreg_l3c_0p9"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-2 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "d"; + + vdd-l1-supply = <&vreg_s4e_0p95>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4e_0p95>; + + vreg_l1d_0p88: ldo1 { + regulator-name = "vreg_l1d_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <920000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-3 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "e"; + + vdd-l1-supply = <&vreg_s4e_0p95>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4g_1p3>; + vdd-s4-supply = <&vph_pwr>; + vdd-s5-supply = <&vph_pwr>; + + vreg_s4e_0p95: smps4 { + regulator-name = "vreg_s4e_0p95"; + regulator-min-microvolt = <904000>; + regulator-max-microvolt = <984000>; + regulator-initial-mode = ; + }; + + vreg_s5e_1p08: smps5 { + regulator-name = "vreg_s5e_1p08"; + regulator-min-microvolt = <1010000>; + regulator-max-microvolt = <1120000>; + regulator-initial-mode = ; + }; + + vreg_l1e_0p88: ldo1 { + regulator-name = "vreg_l1e_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l2e_0p9: ldo2 { + regulator-name = "vreg_l2e_0p9"; + regulator-min-microvolt = <870000>; + regulator-max-microvolt = <970000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l3e_1p2: ldo3 { + regulator-name = "vreg_l3e_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-4 { + compatible = "qcom,pm8550ve-rpmh-regulators"; + qcom,pmic-id = "f"; + + vdd-l1-supply = <&vreg_s4e_0p95>; + vdd-l2-supply = <&vreg_s4e_0p95>; + vdd-l3-supply = <&vreg_s4e_0p95>; + vdd-s4-supply = <&vph_pwr>; + + vreg_s4f_0p5: smps4 { + regulator-name = "vreg_s4f_0p5"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <700000>; + regulator-initial-mode = ; + }; + + vreg_l1f_0p9: ldo1 { + regulator-name = "vreg_l1f_0p9"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l2f_0p88: ldo2 { + regulator-name = "vreg_l2f_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l3f_0p88: ldo3 { + regulator-name = "vreg_l3f_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; + + regulators-5 { + compatible = "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id = "g"; + + vdd-l1-supply = <&vreg_s4g_1p3>; + vdd-l2-supply = <&vreg_s4g_1p3>; + vdd-l3-supply = <&vreg_s4g_1p3>; + vdd-s1-supply = <&vph_pwr>; + vdd-s2-supply = <&vph_pwr>; + vdd-s3-supply = <&vph_pwr>; + vdd-s4-supply = <&vph_pwr>; + vdd-s5-supply = <&vph_pwr>; + vdd-s6-supply = <&vph_pwr>; + + vreg_s1g_1p2: smps1 { + regulator-name = "vreg_s1g_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1300000>; + regulator-initial-mode = ; + }; + + vreg_s2g_0p8: smps2 { + regulator-name = "vreg_s2g_0p8"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1000000>; + regulator-initial-mode = ; + }; + + vreg_s3g_0p7: smps3 { + regulator-name = "vreg_s3g_0p7"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1004000>; + regulator-initial-mode = ; + }; + + vreg_s4g_1p3: smps4 { + regulator-name = "vreg_s4g_1p3"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1352000>; + regulator-initial-mode = ; + }; + + vreg_s5g_0p8: smps5 { + regulator-name = "vreg_s5g_0p8"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1004000>; + regulator-initial-mode = ; + }; + + vreg_s6g_1p8: smps6 { + regulator-name = "vreg_s6g_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2000000>; + regulator-initial-mode = ; + }; + + vreg_l1g_1p2: ldo1 { + regulator-name = "vreg_l1g_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + + vreg_l3g_1p2: ldo3 { + regulator-name = "vreg_l3g_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + regulator-allow-set-load; + regulator-allowed-modes = ; + }; + }; +}; + +&gpi_dma1 { + status = "okay"; +}; + +&gpi_dma2 { + status = "okay"; +}; + +&gpu { + status = "okay"; + + zap-shader { + firmware-name = "qcom/sm8550/ayn/a740_zap.mbn"; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; +}; + +&i2c4 { + clock-frequency = <400000>; + status = "okay"; +}; + +&i2c12 { + clock-frequency = <400000>; + status = "okay"; +}; + +&i2c_master_hub_0 { + status = "okay"; +}; + +&i2c_hub_2 { + clock-frequency = <400000>; + status = "okay"; + + spk_amp_l: spk_amp_l@34 { + compatible = "awinic,aw88166"; + reg = <0x34>; + #sound-dai-cells = <1>; + reset-gpios = <&tlmm 103 GPIO_ACTIVE_LOW>; + awinic,audio-channel = <0>; + awinic,sync-flag; + sound-name-prefix = "SPK_L"; + }; + + spk_amp_r: spk_amp_r@35 { + compatible = "awinic,aw88166"; + reg = <0x35>; + #sound-dai-cells = <1>; + reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>; + awinic,audio-channel = <1>; + awinic,sync-flag; + sound-name-prefix = "SPK_R"; + }; +}; + +&iris { + status = "okay"; +}; + +&lpass_tlmm { + lpi_i2s3_active: lpi_i2s3-active-state { + sck-pins { + pins = "gpio12"; + function = "i2s3_clk"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + ws-pins { + pins = "gpio13"; + function = "i2s3_ws"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins = "gpio17"; + function = "i2s3_data"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + data1-pins { + pins = "gpio18"; + function = "i2s3_data"; + drive-strength = <8>; + bias-disable; + output-high; + }; + }; +}; + +&lpass_vamacro { + qcom,dmic-sample-rate = <4800000>; +}; + +&lpass_wsamacro { + status = "disabled"; +}; + +&mdss { + status = "okay"; +}; + +&mdss_dp0 { + status = "okay"; + sound-name-prefix = "Display Port0"; +}; + +&mdss_dsi1 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; + + display_panel: panel@0 { + reg = <0>; + + port { + panel1_in: endpoint { + remote-endpoint = <&mdss_dsi1_out>; + }; + }; + }; +}; + +&mdss_dsi1_out { + remote-endpoint = <&panel1_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi1_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; + +&pcie0 { + wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; + perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&pcie0_default_state>; + pinctrl-names = "default"; + + status = "okay"; +}; + +&pcieport0 { + wifi@0 { + compatible = "pci17cb,1107"; + reg = <0x10000 0x0 0x0 0x0 0x0>; + + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; + vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; + }; +}; + +&pcie0_phy { + vdda-phy-supply = <&vreg_l1e_0p88>; + vdda-pll-supply = <&vreg_l3e_1p2>; + + status = "okay"; +}; + +&pm8550_gpios { + fan_pwm_active: fan-pwm-active-state { + pins = "gpio8"; + function = "func1"; + input-disable; + output-enable; + output-low; + bias-disable; + power-source = <1>; + }; + + sdc2_card_det_n: sdc2-card-det-n-state { + pins = "gpio12"; + function = "normal"; + input-enable; + output-disable; + bias-pull-up; + power-source = <1>; + }; + + volume_up_n: volume-up-n-state { + pins = "gpio6"; + function = "normal"; + power-source = <1>; + bias-pull-up; + input-enable; + }; +}; + +&pm8550_pwm { + status = "okay"; + + power_led { + color = ; + label = "power-led"; + + #address-cells = <1>; + #size-cells = <0>; + + red@1 { + reg = <1>; + color = ; + }; + + green@2 { + reg = <2>; + color = ; + }; + + blue@3 { + reg = <3>; + color = ; + }; + }; +}; + +&pm8550b_eusb2_repeater { + qcom,tune-usb2-disc-thres = /bits/ 8 <0x6>; + qcom,tune-usb2-amplitude = /bits/ 8 <0xb>; + qcom,tune-usb2-preem = /bits/ 8 <0x3>; + vdd18-supply = <&vreg_l15b_1p8>; + vdd3-supply = <&vreg_l5b_3p1>; +}; + +&pmk8550_gpios { + pmk8550_sleep_clk: sleep-clk-state { + pins = "gpio3"; + function = "func1"; + input-disable; + output-enable; + bias-disable; + power-source = <0>; + }; + + pwm_backlight_default: pwm-backlight-default-state { + pins = "gpio5"; + function = "func3"; + input-disable; + output-low; + output-enable; + bias-disable; + power-source = <0>; + qcom,drive-strength = <2>; + }; +}; + +&pmk8550_rtc { + nvmem-cells = <&rtc_offset>; + nvmem-cell-names = "offset"; +}; + +&pmk8550_sdam_2 { + rtc_offset: rtc-offset@bc { + reg = <0xbc 0x4>; + }; +}; + +&pon_pwrkey { + status = "okay"; +}; + +&pon_resin { + linux,code = ; + + status = "okay"; +}; + +&qupv3_id_0 { + status = "okay"; +}; + +&qupv3_id_1 { + status = "okay"; +}; + +&remoteproc_cdsp { + firmware-name = "qcom/sm8550/ayn/cdsp.mbn", + "qcom/sm8550/ayn/cdsp_dtb.mbn"; + status = "okay"; +}; + +&sdhc_2 { + cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_default &sdc2_card_det_n>; + pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>; + vmmc-supply = <&vreg_l9b_2p9>; + vqmmc-supply = <&vreg_l8b_1p8>; + max-sd-hs-hz = <37500000>; + no-sdio; + no-mmc; + + qcom,dll-config = <0x0007442c>; + + status = "okay"; +}; + +&sleep_clk { + clock-frequency = <32764>; +}; + +&swr1 { + status = "okay"; + wcd_rx: codec@0,4 { + compatible = "sdw20217010d00"; + reg = <0 4>; + qcom,rx-port-mapping = <1 2 3 4 5>; + }; +}; + +&swr2 { + status = "okay"; + wcd_tx: codec@0,3 { + compatible = "sdw20217010d00"; + reg = <0 3>; + qcom,tx-port-mapping = <2 2 3 4>; + }; +}; + +&tlmm { + gpio-reserved-ranges = <32 8>; + + dsi_p_rst_active: dsi-p-rst-active-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + dsi_p_rst_suspend: dsi-p-rst-suspend-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + dsi_p_te_active: dsi-p-te-active-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + dsi_p_te_suspend: dsi-s-te-suspend-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + dsi_s_rst_active: dsi-s-rst-active-state { + pins = "gpio137"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + dsi_s_rst_suspend: dsi-s-rst-suspend-state { + pins = "gpio137"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + dsi_s_te_active: dsi-s-te-active-state { + pins = "gpio87"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + dsi_s_te_suspend: dsi-s-te-suspend-state { + pins = "gpio87"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + bt_default: bt-default-state { + bt-en-pins { + pins = "gpio81"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + }; + + sw-ctrl-pins { + pins = "gpio82"; + function = "gpio"; + bias-pull-down; + }; + }; + + fan_pwr_active: fan-pwr-active-state { + pins = "gpio109"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + output-low; + }; + + fan_int: fan-int-state { + pins = "gpio13"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + mcu_en_active: mcu-en-active-state { + pins = "gpio12"; + function = "gpio"; + bias-pull-down; + }; + + ts_p_rst_default: ts-p-rst-default-state { + pins = "gpio24"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_p_rst_sleep: ts-p-rst-sleep-state { + pins = "gpio24"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + + ts_p_int_default: ts-p-int-default-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_p_int_sleep: ts-p-int-sleep-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + + ts_s_rst_default: ts-s-rst-default-state { + pins = "gpio14"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_s_rst_sleep: ts-s-rst-sleep-state { + pins = "gpio14"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + + ts_s_int_default: ts-s-int-default-state { + pins = "gpio15"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + + ts_s_int_sleep: ts-s-int-sleep-state { + pins = "gpio15"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + + usb0_sbu_default: usb0-sbu-state { + oe-n-pins { + pins = "gpio140"; + function = "gpio"; + bias-disable; + drive-strength = <16>; + output-high; + }; + + sel-pins { + pins = "gpio141"; + function = "gpio"; + bias-disable; + drive-strength = <16>; + }; + }; + + wcd_default: wcd-reset-n-active-state { + pins = "gpio108"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + output-low; + }; + + wlan_en: wlan-en-state { + pins = "gpio80"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; +}; + +&uart7 { + status = "okay"; +}; + +&uart14 { + status = "okay"; + + bluetooth { + compatible = "qcom,wcn7850-bt"; + + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + + max-speed = <3200000>; + }; +}; + +&uart15 { + status = "okay"; + + gamepad { + compatible = "gamepad,rsinput"; + + gamepad-name = "AYN Odin2 Gamepad"; + gamepad-bus = <0x0003>; + gamepad-vid = <0x2020>; + gamepad-pid = <0x3001>; + gamepad-rev = <0x0001>; + + vdd-supply = <&vreg_bob2>; + enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&mcu_en_active>; + pinctrl-names = "default"; + }; +}; + +&ufs_mem_hc { + reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; + vcc-supply = <&vreg_l17b_2p5>; + vcc-max-microamp = <1300000>; + vccq-supply = <&vreg_l1g_1p2>; + vccq-max-microamp = <1200000>; + vdd-hba-supply = <&vreg_l3g_1p2>; + + status = "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply = <&vreg_l1d_0p88>; + vdda-pll-supply = <&vreg_l3e_1p2>; + + status = "okay"; +}; + +&usb_1 { + status = "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint = <&pmic_glink_hs_in>; +}; + +&usb_1_hsphy { + phys = <&pm8550b_eusb2_repeater>; + + vdd-supply = <&vreg_l1e_0p88>; + vdda12-supply = <&vreg_l3e_1p2>; + + status = "okay"; +}; + +&usb_dp_qmpphy { + vdda-phy-supply = <&vreg_l3e_1p2>; + vdda-pll-supply = <&vreg_l3f_0p88>; + + mode-switch; + + status = "okay"; +}; + +&usb_dp_qmpphy_out { + remote-endpoint = <&pmic_glink_ss_in>; +}; + +&xo_board { + clock-frequency = <76800000>; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2.dts new file mode 100644 index 0000000000..98cf638b24 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2.dts @@ -0,0 +1,323 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +/dts-v1/; + +#include "qcs8550-ayn-common.dtsi" + +/ { + model = "AYN Odin 2"; + compatible = "ayn,odin2", "qcom,qcs8550", "qcom,sm8550"; + qcom,msm-id = <603 0x20000>; + qcom,board-id = <0x1001f 0>; + + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pmk8550_pwm 0 860000>; + brightness-levels = <1023 0>; + num-interpolated-steps = <1023>; + default-brightness-level = <600>; + power-supply = <&vph_pwr>; + enable-gpios = <&pmk8550_gpios 5 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pwm_backlight_default>; + status = "okay"; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "d"; + hpd-gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>; + hdmi-pwr-supply = <&vdd_hdmi_1v8>; + + port { + hdmi_con: endpoint { + remote-endpoint = <<8912_out>; + }; + }; + }; + + led_left_side: led-controller-1 { + compatible = "pwm-leds-multicolor"; + + multi-led { + label = "left-side"; + color = ; + max-brightness = <255>; + + led-red { + color = ; + pwms = <&pwm_rgb_left 0>; + }; + + led-green { + color = ; + pwms = <&pwm_rgb_left 1>; + }; + + led-blue { + color = ; + pwms = <&pwm_rgb_left 2>; + }; + }; + }; + + led_left_joystick: led-controller-2 { + compatible = "pwm-leds-multicolor"; + + multi-led { + label = "left-joystick"; + color = ; + max-brightness = <255>; + + led-red { + color = ; + pwms = <&pwm_rgb_left 6>; + }; + + led-green { + color = ; + pwms = <&pwm_rgb_left 7>; + }; + + led-blue { + color = ; + pwms = <&pwm_rgb_left 8>; + }; + }; + }; + + led_right_side: led-controller-3 { + compatible = "pwm-leds-multicolor"; + + multi-led { + label = "right-side"; + color = ; + max-brightness = <255>; + + led-red { + color = ; + pwms = <&pwm_rgb_right 0>; + }; + + led-green { + color = ; + pwms = <&pwm_rgb_right 1>; + }; + + led-blue { + color = ; + pwms = <&pwm_rgb_right 2>; + }; + }; + }; + + led_right_joystick: led-controller-4 { + compatible = "pwm-leds-multicolor"; + + multi-led { + label = "right-joystick"; + color = ; + max-brightness = <255>; + + led-red { + color = ; + pwms = <&pwm_rgb_right 6>; + }; + + led-green { + color = ; + pwms = <&pwm_rgb_right 7>; + }; + + led-blue { + color = ; + pwms = <&pwm_rgb_right 8>; + }; + }; + }; + + vcc_hdmi_1v8: vcc-hdmi-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc_hdmi_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_2v8: vdd-disp-2v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp_2v8"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_hdmi_1v8: vdd-hdmi-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_hdmi_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&display_panel { + compatible = "syna,td4328"; + + pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; + pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; + pinctrl-names = "default", "sleep"; + + vdd-supply = <&vdd_disp_2v8>; + vddio-supply = <&vreg_l12b_1p8>; + + backlight = <&backlight>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <90>; +}; + +&i2c0 { + pwm_rgb_left: sn3112@54 { + compatible = "si-en,sn3112-pwm"; + reg = <0x54>; + sdb-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>; + vdd-supply = <&vdd_mcu_3v3>; + #pwm-cells = <1>; + }; +}; + +&i2c4 { + touchscreen@20 { + compatible = "syna,rmi4-i2c"; + reg = <0x20>; + #address-cells = <1>; + #size-cells = <0>; + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ts_p_int_default>; + pinctrl-1 = <&ts_p_int_sleep>; + + vio-supply = <&vreg_l12b_1p8>; + + syna,startup-delay-ms = <200>; + syna,reset-delay-ms = <200>; + + rmi4-f01@1 { + syna,nosleep-mode = <0x1>; + reg = <0x1>; + }; + + rmi4-f12@12 { + reg = <0x12>; + syna,rezero-wait-ms = <20>; + syna,clip-x-low = <0>; + syna,clip-y-low = <0>; + syna,clip-x-high = <1080>; + syna,clip-y-high = <1920>; + syna,sensor-type = <1>; + touchscreen-inverted-x; + }; + }; +}; + +&i2c12 { + pwm_rgb_right: sn3112@54 { + compatible = "si-en,sn3112-pwm"; + reg = <0x54>; + sdb-gpios = <&tlmm 56 GPIO_ACTIVE_LOW>; + vdd-supply = <&vdd_mcu_3v3>; + #pwm-cells = <1>; + }; +}; + +&i2c_hub_0 { + clock-frequency = <100000>; + status = "okay"; + + lt8912_codec: hdmi-bridge@48 { + compatible = "lontium,lt8912b"; + reg = <0x48> ; + + reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; + + vdd-supply = <&vdd_hdmi_1v8>; + vccmipirx-supply = <&vcc_hdmi_1v8>; + vccsysclk-supply = <&vcc_hdmi_1v8>; + vcclvdstx-supply = <&vcc_hdmi_1v8>; + vcchdmitx-supply = <&vcc_hdmi_1v8>; + vcclvdspll-supply = <&vcc_hdmi_1v8>; + vcchdmipll-supply = <&vcc_hdmi_1v8>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + hdmi_out_in: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + + port@1 { + reg = <1>; + + lt8912_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint = <&hdmi_out_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; + +&pmk8550_pwm { + status = "okay"; +}; + +&remoteproc_adsp { + firmware-name = "qcom/sm8550/ayn/odin2/adsp.mbn", + "qcom/sm8550/ayn/odin2/adsp_dtb.mbn"; + status = "okay"; +}; + +&spk_amp_l { + firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; +}; + diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2mini.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2mini.dts new file mode 100644 index 0000000000..c3f0219cdb --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2mini.dts @@ -0,0 +1,192 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +/dts-v1/; + +#include "qcs8550-ayn-common.dtsi" + +/ { + model = "AYN Odin 2 Mini"; + compatible = "ayn,odin2mini", "qcom,qcs8550", "qcom,sm8550"; + qcom,msm-id = <603 0x20000>; + qcom,board-id = <0x1001f 0>; + + hdmi-out { + compatible = "hdmi-connector"; + type = "d"; + hpd-gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>; + hdmi-pwr-supply = <&vdd_hdmi_1v8>; + + port { + hdmi_con: endpoint { + remote-endpoint = <<8912_out>; + }; + }; + }; + + vcc_hdmi_1v8: vcc-hdmi-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc_hdmi_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_bl_5v0: vdd-bl-5v0-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_bl_5v0"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&tlmm 55 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_2v8: vdd-disp-2v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp_2v8"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_hdmi_1v8: vdd-hdmi-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_hdmi_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&display_panel { + compatible = "boe,xm91080g"; + + pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; + pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; + pinctrl-names = "default", "sleep"; + + vdd-supply = <&vreg_l11b_1p2>; + vddio-supply = <&vreg_l12b_1p8>; + vci-supply = <&vreg_l13b_3p0>; + disp-supply = <&vdd_disp_2v8>; + blvdd-supply = <&vdd_bl_5v0>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <90>; +}; + +&i2c0 { + backlight: backlight@46 { + compatible = "ayn,odin2miniled"; + reg = <0x46>; + enable-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; + vcc_1v2-supply = <&vreg_l11b_1p2>; + vcc_3v3-supply = <&vreg_bob2>; + }; +}; + +&i2c4 { + touchscreen@1a { + compatible = "hynitron,cst340"; + reg = <0x1a>; + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + vdd-supply = <&vreg_l2b_3p0>; + + pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; + pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1920>; + touchscreen-size-y = <1080>; + touchscreen-swapped-x-y; + touchscreen-inverted-y; + }; +}; + +&i2c_hub_0 { + clock-frequency = <100000>; + status = "okay"; + + lt8912_codec: hdmi-bridge@48 { + compatible = "lontium,lt8912b"; + reg = <0x48> ; + + reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; + + vdd-supply = <&vdd_hdmi_1v8>; + vccmipirx-supply = <&vcc_hdmi_1v8>; + vccsysclk-supply = <&vcc_hdmi_1v8>; + vcclvdstx-supply = <&vcc_hdmi_1v8>; + vcchdmitx-supply = <&vcc_hdmi_1v8>; + vcclvdspll-supply = <&vcc_hdmi_1v8>; + vcchdmipll-supply = <&vcc_hdmi_1v8>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + hdmi_out_in: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + + port@1 { + reg = <1>; + + lt8912_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint = <&hdmi_out_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; + +&remoteproc_adsp { + firmware-name = "qcom/sm8550/ayn/odin2mini/adsp.mbn", + "qcom/sm8550/ayn/odin2mini/adsp_dtb.mbn"; + status = "okay"; +}; + +&spk_amp_l { + firmware-name = "qcom/sm8550/ayn/odin2mini/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name = "qcom/sm8550/ayn/odin2mini/aw883xx_acf.bin"; +}; + diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2portal.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2portal.dts new file mode 100644 index 0000000000..70e7e64dc8 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-odin2portal.dts @@ -0,0 +1,294 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +/dts-v1/; + +#include "qcs8550-ayn-common.dtsi" + +/ { + model = "AYN Odin 2 Portal"; + compatible = "ayn,odin2portal", "qcom,qcs8550", "qcom,sm8550"; + qcom,msm-id = <603 0x20000>; + qcom,board-id = <0x1001f 0>; + + vdd_bl_5v0: vdd-bl-5v0-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_bl_5v0"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_2v8: vdd-disp-2v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp_2v8"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + multi-ledr1 { + compatible = "leds-group-multicolor"; + color = ; + function = "r1"; + leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; + }; + + multi-ledl1 { + compatible = "leds-group-multicolor"; + color = ; + function = "l1"; + leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; + }; + + multi-ledr2 { + compatible = "leds-group-multicolor"; + color = ; + function = "r2"; + leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; + }; + + multi-ledl2 { + compatible = "leds-group-multicolor"; + color = ; + function = "l2"; + leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; + }; + + multi-ledr3 { + compatible = "leds-group-multicolor"; + color = ; + function = "r3"; + leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; + }; + + multi-ledl3 { + compatible = "leds-group-multicolor"; + color = ; + function = "l3"; + leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; + }; + + multi-ledr4 { + compatible = "leds-group-multicolor"; + color = ; + function = "r4"; + leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; + }; + + multi-ledl4 { + compatible = "leds-group-multicolor"; + color = ; + function = "l4"; + leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; + }; +}; + +&display_panel { + compatible = "chipone,icna3512"; + + pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; + pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; + pinctrl-names = "default", "sleep"; + + vdd-supply = <&vreg_l11b_1p2>; + vddio-supply = <&vreg_l12b_1p8>; + vci-supply = <&vreg_l13b_3p0>; + disp-supply = <&vdd_disp_2v8>; + blvdd-supply = <&vdd_bl_5v0>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <270>; +}; + +&i2c0 { + htr3212l: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vdd_mcu_3v3>; + + ledl_b1: led@1 { + reg = <1>; + label = "l:r1"; + color = ; + }; + ledl_g1: led@2 { + reg = <2>; + label = "l:g1"; + color = ; + }; + ledl_r1: led@3 { + reg = <3>; + label = "l:b1"; + color = ; + }; + ledl_b2: led@4 { + reg = <4>; + label = "l:r2"; + color = ; + }; + ledl_g2: led@5 { + reg = <5>; + label = "l:g2"; + color = ; + }; + ledl_r2: led@6 { + reg = <6>; + label = "l:b2"; + color = ; + }; + ledl_b3: led@7 { + reg = <7>; + label = "l:r3"; + color = ; + }; + ledl_g3: led@8 { + reg = <8>; + label = "l:g3"; + color = ; + }; + ledl_r3: led@9 { + reg = <9>; + label = "l:b3"; + color = ; + }; + ledl_b4: led@10 { + reg = <10>; + label = "l:r4"; + color = ; + }; + ledl_g4: led@11 { + reg = <11>; + label = "l:g4"; + color = ; + }; + ledl_r4: led@12 { + reg = <12>; + label = "l:b4"; + color = ; + }; + }; +}; + +&i2c4 { + touchscreen@38 { + compatible = "focaltech,ft5426"; + reg = <0x38>; + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l14b_3p2>; + iovcc-supply = <&vreg_l12b_1p8>; + + pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; + pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + }; +}; + +&i2c12 { + htr3212r: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vdd_mcu_3v3>; + + ledr_b1: led@1 { + reg = <1>; + label = "r:r1"; + color = ; + }; + ledr_g1: led@2 { + reg = <2>; + label = "r:g1"; + color = ; + }; + ledr_r1: led@3 { + reg = <3>; + label = "r:b1"; + color = ; + }; + ledr_b2: led@4 { + reg = <4>; + label = "r:r2"; + color = ; + }; + ledr_g2: led@5 { + reg = <5>; + label = "r:g2"; + color = ; + }; + ledr_r2: led@6 { + reg = <6>; + label = "r:b2"; + color = ; + }; + ledr_b3: led@7 { + reg = <7>; + label = "r:r3"; + color = ; + }; + ledr_g3: led@8 { + reg = <8>; + label = "r:g3"; + color = ; + }; + ledr_r3: led@9 { + reg = <9>; + label = "r:b3"; + color = ; + }; + ledr_b4: led@10 { + reg = <10>; + label = "r:r4"; + color = ; + }; + ledr_g4: led@11 { + reg = <11>; + label = "r:g4"; + color = ; + }; + ledr_r4: led@12 { + reg = <12>; + label = "r:b4"; + color = ; + }; + }; +}; + +&remoteproc_adsp { + firmware-name = "qcom/sm8550/ayn/odin2portal/adsp.mbn", + "qcom/sm8550/ayn/odin2portal/adsp_dtb.mbn"; + status = "okay"; +}; + +&spk_amp_l { + firmware-name = "qcom/sm8550/ayn/odin2portal/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name = "qcom/sm8550/ayn/odin2portal/aw883xx_acf.bin"; +}; + diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-thor.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-thor.dts new file mode 100644 index 0000000000..5a22a5dd2f --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-ayn-thor.dts @@ -0,0 +1,434 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +/dts-v1/; + +#include "qcs8550-ayn-common.dtsi" + +/ { + model = "AYN Thor"; + compatible = "ayn,thor", "qcom,qcs8550", "qcom,sm8550"; + qcom,msm-id = <603 0x20000>; + qcom,board-id = <0x1001f 0>; + + gpio-keys { + compatible = "gpio-keys"; + + key-ayn { + label = "AYN Key"; + debounce-interval = <15>; + gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; + linux,code = ; + linux,can-disable; + }; + + hall-lid-sensor { + label = "Hall Lid Sensor"; + gpios = <&tlmm 17 GPIO_ACTIVE_LOW>; + linux,input-type = ; + linux,code = ; + linux,can-disable; + wakeup-source; + }; + }; + + vdd_bl_5v0: vdd-bl-5v0-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_bl_5v0"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_1v8: vdd-disp-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp1_2v8: vdd-disp1-2v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp1_2v8"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp2_2v8: vdd-disp2-2v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp2_2v8"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 143 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_ts_3v0: vdd-ts-3v0-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_ts_3v0"; + + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + + gpio = <&tlmm 144 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_ts_1v8: vdd-ts-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_ts_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + multi-ledr1 { + compatible = "leds-group-multicolor"; + color = ; + function = "r1"; + leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; + }; + + multi-ledl1 { + compatible = "leds-group-multicolor"; + color = ; + function = "l1"; + leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; + }; + + multi-ledr2 { + compatible = "leds-group-multicolor"; + color = ; + function = "r2"; + leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; + }; + + multi-ledl2 { + compatible = "leds-group-multicolor"; + color = ; + function = "l2"; + leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; + }; + + multi-ledr3 { + compatible = "leds-group-multicolor"; + color = ; + function = "r3"; + leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; + }; + + multi-ledl3 { + compatible = "leds-group-multicolor"; + color = ; + function = "l3"; + leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; + }; + + multi-ledr4 { + compatible = "leds-group-multicolor"; + color = ; + function = "r4"; + leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; + }; + + multi-ledl4 { + compatible = "leds-group-multicolor"; + color = ; + function = "l4"; + leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; + }; +}; + +&display_panel { + compatible = "chipone,icna3520"; + + pinctrl-0 = <&dsi_s_rst_active>, <&dsi_s_te_active>; + pinctrl-1 = <&dsi_s_rst_suspend>, <&dsi_s_te_suspend>; + pinctrl-names = "default", "sleep"; + + vdd-supply = <&vreg_l11b_1p2>; + vddio-supply = <&vreg_l12b_1p8>; + vci-supply = <&vreg_l14b_3p2>; + disp-supply = <&vdd_disp1_2v8>; + blvdd-supply = <&vdd_bl_5v0>; + + reset-gpios = <&tlmm 137 GPIO_ACTIVE_LOW>; + + rotation = <90>; +}; + +&i2c0 { + htr3212l: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vdd_mcu_3v3>; + + ledl_b1: led@1 { + reg = <1>; + label = "l:r1"; + color = ; + }; + ledl_g1: led@2 { + reg = <2>; + label = "l:g1"; + color = ; + }; + ledl_r1: led@3 { + reg = <3>; + label = "l:b1"; + color = ; + }; + ledl_b2: led@4 { + reg = <4>; + label = "l:r2"; + color = ; + }; + ledl_g2: led@5 { + reg = <5>; + label = "l:g2"; + color = ; + }; + ledl_r2: led@6 { + reg = <6>; + label = "l:b2"; + color = ; + }; + ledl_b3: led@7 { + reg = <7>; + label = "l:r3"; + color = ; + }; + ledl_g3: led@8 { + reg = <8>; + label = "l:g3"; + color = ; + }; + ledl_r3: led@9 { + reg = <9>; + label = "l:b3"; + color = ; + }; + ledl_b4: led@10 { + reg = <10>; + label = "l:r4"; + color = ; + }; + ledl_g4: led@11 { + reg = <11>; + label = "l:g4"; + color = ; + }; + ledl_r4: led@12 { + reg = <12>; + label = "l:b4"; + color = ; + }; + }; +}; + +&i2c4 { + touchscreen@38 { + compatible = "focaltech,ft5426"; + reg = <0x38>; + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l14b_3p2>; + iovcc-supply = <&vreg_l12b_1p8>; + + pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; + pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + touchscreen-swapped-x-y; + touchscreen-inverted-x; + }; +}; + +&i2c12 { + htr3212r: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vdd_mcu_3v3>; + + ledr_b1: led@1 { + reg = <1>; + label = "r:r1"; + color = ; + }; + ledr_g1: led@2 { + reg = <2>; + label = "r:g1"; + color = ; + }; + ledr_r1: led@3 { + reg = <3>; + label = "r:b1"; + color = ; + }; + ledr_b2: led@4 { + reg = <4>; + label = "r:r2"; + color = ; + }; + ledr_g2: led@5 { + reg = <5>; + label = "r:g2"; + color = ; + }; + ledr_r2: led@6 { + reg = <6>; + label = "r:b2"; + color = ; + }; + ledr_b3: led@7 { + reg = <7>; + label = "r:r3"; + color = ; + }; + ledr_g3: led@8 { + reg = <8>; + label = "r:g3"; + color = ; + }; + ledr_r3: led@9 { + reg = <9>; + label = "r:b3"; + color = ; + }; + ledr_b4: led@10 { + reg = <10>; + label = "r:r4"; + color = ; + }; + ledr_g4: led@11 { + reg = <11>; + label = "r:g4"; + color = ; + }; + ledr_r4: led@12 { + reg = <12>; + label = "r:b4"; + color = ; + }; + }; +}; + +&i2c_hub_3 { + clock-frequency = <100000>; + status = "okay"; + + touchscreen@38 { + compatible = "focaltech,ft5452"; + reg = <0x38>; + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vdd_ts_3v0>; + iovcc-supply = <&vdd_ts_1v8>; + + pinctrl-0 = <&ts_s_rst_default &ts_s_int_default>; + pinctrl-1 = <&ts_s_rst_sleep &ts_s_int_sleep>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <1240>; + touchscreen-swapped-x-y; + touchscreen-inverted-x; + + no-regmap-bulk-read; + }; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; + + panel@0 { + reg = <0>; + compatible = "ch13726a,thor"; + + pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; + pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; + pinctrl-names = "default", "sleep"; + + vdd1v2-supply = <&vreg_l11b_1p2>; + vddio-supply = <&vdd_disp_1v8>; + vdd-supply = <&vreg_l13b_3p0>; + avdd-supply = <&vdd_disp2_2v8>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>; + + rotation = <90>; + + port { + panel0_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel0_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; + +&mdss_dsi1_out { + qcom,te-source = "mdp_vsync_s"; +}; + +&remoteproc_adsp { + firmware-name = "qcom/sm8550/ayn/thor/adsp.mbn", + "qcom/sm8550/ayn/thor/adsp_dtb.mbn"; + status = "okay"; +}; + +&spk_amp_l { + firmware-name = "qcom/sm8550/ayn/thor/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name = "qcom/sm8550/ayn/thor/aw883xx_acf.bin"; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-retroidpocket-rp6.dts b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-retroidpocket-rp6.dts new file mode 100644 index 0000000000..f6a69da959 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/linux/dts/qcom/qcs8550-retroidpocket-rp6.dts @@ -0,0 +1,361 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (C) 2026-present ROCKNIX (https://github.com/ROCKNIX). + */ + +/dts-v1/; + +#include "qcs8550-ayn-common.dtsi" + +/ { + model = "Retroid Pocket 6"; + compatible = "retroidpocket,rp6", "qcom,qcs8550", "qcom,sm8550"; + qcom,board-id = <0x1001f 0x00>; + qcom,msm-id = <0x25b 0x20000>; + + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pmk8550_pwm 0 860000>; + brightness-levels = <1023 0>; + num-interpolated-steps = <1023>; + default-brightness-level = <600>; + power-supply = <&vph_pwr>; + enable-gpios = <&pmk8550_gpios 5 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pwm_backlight_default>; + status = "okay"; + }; + + vdd_disp_1v8: vdd-disp-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_2v8: vdd-disp-2v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_disp_2v8"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + ts_avdd_3v0: regulator-ts-avdd-3v0 { + compatible = "regulator-fixed"; + regulator-name = "ts_avdd_3v0"; + + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + + gpio = <&tlmm 144 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + ts_vddio_1v8: regulator-ts-vddio-1v8 { + compatible = "regulator-fixed"; + regulator-name = "ts_vddio_1v8"; + + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + multi-ledr1 { + compatible = "leds-group-multicolor"; + color = ; + function = "r1"; + leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; + }; + + multi-ledl1 { + compatible = "leds-group-multicolor"; + color = ; + function = "l1"; + leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; + }; + + multi-ledr2 { + compatible = "leds-group-multicolor"; + color = ; + function = "r2"; + leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; + }; + + multi-ledl2 { + compatible = "leds-group-multicolor"; + color = ; + function = "l2"; + leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; + }; + + multi-ledr3 { + compatible = "leds-group-multicolor"; + color = ; + function = "r3"; + leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; + }; + + multi-ledl3 { + compatible = "leds-group-multicolor"; + color = ; + function = "l3"; + leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; + }; + + multi-ledr4 { + compatible = "leds-group-multicolor"; + color = ; + function = "r4"; + leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; + }; + + multi-ledl4 { + compatible = "leds-group-multicolor"; + color = ; + function = "l4"; + leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; + }; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l3e_1p2>; + status = "okay"; + + panel@0 { + reg = <0>; + compatible = "retroid,pocket-6-panel"; + + pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; + pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; + pinctrl-names = "default", "sleep"; + + vddio-supply = <&vdd_disp_1v8>; + avdd-supply = <&vdd_disp_2v8>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + backlight = <&backlight>; + + rotation = <270>; + + port { + panel0_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel0_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1e_0p88>; + status = "okay"; +}; + +&mdss_dsi1 { + status = "disabled"; +}; + +&i2c0 { + htr3212l: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vdd_mcu_3v3>; + + ledl_b1: led@1 { + reg = <1>; + label = "l:r1"; + color = ; + }; + ledl_g1: led@2 { + reg = <2>; + label = "l:g1"; + color = ; + }; + ledl_r1: led@3 { + reg = <3>; + label = "l:b1"; + color = ; + }; + ledl_b2: led@4 { + reg = <4>; + label = "l:r2"; + color = ; + }; + ledl_g2: led@5 { + reg = <5>; + label = "l:g2"; + color = ; + }; + ledl_r2: led@6 { + reg = <6>; + label = "l:b2"; + color = ; + }; + ledl_b3: led@7 { + reg = <7>; + label = "l:r3"; + color = ; + }; + ledl_g3: led@8 { + reg = <8>; + label = "l:g3"; + color = ; + }; + ledl_r3: led@9 { + reg = <9>; + label = "l:b3"; + color = ; + }; + ledl_b4: led@10 { + reg = <10>; + label = "l:r4"; + color = ; + }; + ledl_g4: led@11 { + reg = <11>; + label = "l:g4"; + color = ; + }; + ledl_r4: led@12 { + reg = <12>; + label = "l:b4"; + color = ; + }; + }; +}; + +&i2c12 { + htr3212r: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vdd_mcu_3v3>; + + ledr_b1: led@1 { + reg = <1>; + label = "r:r1"; + color = ; + }; + ledr_g1: led@2 { + reg = <2>; + label = "r:g1"; + color = ; + }; + ledr_r1: led@3 { + reg = <3>; + label = "r:b1"; + color = ; + }; + ledr_b2: led@4 { + reg = <4>; + label = "r:r2"; + color = ; + }; + ledr_g2: led@5 { + reg = <5>; + label = "r:g2"; + color = ; + }; + ledr_r2: led@6 { + reg = <6>; + label = "r:b2"; + color = ; + }; + ledr_b3: led@7 { + reg = <7>; + label = "r:r3"; + color = ; + }; + ledr_g3: led@8 { + reg = <8>; + label = "r:g3"; + color = ; + }; + ledr_r3: led@9 { + reg = <9>; + label = "r:b3"; + color = ; + }; + ledr_b4: led@10 { + reg = <10>; + label = "r:r4"; + color = ; + }; + ledr_g4: led@11 { + reg = <11>; + label = "r:g4"; + color = ; + }; + ledr_r4: led@12 { + reg = <12>; + label = "r:b4"; + color = ; + }; + }; +}; + +&i2c_hub_3 { + clock-frequency = <100000>; + status = "okay"; + touchscreen@38 { + compatible = "focaltech,ft5426"; + reg = <0x38>; + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>; + + vcc-supply = <&ts_avdd_3v0>; + iovcc-supply = <&ts_vddio_1v8>; + + pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; + pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + touchscreen-inverted-y; + + no-regmap-bulk-read; + }; +}; + +&pmk8550_pwm { + status = "okay"; +}; + +&remoteproc_adsp { + firmware-name = "qcom/sm8550/ayn/odin2/adsp.mbn", + "qcom/sm8550/ayn/odin2/adsp_dtb.mbn"; + status = "okay"; +}; + +&spk_amp_l { + firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; +}; diff --git a/projects/ROCKNIX/devices/SM8550/linux/linux.aarch64.conf b/projects/ROCKNIX/devices/SM8550/linux/linux.aarch64.conf index 1d76447fd8..28c9af1b58 100644 --- a/projects/ROCKNIX/devices/SM8550/linux/linux.aarch64.conf +++ b/projects/ROCKNIX/devices/SM8550/linux/linux.aarch64.conf @@ -1830,7 +1830,7 @@ CONFIG_PCI_EPF_TEST=m CONFIG_HAVE_PWRCTRL=y CONFIG_PCI_PWRCTRL=y CONFIG_PCI_PWRCTRL_PWRSEQ=m -CONFIG_PCI_PWRCTRL_SLOT=y +CONFIG_PCI_PWRCTRL_GENERIC=y # CONFIG_CXL_BUS is not set # CONFIG_PCCARD is not set # CONFIG_RAPIDIO is not set diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0020-pci_pwrctrl_slot_fix_dev_err_probe_usage.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0020-pci_pwrctrl_slot_fix_dev_err_probe_usage.patch new file mode 100644 index 0000000000..9aa8cc1984 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/patches/linux/0020-pci_pwrctrl_slot_fix_dev_err_probe_usage.patch @@ -0,0 +1,53 @@ +From c9b89b339b96feedb47fa9485806433571261b1b Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 6 Feb 2026 15:26:54 +0100 +Subject: [PATCH] pci: pwrctrl: slot: fix dev_err_probe() usage + +The code was not returning dev_err_probe() but dev_err_probe() +returns the error code, so simplify the code. + +Suggested-by: Bartosz Golaszewski +Signed-off-by: Neil Armstrong +--- + drivers/pci/pwrctrl/slot.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/slot.c +index 3320494b62d8..08e53243cdbd 100644 +--- a/drivers/pci/pwrctrl/slot.c ++++ b/drivers/pci/pwrctrl/slot.c +@@ -40,17 +40,14 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev) + + ret = of_regulator_bulk_get_all(dev, dev_of_node(dev), + &slot->supplies); +- if (ret < 0) { +- dev_err_probe(dev, ret, "Failed to get slot regulators\n"); +- return ret; +- } ++ if (ret < 0) ++ return dev_err_probe(dev, ret, "Failed to get slot regulators\n"); + + slot->num_supplies = ret; + ret = regulator_bulk_enable(slot->num_supplies, slot->supplies); + if (ret < 0) { +- dev_err_probe(dev, ret, "Failed to enable slot regulators\n"); + regulator_bulk_free(slot->num_supplies, slot->supplies); +- return ret; ++ return dev_err_probe(dev, ret, "Failed to enable slot regulators\n"); + } + + ret = devm_add_action_or_reset(dev, devm_pci_pwrctrl_slot_power_off, +@@ -59,10 +56,9 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev) + return ret; + + clk = devm_clk_get_optional_enabled(dev, NULL); +- if (IS_ERR(clk)) { ++ if (IS_ERR(clk)) + return dev_err_probe(dev, PTR_ERR(clk), + "Failed to enable slot clock\n"); +- } + + pci_pwrctrl_init(&slot->ctx, dev); + +-- +GitLab diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0021-pci_pwrctrl_rename_pci-pwrctrl-slot_as_generic.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0021-pci_pwrctrl_rename_pci-pwrctrl-slot_as_generic.patch new file mode 100644 index 0000000000..95492774d6 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/patches/linux/0021-pci_pwrctrl_rename_pci-pwrctrl-slot_as_generic.patch @@ -0,0 +1,58 @@ +From ebc770d74b55452d29b7d89c3d0c693fa84b6e00 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 6 Feb 2026 15:30:36 +0100 +Subject: [PATCH] pci: pwrctrl: rename pci-pwrctrl-slot as generic + +The driver is pretty generic and would fit for either +PCI Slots or PCI devices connected to PCI ports, so rename +the driver and module as pci-pwrctrl-generic. + +Suggested-by: Manivannan Sadhasivam +Signed-off-by: Neil Armstrong +--- + drivers/pci/pwrctrl/Kconfig | 8 ++++---- + drivers/pci/pwrctrl/Makefile | 4 ++-- + drivers/pci/pwrctrl/{slot.c => generic.c} | 0 + 3 files changed, 6 insertions(+), 6 deletions(-) + rename drivers/pci/pwrctrl/{slot.c => generic.c} (100%) + +diff --git a/drivers/pci/pwrctrl/Kconfig b/drivers/pci/pwrctrl/Kconfig +index e0f999f299bb..0a93ac4cd11b 100644 +--- a/drivers/pci/pwrctrl/Kconfig ++++ b/drivers/pci/pwrctrl/Kconfig +@@ -11,12 +11,12 @@ config PCI_PWRCTRL_PWRSEQ + select POWER_SEQUENCING + select PCI_PWRCTRL + +-config PCI_PWRCTRL_SLOT +- tristate "PCI Power Control driver for PCI slots" ++config PCI_PWRCTRL_GENERIC ++ tristate "Generic PCI Power Control driver for PCI slots" + select PCI_PWRCTRL + help +- Say Y here to enable the PCI Power Control driver to control the power +- state of PCI slots. ++ Say Y here to enable the generic PCI Power Control driver to control ++ the power state of PCI slots. + + This is a generic driver that controls the power state of different + PCI slots. The voltage regulators powering the rails of the PCI slots +diff --git a/drivers/pci/pwrctrl/Makefile b/drivers/pci/pwrctrl/Makefile +index 13b02282106c..f6bb4fb9a410 100644 +--- a/drivers/pci/pwrctrl/Makefile ++++ b/drivers/pci/pwrctrl/Makefile +@@ -5,5 +5,5 @@ pci-pwrctrl-core-y := core.o + + obj-$(CONFIG_PCI_PWRCTRL_PWRSEQ) += pci-pwrctrl-pwrseq.o + +-obj-$(CONFIG_PCI_PWRCTRL_SLOT) += pci-pwrctrl-slot.o +-pci-pwrctrl-slot-y := slot.o ++obj-$(CONFIG_PCI_PWRCTRL_GENERIC) += pci-pwrctrl-generic.o ++pci-pwrctrl-generic-y := generic.o + +diff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/generic.c +similarity index 100% +rename from drivers/pci/pwrctrl/slot.c +rename to drivers/pci/pwrctrl/generic.c +-- +GitLab diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0022-pci_pwrctrl_generic_support_for_the_UPD720201_UPD720202.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0022-pci_pwrctrl_generic_support_for_the_UPD720201_UPD720202.patch new file mode 100644 index 0000000000..4db039a8d5 --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/patches/linux/0022-pci_pwrctrl_generic_support_for_the_UPD720201_UPD720202.patch @@ -0,0 +1,31 @@ +From a35feaf5bb558f420e96f7d5bb6e6078703e8b81 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 6 Feb 2026 15:32:42 +0100 +Subject: [PATCH] pci: pwrctrl: generic: support for the UPD720201/UPD720202 + USB 3.0 xHCI Host Controller + +Enable the generic pwrctrl driver to control the power of the +PCIe UPD720201/UPD720202 USB 3.0 xHCI Host Controller. + +Signed-off-by: Neil Armstrong +--- + drivers/pci/pwrctrl/generic.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/pci/pwrctrl/generic.c b/drivers/pci/pwrctrl/generic.c +index 08e53243cdbd..4a57a631362f 100644 +--- a/drivers/pci/pwrctrl/generic.c ++++ b/drivers/pci/pwrctrl/generic.c +@@ -73,6 +73,10 @@ static const struct of_device_id pci_pwrctrl_slot_of_match[] = { + { + .compatible = "pciclass,0604", + }, ++ /* Renesas UPD720201/UPD720202 USB 3.0 xHCI Host Controller */ ++ { ++ .compatible = "pci1912,0014", ++ }, + { } + }; + MODULE_DEVICE_TABLE(of, pci_pwrctrl_slot_of_match); +-- +GitLab diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0023-dts-sm8550-add-pice1_port0-label.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0023-dts-sm8550-add-pice1_port0-label.patch new file mode 100644 index 0000000000..c8840dd9dd --- /dev/null +++ b/projects/ROCKNIX/devices/SM8550/patches/linux/0023-dts-sm8550-add-pice1_port0-label.patch @@ -0,0 +1,25 @@ +From 8c04211fd7b7dc2ac988280180946b237d9492ae Mon Sep 17 00:00:00 2001 +From: Philippe Simons +Date: Wed, 18 Feb 2026 19:01:00 +0100 +Subject: [PATCH] dts: sm8550 add pice1_port0 label + +--- + arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi +index 7724dba75db7..69bf9f191d73 100644 +--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi ++++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi +@@ -2237,7 +2237,7 @@ opp-32000000 { + }; + }; + +- pcie@0 { ++ pcie1_port0: pcie@0 { + device_type = "pci"; + reg = <0x0 0x0 0x0 0x0 0x0>; + bus-range = <0x01 0xff>; +-- +2.52.0 + diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0200_arm64--dts--qcom--Add-AYN-QCS8550-Common.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0200_arm64--dts--qcom--Add-AYN-QCS8550-Common.patch deleted file mode 100644 index 44ce0ddae3..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0200_arm64--dts--qcom--Add-AYN-QCS8550-Common.patch +++ /dev/null @@ -1,1658 +0,0 @@ -From e7bfacb6894dbd2edfa9dc4758f1cf45ce0b3231 Mon Sep 17 00:00:00 2001 -From: Teguh Sobirin -Date: Mon, 27 Oct 2025 17:37:46 +0800 -Subject: [PATCH] arm64: dts: qcom: Add AYN QCS8550 Common - -Signed-off-by: Teguh Sobirin ---- - .../boot/dts/qcom/qcs8550-ayn-common.dtsi | 1445 +++++++++++++++++ - 1 file changed, 1445 insertions(+) - create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-common.dtsi - -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayn-common.dtsi b/arch/arm64/boot/dts/qcom/qcs8550-ayn-common.dtsi -new file mode 100644 -index 000000000000..0954c1854a05 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-common.dtsi -@@ -0,0 +1,1638 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ */ -+ -+#include -+#include -+#include "qcs8550.dtsi" -+#include "pm8550.dtsi" -+#include "pm8550b.dtsi" -+#define PMK8550VE_SID 5 -+#include "pm8550ve.dtsi" -+#include "pm8550vs.dtsi" -+#include "pmk8550.dtsi" -+ -+/delete-node/ &aop_image_mem; -+/delete-node/ &aop_config_mem; -+/delete-node/ &camera_mem; -+/delete-node/ &ipa_fw_mem; -+/delete-node/ &ipa_gsi_mem; -+/delete-node/ &mpss_dsm_mem; -+/delete-node/ &mpss_mem; -+/delete-node/ &q6_mpss_dtb_mem; -+ -+/delete-node/ &remoteproc_mpss; -+ -+/ { -+ chassis-type = "handset"; -+ rocknix-u-boot-dt-id = "u-boot-odin2"; -+ -+ aliases { -+ serial0 = &uart7; -+ serial1 = &uart14; -+ serial2 = &uart15; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ -+ pinctrl-0 = <&volume_up_n>; -+ pinctrl-names = "default"; -+ -+ key-volume-up { -+ label = "Volume Up"; -+ debounce-interval = <15>; -+ gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; -+ linux,code = ; -+ linux,can-disable; -+ wakeup-source; -+ }; -+ }; -+ -+ pmic-glink { -+ compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; -+ -+ connector@0 { -+ compatible = "usb-c-connector"; -+ reg = <0>; -+ power-role = "dual"; -+ data-role = "dual"; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ -+ pmic_glink_hs_in: endpoint { -+ remote-endpoint = <&usb_1_dwc3_hs>; -+ }; -+ }; -+ -+ port@1 { -+ reg = <1>; -+ -+ pmic_glink_ss_in: endpoint { -+ remote-endpoint = <&usb_dp_qmpphy_out>; -+ }; -+ }; -+ -+ port@2 { -+ reg = <2>; -+ -+ pmic_glink_sbu: endpoint { -+ remote-endpoint = <&usb0_sbu_mux>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ -+ pwm_fan: pwm-fan { -+ compatible = "pwm-fan"; -+ -+ fan-supply = <&vdd_fan_5v0>; -+ pwms = <&pm8550_pwm 3 40000>; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&fan_pwm_active>, <&fan_int>; -+ -+ pulses-per-revolution = <4>; -+ interrupt-parent = <&tlmm>; -+ interrupts = <13 IRQ_TYPE_EDGE_FALLING>; -+ -+ cooling-levels = <0 30 45 60 70 90 120 150>; -+ #cooling-cells = <2>; -+ }; -+ -+ reserved-memory { -+ hyp_mem: hyp-region@80000000 { -+ reg = <0 0x80000000 0 0xa00000>; -+ no-map; -+ }; -+ -+ cpusys_vm_mem: cpusys-vm-region@80a00000 { -+ reg = <0 0x80a00000 0 0x400000>; -+ no-map; -+ }; -+ -+ hyp_tags_mem: hyp-tags-region@80e00000 { -+ reg = <0 0x80e00000 0 0x3d0000>; -+ no-map; -+ }; -+ -+ xbl_sc_mem: xbl-sc-region@d8100000 { -+ reg = <0 0xd8100000 0 0x40000>; -+ no-map; -+ }; -+ -+ hyp_tags_reserved_mem: hyp-tags-reserved-region@811d0000 { -+ reg = <0 0x811d0000 0 0x30000>; -+ no-map; -+ }; -+ -+ xbl_dt_log_merged_mem: xbl-dt-log-merged-region@81a00000 { -+ reg = <0 0x81a00000 0 0x260000>; -+ no-map; -+ }; -+ -+ aop_config_merged_mem: aop-config-merged-region@81c80000 { -+ reg = <0 0x81c80000 0 0x74000>; -+ no-map; -+ }; -+ -+ chipinfo_mem: chipinfo-region@81cf4000 { -+ reg = <0 0x81cf4000 0 0x1000>; -+ no-map; -+ }; -+ -+ global_sync_mem: global-sync-region@82600000 { -+ reg = <0 0x82600000 0 0x100000>; -+ no-map; -+ }; -+ -+ tz_stat_mem: tz-stat-region@82700000 { -+ reg = <0 0x82700000 0 0x100000>; -+ no-map; -+ }; -+ -+ cpucp_fw_mem: cpucp-fw-region@d8140000 { -+ reg = <0 0xd8140000 0 0x1c0000>; -+ no-map; -+ }; -+ -+ qtee_mem: qtee-region@d8300000 { -+ reg = <0 0xd8300000 0 0x500000>; -+ no-map; -+ }; -+ -+ hwfence_shbuf: hwfence-shbuf-region@e6440000 { -+ reg = <0 0xe6440000 0 0x2dd000>; -+ no-map; -+ }; -+ -+ hyp_ext_reserved_mem: hyp-ext-reserved-region@ff700000 { -+ reg = <0 0xff700000 0 0x100000>; -+ no-map; -+ }; -+ -+ llcc_lpi_mem: llcc_lpi_region@ff800000 { -+ reg = <0 0xff800000 0 0x600000>; -+ no-map; -+ }; -+ -+ hyp_ext_tags_mem: hyp-ext-tags-region@fce00000 { -+ reg = <0 0xfce00000 0 0x2900000>; -+ no-map; -+ }; -+ -+ splash_region: splash_region@b8000000 { -+ reg = <0x0 0xb8000000 0x0 0x2b00000>; -+ label = "cont_splash_region"; -+ no-map; -+ }; -+ }; -+ -+ thermal-zones { -+ cpuss0-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss0_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss0_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss0_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss0_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss0_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss0_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss0_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss0_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpuss1-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss1_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss1_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss1_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss1_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss1_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss1_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss1_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss1_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpuss2-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss2_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss2_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss2_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss2_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss2_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss2_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss2_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss2_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpuss3-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss3_fan0: trip-point2 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan1: trip-point3 { temperature = <55000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss3_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss3_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss3_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss3_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss3_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss3_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss3_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpu7-top-thermal { -+ polling-delay = <200>; -+ trips { -+ cpu7_top_fan0: trip-point2 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpu7_top_fan1: trip-point3 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpu7_top_fan2: trip-point4 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpu7_top_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map1 { trip = <&cpu7_top_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map2 { trip = <&cpu7_top_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-0-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss0_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss0_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss0_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss0_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss0_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss0_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-1-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss1_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss1_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss1_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss1_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss1_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss1_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-2-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss2_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss2_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss2_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss2_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss2_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss2_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-3-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss3_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss3_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss3_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss3_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss3_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss3_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-4-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss4_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss4_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss4_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss4_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss4_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss4_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-5-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss5_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss5_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss5_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss5_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss5_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss5_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-6-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss6_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss6_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss6_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss6_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss6_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss6_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-7-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss7_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss7_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss7_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss7_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss7_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss7_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ }; -+ -+ sound { -+ compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard"; -+ pinctrl-0 = <&lpi_i2s3_active>; -+ pinctrl-names = "default"; -+ -+ clocks = <&q6prmcc LPASS_CLK_ID_SEN_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>; -+ clock-names = "i2s_clk"; -+ -+ assigned-clocks = <&q6prmcc LPASS_CLK_ID_SEN_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>; -+ assigned-clock-rates = <1536000>; -+ -+ model = "AYN-Odin2"; -+ audio-routing = -+ "IN1_HPHL", "HPHL_OUT", -+ "IN2_HPHR", "HPHR_OUT", -+ "AMIC2", "MIC BIAS2", -+ "TX SWR_INPUT1", "ADC2_OUTPUT"; -+ -+ speaker-i2s-dai-link { -+ link-name = "Primary MI2S Playback"; -+ -+ cpu { -+ sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>; -+ }; -+ -+ codec { -+ sound-dai = <&spk_amp_l 0>, <&spk_amp_r 0>; -+ }; -+ -+ platform { -+ sound-dai = <&q6apm>; -+ }; -+ }; -+ -+ wcd-playback-dai-link { -+ link-name = "WCD Playback"; -+ -+ cpu { -+ sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; -+ }; -+ -+ codec { -+ sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; -+ }; -+ -+ platform { -+ sound-dai = <&q6apm>; -+ }; -+ }; -+ -+ wcd-capture-dai-link { -+ link-name = "WCD Capture"; -+ -+ cpu { -+ sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; -+ }; -+ -+ codec { -+ sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>; -+ }; -+ -+ platform { -+ sound-dai = <&q6apm>; -+ }; -+ }; -+ -+ dp0-dai-link { -+ link-name = "DP0 Playback"; -+ cpu { -+ sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>; -+ }; -+ -+ platform { -+ sound-dai = <&q6apm>; -+ }; -+ -+ codec { -+ sound-dai = <&mdss_dp0>; -+ }; -+ }; -+ }; -+ -+ usb0-sbu-mux { -+ compatible = "gpio-sbu-mux"; -+ -+ enable-gpios = <&tlmm 140 GPIO_ACTIVE_LOW>; -+ select-gpios = <&tlmm 141 GPIO_ACTIVE_HIGH>; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&usb0_sbu_default>; -+ -+ mode-switch; -+ orientation-switch; -+ -+ port { -+ usb0_sbu_mux: endpoint { -+ remote-endpoint = <&pmic_glink_sbu>; -+ }; -+ }; -+ }; -+ -+ vdd_fan_5v0: vdd-fan-5v0-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_fan_5v0"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&tlmm 109 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&fan_pwr_active>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_mcu_3v3: vdd-mcu-3v3-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_mcu_3v3"; -+ -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ -+ gpio = <&tlmm 99 GPIO_ACTIVE_HIGH>; -+ regulator-always-on; -+ regulator-boot-on; -+ enable-active-high; -+ }; -+ -+ vph_pwr: regulator-vph-pwr { -+ compatible = "regulator-fixed"; -+ regulator-name = "vph_pwr"; -+ regulator-min-microvolt = <3700000>; -+ regulator-max-microvolt = <3700000>; -+ -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ wcd938x: audio-codec { -+ compatible = "qcom,wcd9385-codec"; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wcd_default>; -+ -+ qcom,micbias1-microvolt = <1800000>; -+ qcom,micbias2-microvolt = <1800000>; -+ qcom,micbias3-microvolt = <1800000>; -+ qcom,micbias4-microvolt = <1800000>; -+ qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; -+ qcom,mbhc-headset-vthreshold-microvolt = <1700000>; -+ qcom,mbhc-headphone-vthreshold-microvolt = <50000>; -+ qcom,rx-device = <&wcd_rx>; -+ qcom,tx-device = <&wcd_tx>; -+ -+ reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; -+ -+ vdd-buck-supply = <&vreg_l15b_1p8>; -+ vdd-rxtx-supply = <&vreg_l15b_1p8>; -+ vdd-io-supply = <&vreg_l15b_1p8>; -+ vdd-mic-bias-supply = <&vreg_bob1>; -+ -+ #sound-dai-cells = <1>; -+ }; -+ -+ wcn7850-pmu { -+ compatible = "qcom,wcn7850-pmu"; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wlan_en>, <&bt_default>, <&pmk8550_sleep_clk>; -+ -+ wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; -+ bt-enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; -+ -+ vdd-supply = <&vreg_s5g_0p8>; -+ vddio-supply = <&vreg_l15b_1p8>; -+ vddaon-supply = <&vreg_s2g_0p8>; -+ vdddig-supply = <&vreg_s4e_0p95>; -+ vddrfa1p2-supply = <&vreg_s4g_1p3>; -+ vddrfa1p8-supply = <&vreg_s6g_1p8>; -+ -+ regulators { -+ vreg_pmu_rfa_cmn: ldo0 { -+ regulator-name = "vreg_pmu_rfa_cmn"; -+ }; -+ -+ vreg_pmu_aon_0p59: ldo1 { -+ regulator-name = "vreg_pmu_aon_0p59"; -+ }; -+ -+ vreg_pmu_wlcx_0p8: ldo2 { -+ regulator-name = "vreg_pmu_wlcx_0p8"; -+ }; -+ -+ vreg_pmu_wlmx_0p85: ldo3 { -+ regulator-name = "vreg_pmu_wlmx_0p85"; -+ }; -+ -+ vreg_pmu_btcmx_0p85: ldo4 { -+ regulator-name = "vreg_pmu_btcmx_0p85"; -+ }; -+ -+ vreg_pmu_rfa_0p8: ldo5 { -+ regulator-name = "vreg_pmu_rfa_0p8"; -+ }; -+ -+ vreg_pmu_rfa_1p2: ldo6 { -+ regulator-name = "vreg_pmu_rfa_1p2"; -+ }; -+ -+ vreg_pmu_rfa_1p8: ldo7 { -+ regulator-name = "vreg_pmu_rfa_1p8"; -+ }; -+ -+ vreg_pmu_pcie_0p9: ldo8 { -+ regulator-name = "vreg_pmu_pcie_0p9"; -+ }; -+ -+ vreg_pmu_pcie_1p8: ldo9 { -+ regulator-name = "vreg_pmu_pcie_1p8"; -+ }; -+ }; -+ }; -+}; -+ -+&apps_rsc { -+ regulators-0 { -+ compatible = "qcom,pm8550-rpmh-regulators"; -+ qcom,pmic-id = "b"; -+ -+ vdd-bob1-supply = <&vph_pwr>; -+ vdd-bob2-supply = <&vph_pwr>; -+ vdd-l1-l4-l10-supply = <&vreg_s6g_1p8>; -+ vdd-l2-l13-l14-supply = <&vreg_bob1>; -+ vdd-l3-supply = <&vreg_s4g_1p3>; -+ vdd-l5-l16-supply = <&vreg_bob1>; -+ vdd-l6-l7-supply = <&vreg_bob1>; -+ vdd-l8-l9-supply = <&vreg_bob1>; -+ vdd-l11-supply = <&vreg_s4g_1p3>; -+ vdd-l12-supply = <&vreg_s6g_1p8>; -+ vdd-l15-supply = <&vreg_s6g_1p8>; -+ vdd-l17-supply = <&vreg_bob2>; -+ -+ vreg_bob1: bob1 { -+ regulator-name = "vreg_bob1"; -+ regulator-min-microvolt = <3296000>; -+ regulator-max-microvolt = <3960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_bob2: bob2 { -+ regulator-name = "vreg_bob2"; -+ regulator-min-microvolt = <2720000>; -+ regulator-max-microvolt = <3960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l2b_3p0: ldo2 { -+ regulator-name = "vreg_l2b_3p0"; -+ regulator-min-microvolt = <3008000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l5b_3p1: ldo5 { -+ regulator-name = "vreg_l5b_3p1"; -+ regulator-min-microvolt = <3104000>; -+ regulator-max-microvolt = <3104000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l6b_1p8: ldo6 { -+ regulator-name = "vreg_l6b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l7b_1p8: ldo7 { -+ regulator-name = "vreg_l7b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l8b_1p8: ldo8 { -+ regulator-name = "vreg_l8b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l9b_2p9: ldo9 { -+ regulator-name = "vreg_l9b_2p9"; -+ regulator-min-microvolt = <2960000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l11b_1p2: ldo11 { -+ regulator-name = "vreg_l11b_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1504000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l12b_1p8: ldo12 { -+ regulator-name = "vreg_l12b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l13b_3p0: ldo13 { -+ regulator-name = "vreg_l13b_3p0"; -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l14b_3p2: ldo14 { -+ regulator-name = "vreg_l14b_3p2"; -+ regulator-min-microvolt = <3200000>; -+ regulator-max-microvolt = <3200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l15b_1p8: ldo15 { -+ regulator-name = "vreg_l15b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l16b_2p8: ldo16 { -+ regulator-name = "vreg_l16b_2p8"; -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l17b_2p5: ldo17 { -+ regulator-name = "vreg_l17b_2p5"; -+ regulator-min-microvolt = <2504000>; -+ regulator-max-microvolt = <2504000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-1 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "c"; -+ -+ vdd-l1-supply = <&vreg_s4g_1p3>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4e_0p95>; -+ -+ vreg_l3c_0p9: ldo3 { -+ regulator-name = "vreg_l3c_0p9"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-2 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "d"; -+ -+ vdd-l1-supply = <&vreg_s4e_0p95>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4e_0p95>; -+ -+ vreg_l1d_0p88: ldo1 { -+ regulator-name = "vreg_l1d_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <920000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-3 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "e"; -+ -+ vdd-l1-supply = <&vreg_s4e_0p95>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4g_1p3>; -+ vdd-s4-supply = <&vph_pwr>; -+ vdd-s5-supply = <&vph_pwr>; -+ -+ vreg_s4e_0p95: smps4 { -+ regulator-name = "vreg_s4e_0p95"; -+ regulator-min-microvolt = <904000>; -+ regulator-max-microvolt = <984000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s5e_1p08: smps5 { -+ regulator-name = "vreg_s5e_1p08"; -+ regulator-min-microvolt = <1010000>; -+ regulator-max-microvolt = <1120000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l1e_0p88: ldo1 { -+ regulator-name = "vreg_l1e_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l2e_0p9: ldo2 { -+ regulator-name = "vreg_l2e_0p9"; -+ regulator-min-microvolt = <870000>; -+ regulator-max-microvolt = <970000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l3e_1p2: ldo3 { -+ regulator-name = "vreg_l3e_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-4 { -+ compatible = "qcom,pm8550ve-rpmh-regulators"; -+ qcom,pmic-id = "f"; -+ -+ vdd-l1-supply = <&vreg_s4e_0p95>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4e_0p95>; -+ vdd-s4-supply = <&vph_pwr>; -+ -+ vreg_s4f_0p5: smps4 { -+ regulator-name = "vreg_s4f_0p5"; -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <700000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l1f_0p9: ldo1 { -+ regulator-name = "vreg_l1f_0p9"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l2f_0p88: ldo2 { -+ regulator-name = "vreg_l2f_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l3f_0p88: ldo3 { -+ regulator-name = "vreg_l3f_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-5 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "g"; -+ -+ vdd-l1-supply = <&vreg_s4g_1p3>; -+ vdd-l2-supply = <&vreg_s4g_1p3>; -+ vdd-l3-supply = <&vreg_s4g_1p3>; -+ vdd-s1-supply = <&vph_pwr>; -+ vdd-s2-supply = <&vph_pwr>; -+ vdd-s3-supply = <&vph_pwr>; -+ vdd-s4-supply = <&vph_pwr>; -+ vdd-s5-supply = <&vph_pwr>; -+ vdd-s6-supply = <&vph_pwr>; -+ -+ vreg_s1g_1p2: smps1 { -+ regulator-name = "vreg_s1g_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1300000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s2g_0p8: smps2 { -+ regulator-name = "vreg_s2g_0p8"; -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1000000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s3g_0p7: smps3 { -+ regulator-name = "vreg_s3g_0p7"; -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1004000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s4g_1p3: smps4 { -+ regulator-name = "vreg_s4g_1p3"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1352000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s5g_0p8: smps5 { -+ regulator-name = "vreg_s5g_0p8"; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1004000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s6g_1p8: smps6 { -+ regulator-name = "vreg_s6g_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <2000000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l1g_1p2: ldo1 { -+ regulator-name = "vreg_l1g_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l3g_1p2: ldo3 { -+ regulator-name = "vreg_l3g_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+}; -+ -+&gpi_dma1 { -+ status = "okay"; -+}; -+ -+&gpi_dma2 { -+ status = "okay"; -+}; -+ -+&gpu { -+ status = "okay"; -+ -+ zap-shader { -+ firmware-name = "qcom/sm8550/ayn/a740_zap.mbn"; -+ }; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+}; -+ -+&i2c4 { -+ clock-frequency = <400000>; -+ status = "okay"; -+}; -+ -+&i2c12 { -+ clock-frequency = <400000>; -+ status = "okay"; -+}; -+ -+&i2c_master_hub_0 { -+ status = "okay"; -+}; -+ -+&i2c_hub_2 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ spk_amp_l: spk_amp_l@34 { -+ compatible = "awinic,aw88166"; -+ reg = <0x34>; -+ #sound-dai-cells = <1>; -+ reset-gpios = <&tlmm 103 GPIO_ACTIVE_LOW>; -+ awinic,audio-channel = <0>; -+ awinic,sync-flag; -+ sound-name-prefix = "SPK_L"; -+ }; -+ -+ spk_amp_r: spk_amp_r@35 { -+ compatible = "awinic,aw88166"; -+ reg = <0x35>; -+ #sound-dai-cells = <1>; -+ reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>; -+ awinic,audio-channel = <1>; -+ awinic,sync-flag; -+ sound-name-prefix = "SPK_R"; -+ }; -+}; -+ -+&iris { -+ status = "okay"; -+}; -+ -+&lpass_tlmm { -+ lpi_i2s3_active: lpi_i2s3-active-state { -+ sck-pins { -+ pins = "gpio12"; -+ function = "i2s3_clk"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ ws-pins { -+ pins = "gpio13"; -+ function = "i2s3_ws"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ data0-pins { -+ pins = "gpio17"; -+ function = "i2s3_data"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ data1-pins { -+ pins = "gpio18"; -+ function = "i2s3_data"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ }; -+}; -+ -+&lpass_vamacro { -+ qcom,dmic-sample-rate = <4800000>; -+}; -+ -+&lpass_wsamacro { -+ status = "disabled"; -+}; -+ -+&mdss { -+ status = "okay"; -+}; -+ -+&mdss_dp0 { -+ status = "okay"; -+ sound-name-prefix = "Display Port0"; -+}; -+ -+&mdss_dsi1 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+ -+ display_panel: panel@0 { -+ reg = <0>; -+ -+ port { -+ panel1_in: endpoint { -+ remote-endpoint = <&mdss_dsi1_out>; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi1_out { -+ remote-endpoint = <&panel1_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi1_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; -+ -+&pcie0 { -+ wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; -+ perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; -+ -+ pinctrl-0 = <&pcie0_default_state>; -+ pinctrl-names = "default"; -+ -+ status = "okay"; -+}; -+ -+&pcieport0 { -+ wifi@0 { -+ compatible = "pci17cb,1107"; -+ reg = <0x10000 0x0 0x0 0x0 0x0>; -+ -+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; -+ vddaon-supply = <&vreg_pmu_aon_0p59>; -+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; -+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; -+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; -+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; -+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; -+ vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; -+ vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; -+ }; -+}; -+ -+&pcie0_phy { -+ vdda-phy-supply = <&vreg_l1e_0p88>; -+ vdda-pll-supply = <&vreg_l3e_1p2>; -+ -+ status = "okay"; -+}; -+ -+&pm8550_gpios { -+ fan_pwm_active: fan-pwm-active-state { -+ pins = "gpio8"; -+ function = "func1"; -+ input-disable; -+ output-enable; -+ output-low; -+ bias-disable; -+ power-source = <1>; -+ }; -+ -+ sdc2_card_det_n: sdc2-card-det-n-state { -+ pins = "gpio12"; -+ function = "normal"; -+ input-enable; -+ output-disable; -+ bias-pull-up; -+ power-source = <1>; -+ }; -+ -+ volume_up_n: volume-up-n-state { -+ pins = "gpio6"; -+ function = "normal"; -+ power-source = <1>; -+ bias-pull-up; -+ input-enable; -+ }; -+}; -+ -+&pm8550_pwm { -+ status = "okay"; -+ -+ power_led { -+ color = ; -+ label = "power-led"; -+ -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ red@1 { -+ reg = <1>; -+ color = ; -+ }; -+ -+ green@2 { -+ reg = <2>; -+ color = ; -+ }; -+ -+ blue@3 { -+ reg = <3>; -+ color = ; -+ }; -+ }; -+}; -+ -+&pm8550b_eusb2_repeater { -+ qcom,tune-usb2-disc-thres = /bits/ 8 <0x6>; -+ qcom,tune-usb2-amplitude = /bits/ 8 <0xb>; -+ qcom,tune-usb2-preem = /bits/ 8 <0x3>; -+ vdd18-supply = <&vreg_l15b_1p8>; -+ vdd3-supply = <&vreg_l5b_3p1>; -+}; -+ -+&pmk8550_gpios { -+ pmk8550_sleep_clk: sleep-clk-state { -+ pins = "gpio3"; -+ function = "func1"; -+ input-disable; -+ output-enable; -+ bias-disable; -+ power-source = <0>; -+ }; -+ -+ pwm_backlight_default: pwm-backlight-default-state { -+ pins = "gpio5"; -+ function = "func3"; -+ input-disable; -+ output-low; -+ output-enable; -+ bias-disable; -+ power-source = <0>; -+ qcom,drive-strength = <2>; -+ }; -+}; -+ -+&pmk8550_rtc { -+ nvmem-cells = <&rtc_offset>; -+ nvmem-cell-names = "offset"; -+}; -+ -+&pmk8550_sdam_2 { -+ rtc_offset: rtc-offset@bc { -+ reg = <0xbc 0x4>; -+ }; -+}; -+ -+&pon_pwrkey { -+ status = "okay"; -+}; -+ -+&pon_resin { -+ linux,code = ; -+ -+ status = "okay"; -+}; -+ -+&qupv3_id_0 { -+ status = "okay"; -+}; -+ -+&qupv3_id_1 { -+ status = "okay"; -+}; -+ -+&remoteproc_cdsp { -+ firmware-name = "qcom/sm8550/ayn/cdsp.mbn", -+ "qcom/sm8550/ayn/cdsp_dtb.mbn"; -+ status = "okay"; -+}; -+ -+&sdhc_2 { -+ cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&sdc2_default &sdc2_card_det_n>; -+ pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>; -+ vmmc-supply = <&vreg_l9b_2p9>; -+ vqmmc-supply = <&vreg_l8b_1p8>; -+ max-sd-hs-hz = <37500000>; -+ no-sdio; -+ no-mmc; -+ -+ qcom,dll-config = <0x0007442c>; -+ -+ status = "okay"; -+}; -+ -+&sleep_clk { -+ clock-frequency = <32764>; -+}; -+ -+&swr1 { -+ status = "okay"; -+ wcd_rx: codec@0,4 { -+ compatible = "sdw20217010d00"; -+ reg = <0 4>; -+ qcom,rx-port-mapping = <1 2 3 4 5>; -+ }; -+}; -+ -+&swr2 { -+ status = "okay"; -+ wcd_tx: codec@0,3 { -+ compatible = "sdw20217010d00"; -+ reg = <0 3>; -+ qcom,tx-port-mapping = <2 2 3 4>; -+ }; -+}; -+ -+&tlmm { -+ gpio-reserved-ranges = <32 8>; -+ -+ dsi_p_rst_active: dsi-p-rst-active-state { -+ pins = "gpio133"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ }; -+ -+ dsi_p_rst_suspend: dsi-p-rst-suspend-state { -+ pins = "gpio133"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ dsi_p_te_active: dsi-p-te-active-state { -+ pins = "gpio86"; -+ function = "mdp_vsync"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ dsi_p_te_suspend: dsi-s-te-suspend-state { -+ pins = "gpio86"; -+ function = "mdp_vsync"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ dsi_s_rst_active: dsi-s-rst-active-state { -+ pins = "gpio137"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ }; -+ -+ dsi_s_rst_suspend: dsi-s-rst-suspend-state { -+ pins = "gpio137"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ dsi_s_te_active: dsi-s-te-active-state { -+ pins = "gpio87"; -+ function = "mdp_vsync"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ dsi_s_te_suspend: dsi-s-te-suspend-state { -+ pins = "gpio87"; -+ function = "mdp_vsync"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ bt_default: bt-default-state { -+ bt-en-pins { -+ pins = "gpio81"; -+ function = "gpio"; -+ drive-strength = <16>; -+ bias-disable; -+ }; -+ -+ sw-ctrl-pins { -+ pins = "gpio82"; -+ function = "gpio"; -+ bias-pull-down; -+ }; -+ }; -+ -+ fan_pwr_active: fan-pwr-active-state { -+ pins = "gpio109"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-disable; -+ output-low; -+ }; -+ -+ fan_int: fan-int-state { -+ pins = "gpio13"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-disable; -+ }; -+ -+ mcu_en_active: mcu-en-active-state { -+ pins = "gpio12"; -+ function = "gpio"; -+ bias-pull-down; -+ }; -+ -+ ts_p_rst_default: ts-p-rst-default-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_p_rst_sleep: ts-p-rst-sleep-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+ -+ ts_p_int_default: ts-p-int-default-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_p_int_sleep: ts-p-int-sleep-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+ -+ ts_s_rst_default: ts-s-rst-default-state { -+ pins = "gpio14"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_s_rst_sleep: ts-s-rst-sleep-state { -+ pins = "gpio14"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+ -+ ts_s_int_default: ts-s-int-default-state { -+ pins = "gpio15"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_s_int_sleep: ts-s-int-sleep-state { -+ pins = "gpio15"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+ -+ usb0_sbu_default: usb0-sbu-state { -+ oe-n-pins { -+ pins = "gpio140"; -+ function = "gpio"; -+ bias-disable; -+ drive-strength = <16>; -+ output-high; -+ }; -+ -+ sel-pins { -+ pins = "gpio141"; -+ function = "gpio"; -+ bias-disable; -+ drive-strength = <16>; -+ }; -+ }; -+ -+ wcd_default: wcd-reset-n-active-state { -+ pins = "gpio108"; -+ function = "gpio"; -+ drive-strength = <16>; -+ bias-disable; -+ output-low; -+ }; -+ -+ wlan_en: wlan-en-state { -+ pins = "gpio80"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-down; -+ }; -+}; -+ -+&uart7 { -+ status = "okay"; -+}; -+ -+&uart14 { -+ status = "okay"; -+ -+ bluetooth { -+ compatible = "qcom,wcn7850-bt"; -+ -+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; -+ vddaon-supply = <&vreg_pmu_aon_0p59>; -+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; -+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; -+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; -+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; -+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; -+ -+ max-speed = <3200000>; -+ }; -+}; -+ -+&uart15 { -+ status = "okay"; -+ -+ gamepad { -+ compatible = "gamepad,rsinput"; -+ -+ gamepad-name = "AYN Odin2 Gamepad"; -+ gamepad-bus = <0x0003>; -+ gamepad-vid = <0x2020>; -+ gamepad-pid = <0x3001>; -+ gamepad-rev = <0x0001>; -+ -+ vdd-supply = <&vreg_bob2>; -+ enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&mcu_en_active>; -+ pinctrl-names = "default"; -+ }; -+}; -+ -+&ufs_mem_hc { -+ reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; -+ vcc-supply = <&vreg_l17b_2p5>; -+ vcc-max-microamp = <1300000>; -+ vccq-supply = <&vreg_l1g_1p2>; -+ vccq-max-microamp = <1200000>; -+ vdd-hba-supply = <&vreg_l3g_1p2>; -+ -+ status = "okay"; -+}; -+ -+&ufs_mem_phy { -+ vdda-phy-supply = <&vreg_l1d_0p88>; -+ vdda-pll-supply = <&vreg_l3e_1p2>; -+ -+ status = "okay"; -+}; -+ -+&usb_1 { -+ status = "okay"; -+}; -+ -+&usb_1_dwc3_hs { -+ remote-endpoint = <&pmic_glink_hs_in>; -+}; -+ -+&usb_1_hsphy { -+ phys = <&pm8550b_eusb2_repeater>; -+ -+ vdd-supply = <&vreg_l1e_0p88>; -+ vdda12-supply = <&vreg_l3e_1p2>; -+ -+ status = "okay"; -+}; -+ -+&usb_dp_qmpphy { -+ vdda-phy-supply = <&vreg_l3e_1p2>; -+ vdda-pll-supply = <&vreg_l3f_0p88>; -+ -+ mode-switch; -+ -+ status = "okay"; -+}; -+ -+&usb_dp_qmpphy_out { -+ remote-endpoint = <&pmic_glink_ss_in>; -+}; -+ -+&xo_board { -+ clock-frequency = <76800000>; -+}; --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0201_arm64--dts--qcom--Add-AYN-Odin2.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0201_arm64--dts--qcom--Add-AYN-Odin2.patch deleted file mode 100644 index b175a60803..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0201_arm64--dts--qcom--Add-AYN-Odin2.patch +++ /dev/null @@ -1,356 +0,0 @@ -From d4c61eea0faae54d278058b39c5c568078025e60 Mon Sep 17 00:00:00 2001 -From: Teguh Sobirin -Date: Mon, 27 Oct 2025 17:38:24 +0800 -Subject: [PATCH] arm64: dts: qcom: Add AYN Odin2 - -Signed-off-by: Teguh Sobirin ---- - arch/arm64/boot/dts/qcom/Makefile | 1 + - .../arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts | 323 ++++++++++++++++++ - 2 files changed, 324 insertions(+) - create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts - -diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile -index 4bfa926b6a08..80e4d5b3a03d 100644 ---- a/arch/arm64/boot/dts/qcom/Makefile -+++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -126,6 +126,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb -+dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb - dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts -new file mode 100644 -index 000000000000..98cf638b24f4 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts -@@ -0,0 +1,323 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayn-common.dtsi" -+ -+/ { -+ model = "AYN Odin 2"; -+ compatible = "ayn,odin2", "qcom,qcs8550", "qcom,sm8550"; -+ qcom,msm-id = <603 0x20000>; -+ qcom,board-id = <0x1001f 0>; -+ -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&pmk8550_pwm 0 860000>; -+ brightness-levels = <1023 0>; -+ num-interpolated-steps = <1023>; -+ default-brightness-level = <600>; -+ power-supply = <&vph_pwr>; -+ enable-gpios = <&pmk8550_gpios 5 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwm_backlight_default>; -+ status = "okay"; -+ }; -+ -+ hdmi-out { -+ compatible = "hdmi-connector"; -+ type = "d"; -+ hpd-gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>; -+ hdmi-pwr-supply = <&vdd_hdmi_1v8>; -+ -+ port { -+ hdmi_con: endpoint { -+ remote-endpoint = <<8912_out>; -+ }; -+ }; -+ }; -+ -+ led_left_side: led-controller-1 { -+ compatible = "pwm-leds-multicolor"; -+ -+ multi-led { -+ label = "left-side"; -+ color = ; -+ max-brightness = <255>; -+ -+ led-red { -+ color = ; -+ pwms = <&pwm_rgb_left 0>; -+ }; -+ -+ led-green { -+ color = ; -+ pwms = <&pwm_rgb_left 1>; -+ }; -+ -+ led-blue { -+ color = ; -+ pwms = <&pwm_rgb_left 2>; -+ }; -+ }; -+ }; -+ -+ led_left_joystick: led-controller-2 { -+ compatible = "pwm-leds-multicolor"; -+ -+ multi-led { -+ label = "left-joystick"; -+ color = ; -+ max-brightness = <255>; -+ -+ led-red { -+ color = ; -+ pwms = <&pwm_rgb_left 6>; -+ }; -+ -+ led-green { -+ color = ; -+ pwms = <&pwm_rgb_left 7>; -+ }; -+ -+ led-blue { -+ color = ; -+ pwms = <&pwm_rgb_left 8>; -+ }; -+ }; -+ }; -+ -+ led_right_side: led-controller-3 { -+ compatible = "pwm-leds-multicolor"; -+ -+ multi-led { -+ label = "right-side"; -+ color = ; -+ max-brightness = <255>; -+ -+ led-red { -+ color = ; -+ pwms = <&pwm_rgb_right 0>; -+ }; -+ -+ led-green { -+ color = ; -+ pwms = <&pwm_rgb_right 1>; -+ }; -+ -+ led-blue { -+ color = ; -+ pwms = <&pwm_rgb_right 2>; -+ }; -+ }; -+ }; -+ -+ led_right_joystick: led-controller-4 { -+ compatible = "pwm-leds-multicolor"; -+ -+ multi-led { -+ label = "right-joystick"; -+ color = ; -+ max-brightness = <255>; -+ -+ led-red { -+ color = ; -+ pwms = <&pwm_rgb_right 6>; -+ }; -+ -+ led-green { -+ color = ; -+ pwms = <&pwm_rgb_right 7>; -+ }; -+ -+ led-blue { -+ color = ; -+ pwms = <&pwm_rgb_right 8>; -+ }; -+ }; -+ }; -+ -+ vcc_hdmi_1v8: vcc-hdmi-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc_hdmi_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp_2v8: vdd-disp-2v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp_2v8"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_hdmi_1v8: vdd-hdmi-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_hdmi_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+}; -+ -+&display_panel { -+ compatible = "syna,td4328"; -+ -+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; -+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ vdd-supply = <&vdd_disp_2v8>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ -+ backlight = <&backlight>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ rotation = <90>; -+}; -+ -+&i2c0 { -+ pwm_rgb_left: sn3112@54 { -+ compatible = "si-en,sn3112-pwm"; -+ reg = <0x54>; -+ sdb-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ #pwm-cells = <1>; -+ }; -+}; -+ -+&i2c4 { -+ touchscreen@20 { -+ compatible = "syna,rmi4-i2c"; -+ reg = <0x20>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>; -+ -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&ts_p_int_default>; -+ pinctrl-1 = <&ts_p_int_sleep>; -+ -+ vio-supply = <&vreg_l12b_1p8>; -+ -+ syna,startup-delay-ms = <200>; -+ syna,reset-delay-ms = <200>; -+ -+ rmi4-f01@1 { -+ syna,nosleep-mode = <0x1>; -+ reg = <0x1>; -+ }; -+ -+ rmi4-f12@12 { -+ reg = <0x12>; -+ syna,rezero-wait-ms = <20>; -+ syna,clip-x-low = <0>; -+ syna,clip-y-low = <0>; -+ syna,clip-x-high = <1080>; -+ syna,clip-y-high = <1920>; -+ syna,sensor-type = <1>; -+ touchscreen-inverted-x; -+ }; -+ }; -+}; -+ -+&i2c12 { -+ pwm_rgb_right: sn3112@54 { -+ compatible = "si-en,sn3112-pwm"; -+ reg = <0x54>; -+ sdb-gpios = <&tlmm 56 GPIO_ACTIVE_LOW>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ #pwm-cells = <1>; -+ }; -+}; -+ -+&i2c_hub_0 { -+ clock-frequency = <100000>; -+ status = "okay"; -+ -+ lt8912_codec: hdmi-bridge@48 { -+ compatible = "lontium,lt8912b"; -+ reg = <0x48> ; -+ -+ reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; -+ -+ vdd-supply = <&vdd_hdmi_1v8>; -+ vccmipirx-supply = <&vcc_hdmi_1v8>; -+ vccsysclk-supply = <&vcc_hdmi_1v8>; -+ vcclvdstx-supply = <&vcc_hdmi_1v8>; -+ vcchdmitx-supply = <&vcc_hdmi_1v8>; -+ vcclvdspll-supply = <&vcc_hdmi_1v8>; -+ vcchdmipll-supply = <&vcc_hdmi_1v8>; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ -+ hdmi_out_in: endpoint { -+ data-lanes = <1 2 3 4>; -+ remote-endpoint = <&mdss_dsi0_out>; -+ }; -+ }; -+ -+ port@1 { -+ reg = <1>; -+ -+ lt8912_out: endpoint { -+ remote-endpoint = <&hdmi_con>; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi0 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+}; -+ -+&mdss_dsi0_out { -+ remote-endpoint = <&hdmi_out_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi0_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; -+ -+&pmk8550_pwm { -+ status = "okay"; -+}; -+ -+&remoteproc_adsp { -+ firmware-name = "qcom/sm8550/ayn/odin2/adsp.mbn", -+ "qcom/sm8550/ayn/odin2/adsp_dtb.mbn"; -+ status = "okay"; -+}; -+ -+&spk_amp_l { -+ firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; -+}; -+ -+&spk_amp_r { -+ firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; -+}; -+ --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0202_arm64--dts--qcom--Add-AYN-Odin2-Mini.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0202_arm64--dts--qcom--Add-AYN-Odin2-Mini.patch deleted file mode 100644 index da580c4084..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0202_arm64--dts--qcom--Add-AYN-Odin2-Mini.patch +++ /dev/null @@ -1,225 +0,0 @@ -From 82580def34aa466b2ff118f15b8cc6c83c7664d5 Mon Sep 17 00:00:00 2001 -From: Teguh Sobirin -Date: Mon, 27 Oct 2025 17:38:53 +0800 -Subject: [PATCH] arm64: dts: qcom: Add AYN Odin2 Mini - -Signed-off-by: Teguh Sobirin ---- - arch/arm64/boot/dts/qcom/Makefile | 1 + - .../boot/dts/qcom/qcs8550-ayn-odin2mini.dts | 192 ++++++++++++++++++ - 2 files changed, 193 insertions(+) - create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts - -diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile -index 80e4d5b3a03d..010c44b21573 100644 ---- a/arch/arm64/boot/dts/qcom/Makefile -+++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -127,6 +127,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2.dtb -+dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2mini.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb - dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts -new file mode 100644 -index 000000000000..c3f0219cdb3d ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts -@@ -0,0 +1,192 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayn-common.dtsi" -+ -+/ { -+ model = "AYN Odin 2 Mini"; -+ compatible = "ayn,odin2mini", "qcom,qcs8550", "qcom,sm8550"; -+ qcom,msm-id = <603 0x20000>; -+ qcom,board-id = <0x1001f 0>; -+ -+ hdmi-out { -+ compatible = "hdmi-connector"; -+ type = "d"; -+ hpd-gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>; -+ hdmi-pwr-supply = <&vdd_hdmi_1v8>; -+ -+ port { -+ hdmi_con: endpoint { -+ remote-endpoint = <<8912_out>; -+ }; -+ }; -+ }; -+ -+ vcc_hdmi_1v8: vcc-hdmi-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc_hdmi_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_bl_5v0: vdd-bl-5v0-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_bl_5v0"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&tlmm 55 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp_2v8: vdd-disp-2v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp_2v8"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_hdmi_1v8: vdd-hdmi-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_hdmi_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+}; -+ -+&display_panel { -+ compatible = "boe,xm91080g"; -+ -+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; -+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ vdd-supply = <&vreg_l11b_1p2>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ vci-supply = <&vreg_l13b_3p0>; -+ disp-supply = <&vdd_disp_2v8>; -+ blvdd-supply = <&vdd_bl_5v0>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ rotation = <90>; -+}; -+ -+&i2c0 { -+ backlight: backlight@46 { -+ compatible = "ayn,odin2miniled"; -+ reg = <0x46>; -+ enable-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; -+ vcc_1v2-supply = <&vreg_l11b_1p2>; -+ vcc_3v3-supply = <&vreg_bob2>; -+ }; -+}; -+ -+&i2c4 { -+ touchscreen@1a { -+ compatible = "hynitron,cst340"; -+ reg = <0x1a>; -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>; -+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; -+ vdd-supply = <&vreg_l2b_3p0>; -+ -+ pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; -+ pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1920>; -+ touchscreen-size-y = <1080>; -+ touchscreen-swapped-x-y; -+ touchscreen-inverted-y; -+ }; -+}; -+ -+&i2c_hub_0 { -+ clock-frequency = <100000>; -+ status = "okay"; -+ -+ lt8912_codec: hdmi-bridge@48 { -+ compatible = "lontium,lt8912b"; -+ reg = <0x48> ; -+ -+ reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; -+ -+ vdd-supply = <&vdd_hdmi_1v8>; -+ vccmipirx-supply = <&vcc_hdmi_1v8>; -+ vccsysclk-supply = <&vcc_hdmi_1v8>; -+ vcclvdstx-supply = <&vcc_hdmi_1v8>; -+ vcchdmitx-supply = <&vcc_hdmi_1v8>; -+ vcclvdspll-supply = <&vcc_hdmi_1v8>; -+ vcchdmipll-supply = <&vcc_hdmi_1v8>; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ -+ hdmi_out_in: endpoint { -+ data-lanes = <1 2 3 4>; -+ remote-endpoint = <&mdss_dsi0_out>; -+ }; -+ }; -+ -+ port@1 { -+ reg = <1>; -+ -+ lt8912_out: endpoint { -+ remote-endpoint = <&hdmi_con>; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi0 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+}; -+ -+&mdss_dsi0_out { -+ remote-endpoint = <&hdmi_out_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi0_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; -+ -+&remoteproc_adsp { -+ firmware-name = "qcom/sm8550/ayn/odin2mini/adsp.mbn", -+ "qcom/sm8550/ayn/odin2mini/adsp_dtb.mbn"; -+ status = "okay"; -+}; -+ -+&spk_amp_l { -+ firmware-name = "qcom/sm8550/ayn/odin2mini/aw883xx_acf.bin"; -+}; -+ -+&spk_amp_r { -+ firmware-name = "qcom/sm8550/ayn/odin2mini/aw883xx_acf.bin"; -+}; -+ --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0203_arm64--dts--qcom--Add-AYN-Odin2-Portal.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0203_arm64--dts--qcom--Add-AYN-Odin2-Portal.patch deleted file mode 100644 index 8554d50d15..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0203_arm64--dts--qcom--Add-AYN-Odin2-Portal.patch +++ /dev/null @@ -1,327 +0,0 @@ -From 5d588a92d8f68df469c2acf50b2f3f8179a615cb Mon Sep 17 00:00:00 2001 -From: Teguh Sobirin -Date: Mon, 27 Oct 2025 17:39:32 +0800 -Subject: [PATCH] arm64: dts: qcom: Add AYN Odin2 Portal - -Signed-off-by: Teguh Sobirin ---- - arch/arm64/boot/dts/qcom/Makefile | 1 + - .../boot/dts/qcom/qcs8550-ayn-odin2portal.dts | 238 ++++++++++++++++++ - 2 files changed, 239 insertions(+) - create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2portal.dts - -diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile -index 010c44b21573..356209923ce0 100644 ---- a/arch/arm64/boot/dts/qcom/Makefile -+++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -128,6 +128,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2mini.dtb -+dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2portal.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb - dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2portal.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2portal.dts -new file mode 100644 -index 000000000000..ac9b786e626e ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2portal.dts -@@ -0,0 +1,294 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayn-common.dtsi" -+ -+/ { -+ model = "AYN Odin 2 Portal"; -+ compatible = "ayn,odin2portal", "qcom,qcs8550", "qcom,sm8550"; -+ qcom,msm-id = <603 0x20000>; -+ qcom,board-id = <0x1001f 0>; -+ -+ vdd_bl_5v0: vdd-bl-5v0-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_bl_5v0"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp_2v8: vdd-disp-2v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp_2v8"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ multi-ledr1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r1"; -+ leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; -+ }; -+ -+ multi-ledl1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l1"; -+ leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; -+ }; -+ -+ multi-ledr2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r2"; -+ leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; -+ }; -+ -+ multi-ledl2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l2"; -+ leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; -+ }; -+ -+ multi-ledr3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r3"; -+ leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; -+ }; -+ -+ multi-ledl3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l3"; -+ leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; -+ }; -+ -+ multi-ledr4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r4"; -+ leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; -+ }; -+ -+ multi-ledl4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l4"; -+ leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; -+ }; -+}; -+ -+&display_panel { -+ compatible = "chipone,icna3512"; -+ -+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; -+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ vdd-supply = <&vreg_l11b_1p2>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ vci-supply = <&vreg_l13b_3p0>; -+ disp-supply = <&vdd_disp_2v8>; -+ blvdd-supply = <&vdd_bl_5v0>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ rotation = <270>; -+}; -+ -+&i2c0 { -+ htr3212l: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ -+ ledl_b1: led@1 { -+ reg = <1>; -+ label = "l:r1"; -+ color = ; -+ }; -+ ledl_g1: led@2 { -+ reg = <2>; -+ label = "l:g1"; -+ color = ; -+ }; -+ ledl_r1: led@3 { -+ reg = <3>; -+ label = "l:b1"; -+ color = ; -+ }; -+ ledl_b2: led@4 { -+ reg = <4>; -+ label = "l:r2"; -+ color = ; -+ }; -+ ledl_g2: led@5 { -+ reg = <5>; -+ label = "l:g2"; -+ color = ; -+ }; -+ ledl_r2: led@6 { -+ reg = <6>; -+ label = "l:b2"; -+ color = ; -+ }; -+ ledl_b3: led@7 { -+ reg = <7>; -+ label = "l:r3"; -+ color = ; -+ }; -+ ledl_g3: led@8 { -+ reg = <8>; -+ label = "l:g3"; -+ color = ; -+ }; -+ ledl_r3: led@9 { -+ reg = <9>; -+ label = "l:b3"; -+ color = ; -+ }; -+ ledl_b4: led@10 { -+ reg = <10>; -+ label = "l:r4"; -+ color = ; -+ }; -+ ledl_g4: led@11 { -+ reg = <11>; -+ label = "l:g4"; -+ color = ; -+ }; -+ ledl_r4: led@12 { -+ reg = <12>; -+ label = "l:b4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c4 { -+ touchscreen@38 { -+ compatible = "focaltech,ft5426"; -+ reg = <0x38>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>; -+ -+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vreg_l14b_3p2>; -+ iovcc-supply = <&vreg_l12b_1p8>; -+ -+ pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; -+ pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1920>; -+ }; -+}; -+ -+&i2c12 { -+ htr3212r: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ -+ ledr_b1: led@1 { -+ reg = <1>; -+ label = "r:r1"; -+ color = ; -+ }; -+ ledr_g1: led@2 { -+ reg = <2>; -+ label = "r:g1"; -+ color = ; -+ }; -+ ledr_r1: led@3 { -+ reg = <3>; -+ label = "r:b1"; -+ color = ; -+ }; -+ ledr_b2: led@4 { -+ reg = <4>; -+ label = "r:r2"; -+ color = ; -+ }; -+ ledr_g2: led@5 { -+ reg = <5>; -+ label = "r:g2"; -+ color = ; -+ }; -+ ledr_r2: led@6 { -+ reg = <6>; -+ label = "r:b2"; -+ color = ; -+ }; -+ ledr_b3: led@7 { -+ reg = <7>; -+ label = "r:r3"; -+ color = ; -+ }; -+ ledr_g3: led@8 { -+ reg = <8>; -+ label = "r:g3"; -+ color = ; -+ }; -+ ledr_r3: led@9 { -+ reg = <9>; -+ label = "r:b3"; -+ color = ; -+ }; -+ ledr_b4: led@10 { -+ reg = <10>; -+ label = "r:r4"; -+ color = ; -+ }; -+ ledr_g4: led@11 { -+ reg = <11>; -+ label = "r:g4"; -+ color = ; -+ }; -+ ledr_r4: led@12 { -+ reg = <12>; -+ label = "r:b4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&remoteproc_adsp { -+ firmware-name = "qcom/sm8550/ayn/odin2portal/adsp.mbn", -+ "qcom/sm8550/ayn/odin2portal/adsp_dtb.mbn"; -+ status = "okay"; -+}; -+ -+&spk_amp_l { -+ firmware-name = "qcom/sm8550/ayn/odin2portal/aw883xx_acf.bin"; -+}; -+ -+&spk_amp_r { -+ firmware-name = "qcom/sm8550/ayn/odin2portal/aw883xx_acf.bin"; -+}; -+ --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0204_arm64--dts--qcom--Add-AYN-Thor.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0204_arm64--dts--qcom--Add-AYN-Thor.patch deleted file mode 100644 index 6b18092f85..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0204_arm64--dts--qcom--Add-AYN-Thor.patch +++ /dev/null @@ -1,467 +0,0 @@ -From 2e93d0d0712174aa7c518daa4856a5662f830616 Mon Sep 17 00:00:00 2001 -From: Teguh Sobirin -Date: Mon, 27 Oct 2025 17:40:08 +0800 -Subject: [PATCH] arm64: dts: qcom: Add AYN Thor - -Signed-off-by: Teguh Sobirin ---- - arch/arm64/boot/dts/qcom/Makefile | 1 + - arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts | 374 ++++++++++++++++++ - 2 files changed, 375 insertions(+) - create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts - -diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile -index 356209923ce0..58d221f10f40 100644 ---- a/arch/arm64/boot/dts/qcom/Makefile -+++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -129,6 +129,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2mini.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2portal.dtb -+dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-thor.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb - dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts -new file mode 100644 -index 000000000000..f107519c0e5c ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts -@@ -0,0 +1,434 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayn-common.dtsi" -+ -+/ { -+ model = "AYN Thor"; -+ compatible = "ayn,thor", "qcom,qcs8550", "qcom,sm8550"; -+ qcom,msm-id = <603 0x20000>; -+ qcom,board-id = <0x1001f 0>; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ -+ key-ayn { -+ label = "AYN Key"; -+ debounce-interval = <15>; -+ gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; -+ linux,code = ; -+ linux,can-disable; -+ }; -+ -+ hall-lid-sensor { -+ label = "Hall Lid Sensor"; -+ gpios = <&tlmm 17 GPIO_ACTIVE_LOW>; -+ linux,input-type = ; -+ linux,code = ; -+ linux,can-disable; -+ wakeup-source; -+ }; -+ }; -+ -+ vdd_bl_5v0: vdd-bl-5v0-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_bl_5v0"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp_1v8: vdd-disp-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp1_2v8: vdd-disp1-2v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp1_2v8"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp2_2v8: vdd-disp2-2v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp2_2v8"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 143 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_ts_3v0: vdd-ts-3v0-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_ts_3v0"; -+ -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ -+ gpio = <&tlmm 144 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_ts_1v8: vdd-ts-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_ts_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ multi-ledr1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r1"; -+ leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; -+ }; -+ -+ multi-ledl1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l1"; -+ leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; -+ }; -+ -+ multi-ledr2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r2"; -+ leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; -+ }; -+ -+ multi-ledl2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l2"; -+ leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; -+ }; -+ -+ multi-ledr3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r3"; -+ leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; -+ }; -+ -+ multi-ledl3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l3"; -+ leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; -+ }; -+ -+ multi-ledr4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r4"; -+ leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; -+ }; -+ -+ multi-ledl4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l4"; -+ leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; -+ }; -+}; -+ -+&display_panel { -+ compatible = "chipone,icna3520"; -+ -+ pinctrl-0 = <&dsi_s_rst_active>, <&dsi_s_te_active>; -+ pinctrl-1 = <&dsi_s_rst_suspend>, <&dsi_s_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ vdd-supply = <&vreg_l11b_1p2>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ vci-supply = <&vreg_l14b_3p2>; -+ disp-supply = <&vdd_disp1_2v8>; -+ blvdd-supply = <&vdd_bl_5v0>; -+ -+ reset-gpios = <&tlmm 137 GPIO_ACTIVE_LOW>; -+ -+ rotation = <90>; -+}; -+ -+&i2c0 { -+ htr3212l: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ -+ ledl_b1: led@1 { -+ reg = <1>; -+ label = "l:r1"; -+ color = ; -+ }; -+ ledl_g1: led@2 { -+ reg = <2>; -+ label = "l:g1"; -+ color = ; -+ }; -+ ledl_r1: led@3 { -+ reg = <3>; -+ label = "l:b1"; -+ color = ; -+ }; -+ ledl_b2: led@4 { -+ reg = <4>; -+ label = "l:r2"; -+ color = ; -+ }; -+ ledl_g2: led@5 { -+ reg = <5>; -+ label = "l:g2"; -+ color = ; -+ }; -+ ledl_r2: led@6 { -+ reg = <6>; -+ label = "l:b2"; -+ color = ; -+ }; -+ ledl_b3: led@7 { -+ reg = <7>; -+ label = "l:r3"; -+ color = ; -+ }; -+ ledl_g3: led@8 { -+ reg = <8>; -+ label = "l:g3"; -+ color = ; -+ }; -+ ledl_r3: led@9 { -+ reg = <9>; -+ label = "l:b3"; -+ color = ; -+ }; -+ ledl_b4: led@10 { -+ reg = <10>; -+ label = "l:r4"; -+ color = ; -+ }; -+ ledl_g4: led@11 { -+ reg = <11>; -+ label = "l:g4"; -+ color = ; -+ }; -+ ledl_r4: led@12 { -+ reg = <12>; -+ label = "l:b4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c4 { -+ touchscreen@38 { -+ compatible = "focaltech,ft5426"; -+ reg = <0x38>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>; -+ -+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vreg_l14b_3p2>; -+ iovcc-supply = <&vreg_l12b_1p8>; -+ -+ pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; -+ pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1920>; -+ touchscreen-swapped-x-y; -+ touchscreen-inverted-x; -+ }; -+}; -+ -+&i2c12 { -+ htr3212r: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ -+ ledr_b1: led@1 { -+ reg = <1>; -+ label = "r:r1"; -+ color = ; -+ }; -+ ledr_g1: led@2 { -+ reg = <2>; -+ label = "r:g1"; -+ color = ; -+ }; -+ ledr_r1: led@3 { -+ reg = <3>; -+ label = "r:b1"; -+ color = ; -+ }; -+ ledr_b2: led@4 { -+ reg = <4>; -+ label = "r:r2"; -+ color = ; -+ }; -+ ledr_g2: led@5 { -+ reg = <5>; -+ label = "r:g2"; -+ color = ; -+ }; -+ ledr_r2: led@6 { -+ reg = <6>; -+ label = "r:b2"; -+ color = ; -+ }; -+ ledr_b3: led@7 { -+ reg = <7>; -+ label = "r:r3"; -+ color = ; -+ }; -+ ledr_g3: led@8 { -+ reg = <8>; -+ label = "r:g3"; -+ color = ; -+ }; -+ ledr_r3: led@9 { -+ reg = <9>; -+ label = "r:b3"; -+ color = ; -+ }; -+ ledr_b4: led@10 { -+ reg = <10>; -+ label = "r:r4"; -+ color = ; -+ }; -+ ledr_g4: led@11 { -+ reg = <11>; -+ label = "r:g4"; -+ color = ; -+ }; -+ ledr_r4: led@12 { -+ reg = <12>; -+ label = "r:b4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c_hub_3 { -+ clock-frequency = <100000>; -+ status = "okay"; -+ -+ touchscreen@38 { -+ compatible = "focaltech,ft5452"; -+ reg = <0x38>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <15 IRQ_TYPE_EDGE_FALLING>; -+ -+ reset-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vdd_ts_3v0>; -+ iovcc-supply = <&vdd_ts_1v8>; -+ -+ pinctrl-0 = <&ts_s_rst_default &ts_s_int_default>; -+ pinctrl-1 = <&ts_s_rst_sleep &ts_s_int_sleep>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1240>; -+ touchscreen-swapped-x-y; -+ touchscreen-inverted-x; -+ -+ no-regmap-bulk-read; -+ }; -+}; -+ -+&mdss_dsi0 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+ -+ panel@0 { -+ reg = <0>; -+ compatible = "ch13726a,thor"; -+ -+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; -+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ vdd1v2-supply = <&vreg_l11b_1p2>; -+ vddio-supply = <&vdd_disp_1v8>; -+ vdd-supply = <&vreg_l13b_3p0>; -+ avdd-supply = <&vdd_disp2_2v8>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>; -+ -+ rotation = <90>; -+ -+ port { -+ panel0_in: endpoint { -+ remote-endpoint = <&mdss_dsi0_out>; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi0_out { -+ remote-endpoint = <&panel0_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi0_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; -+ -+&mdss_dsi1_out { -+ qcom,te-source = "mdp_vsync_s"; -+}; -+ -+&remoteproc_adsp { -+ firmware-name = "qcom/sm8550/ayn/thor/adsp.mbn", -+ "qcom/sm8550/ayn/thor/adsp_dtb.mbn"; -+ status = "okay"; -+}; -+ -+&spk_amp_l { -+ firmware-name = "qcom/sm8550/ayn/thor/aw883xx_acf.bin"; -+}; -+ -+&spk_amp_r { -+ firmware-name = "qcom/sm8550/ayn/thor/aw883xx_acf.bin"; -+}; --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0210_arm64--dts--qcom--Add-AYANEO-Pocket-Common.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0210_arm64--dts--qcom--Add-AYANEO-Pocket-Common.patch deleted file mode 100644 index 8da4747b5b..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0210_arm64--dts--qcom--Add-AYANEO-Pocket-Common.patch +++ /dev/null @@ -1,1501 +0,0 @@ -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi -new file mode 100644 -index 000000000000..58d9ab342fe9 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi -@@ -0,0 +1,1495 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ */ -+ -+#include -+#include -+#include "qcs8550.dtsi" -+#include "pm8550.dtsi" -+#include "pm8550b.dtsi" -+#define PMK8550VE_SID 5 -+#include "pm8550ve.dtsi" -+#include "pm8550vs.dtsi" -+#include "pmk8550.dtsi" -+ -+/delete-node/ &aop_image_mem; -+/delete-node/ &aop_config_mem; -+/delete-node/ &camera_mem; -+/delete-node/ &ipa_fw_mem; -+/delete-node/ &ipa_gsi_mem; -+/delete-node/ &mpss_dsm_mem; -+/delete-node/ &mpss_mem; -+/delete-node/ &q6_mpss_dtb_mem; -+/delete-node/ &cdsp_mem; -+/delete-node/ &q6_cdsp_dtb_mem; -+ -+/delete-node/ &remoteproc_mpss; -+/delete-node/ &remoteproc_cdsp; -+ -+/ { -+ chassis-type = "handset"; -+ -+ aliases { -+ serial0 = &uart7; -+ serial1 = &uart14; -+ hsuart0 = &uart11; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ -+ pinctrl-0 = <&volume_up_n>; -+ pinctrl-names = "default"; -+ -+ key-volume-up { -+ label = "Volume Up"; -+ debounce-interval = <15>; -+ gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; -+ linux,code = ; -+ linux,can-disable; -+ wakeup-source; -+ }; -+ }; -+ -+ pmic-glink { -+ compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; -+ -+ connector@0 { -+ compatible = "usb-c-connector"; -+ reg = <0>; -+ power-role = "dual"; -+ data-role = "dual"; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ -+ pmic_glink_hs_in: endpoint { -+ remote-endpoint = <&usb_1_dwc3_hs>; -+ }; -+ }; -+ -+ port@1 { -+ reg = <1>; -+ -+ pmic_glink_ss_in: endpoint { -+ remote-endpoint = <&redriver_ss_out>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ -+ reserved-memory { -+ hyp_mem: hyp-region@80000000 { -+ reg = <0 0x80000000 0 0xa00000>; -+ no-map; -+ }; -+ -+ cpusys_vm_mem: cpusys-vm-region@80a00000 { -+ reg = <0 0x80a00000 0 0x400000>; -+ no-map; -+ }; -+ -+ hyp_tags_mem: hyp-tags-region@80e00000 { -+ reg = <0 0x80e00000 0 0x3d0000>; -+ no-map; -+ }; -+ -+ xbl_sc_mem: xbl-sc-region@d8100000 { -+ reg = <0 0xd8100000 0 0x40000>; -+ no-map; -+ }; -+ -+ hyp_tags_reserved_mem: hyp-tags-reserved-region@811d0000 { -+ reg = <0 0x811d0000 0 0x30000>; -+ no-map; -+ }; -+ -+ xbl_dt_log_merged_mem: xbl-dt-log-merged-region@81a00000 { -+ reg = <0 0x81a00000 0 0x260000>; -+ no-map; -+ }; -+ -+ aop_config_merged_mem: aop-config-merged-region@81c80000 { -+ reg = <0 0x81c80000 0 0x74000>; -+ no-map; -+ }; -+ -+ chipinfo_mem: chipinfo-region@81cf4000 { -+ reg = <0 0x81cf4000 0 0x1000>; -+ no-map; -+ }; -+ -+ global_sync_mem: global-sync-region@82600000 { -+ reg = <0 0x82600000 0 0x100000>; -+ no-map; -+ }; -+ -+ tz_stat_mem: tz-stat-region@82700000 { -+ reg = <0 0x82700000 0 0x100000>; -+ no-map; -+ }; -+ -+ cpucp_fw_mem: cpucp-fw-region@d8140000 { -+ reg = <0 0xd8140000 0 0x1c0000>; -+ no-map; -+ }; -+ -+ qtee_mem: qtee-region@d8300000 { -+ reg = <0 0xd8300000 0 0x500000>; -+ no-map; -+ }; -+ -+ hwfence_shbuf: hwfence-shbuf-region@e6440000 { -+ reg = <0 0xe6440000 0 0x2dd000>; -+ no-map; -+ }; -+ -+ hyp_ext_reserved_mem: hyp-ext-reserved-region@ff700000 { -+ reg = <0 0xff700000 0 0x100000>; -+ no-map; -+ }; -+ -+ llcc_lpi_mem: llcc_lpi_region@ff800000 { -+ reg = <0 0xff800000 0 0x600000>; -+ no-map; -+ }; -+ -+ hyp_ext_tags_mem: hyp-ext-tags-region@fce00000 { -+ reg = <0 0xfce00000 0 0x2900000>; -+ no-map; -+ }; -+ -+ splash_region: splash_region@b8000000 { -+ reg = <0x0 0xb8000000 0x0 0x2b00000>; -+ label = "cont_splash_region"; -+ no-map; -+ }; -+ }; -+ -+ sound { -+ status = "okay"; -+ compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard"; -+ model = "SM8550-APS"; -+ audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT", -+ "SpkrRight IN", "WSA_SPK2 OUT", -+ "VA DMIC0", "vdd-micb", -+ "VA DMIC1", "vdd-micb"; -+ -+ wsa-dai-link { -+ link-name = "WSA Playback"; -+ -+ cpu { -+ sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; -+ }; -+ -+ codec { -+ sound-dai = <&spk_amp_l>, <&spk_amp_r>, <&swr0 0>, <&lpass_wsamacro 0>; -+ }; -+ -+ platform { -+ sound-dai = <&q6apm>; -+ }; -+ }; -+ -+ va-dai-link { -+ link-name = "VA Capture"; -+ -+ cpu { -+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; -+ }; -+ -+ codec { -+ sound-dai = <&lpass_vamacro 0>; -+ }; -+ -+ platform { -+ sound-dai = <&q6apm>; -+ }; -+ }; -+ }; -+ -+ thermal-zones { -+ cpuss0-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss0_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss0_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss0_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss0_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss0_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss0_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss0_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss0_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss0_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpuss1-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss1_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; ype = "active"; }; -+ cpuss1_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss1_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss1_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss1_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss1_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss1_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss1_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss1_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss1_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpuss2-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss2_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss2_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss2_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss2_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss2_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss2_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss2_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss2_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss2_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpuss3-thermal { -+ polling-delay = <200>; -+ trips { -+ cpuss3_fan0: trip-point2 { temperature = <40000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan1: trip-point3 { temperature = <50000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan2: trip-point4 { temperature = <60000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan3: trip-point5 { temperature = <65000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan4: trip-point6 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan5: trip-point7 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpuss3_fan6: trip-point8 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpuss3_fan0>; cooling-device = <&pwm_fan 0 1>; }; -+ map1 { trip = <&cpuss3_fan1>; cooling-device = <&pwm_fan 1 2>; }; -+ map2 { trip = <&cpuss3_fan2>; cooling-device = <&pwm_fan 2 3>; }; -+ map3 { trip = <&cpuss3_fan3>; cooling-device = <&pwm_fan 3 4>; }; -+ map4 { trip = <&cpuss3_fan4>; cooling-device = <&pwm_fan 4 5>; }; -+ map5 { trip = <&cpuss3_fan5>; cooling-device = <&pwm_fan 5 6>; }; -+ map6 { trip = <&cpuss3_fan6>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ cpu7-top-thermal { -+ polling-delay = <200>; -+ trips { -+ cpu7_top_fan0: trip-point2 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ cpu7_top_fan1: trip-point3 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ cpu7_top_fan2: trip-point4 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map0 { trip = <&cpu7_top_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map1 { trip = <&cpu7_top_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map2 { trip = <&cpu7_top_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-0-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss0_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss0_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss0_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss0_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss0_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss0_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-1-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss1_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss1_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss1_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss1_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss1_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss1_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-2-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss2_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss2_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss2_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss2_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss2_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss2_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-3-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss3_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss3_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss3_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss3_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss3_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss3_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-4-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss4_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss4_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss4_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss4_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss4_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss4_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-5-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss5_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss5_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss5_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss5_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss5_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss5_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-6-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss6_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss6_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss6_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss6_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss6_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss6_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ gpuss-7-thermal { -+ polling-delay = <200>; -+ trips { -+ gpuss7_fan0: trip-point3 { temperature = <70000>; hysteresis = <3000>; type = "active"; }; -+ gpuss7_fan1: trip-point4 { temperature = <75000>; hysteresis = <3000>; type = "active"; }; -+ gpuss7_fan2: trip-point5 { temperature = <80000>; hysteresis = <3000>; type = "active"; }; -+ }; -+ -+ cooling-maps { -+ map1 { trip = <&gpuss7_fan0>; cooling-device = <&pwm_fan 4 5>; }; -+ map2 { trip = <&gpuss7_fan1>; cooling-device = <&pwm_fan 5 6>; }; -+ map3 { trip = <&gpuss7_fan2>; cooling-device = <&pwm_fan 6 7>; }; -+ }; -+ }; -+ }; -+ -+ vdd_fan_5v0: vdd-fan-5v0-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_fan_5v0"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&fan_pwr_active>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vph_pwr: regulator-vph-pwr { -+ compatible = "regulator-fixed"; -+ regulator-name = " vph_pwr"; -+ regulator-min-microvolt = <3700000>; -+ regulator-max-microvolt = <3700000>; -+ -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ pwm_fan: pwm-fan { -+ compatible = "pwm-fan"; -+ -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&fan_pwm_active>, <&fan_int>; -+ -+ fan-supply = <&vdd_fan_5v0>; -+ pwms = <&pm8550_pwm 3 40000>; -+ interrupt-parent = <&tlmm>; -+ interrupts = <64 IRQ_TYPE_EDGE_FALLING>; -+ -+ #cooling-cells = <2>; -+ cooling-levels = <0 30 45 60 70 90 120 150>; -+ }; -+ -+ wcn7850-pmu { -+ compatible = "qcom,wcn7850-pmu"; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wlan_en>, <&bt_default>, <&pmk8550_sleep_clk>; -+ -+ wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; -+ bt-enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; -+ -+ vdd-supply = <&vreg_s5g_0p85>; -+ vddio-supply = <&vreg_l15b_1p8>; -+ vddaon-supply = <&vreg_s2g_0p85>; -+ vdddig-supply = <&vreg_s4e_0p95>; -+ vddrfa1p2-supply = <&vreg_s4g_1p25>; -+ vddrfa1p8-supply = <&vreg_s6g_1p86>; -+ -+ regulators { -+ vreg_pmu_rfa_cmn: ldo0 { -+ regulator-name = "vreg_pmu_rfa_cmn"; -+ }; -+ -+ vreg_pmu_aon_0p59: ldo1 { -+ regulator-name = "vreg_pmu_aon_0p59"; -+ }; -+ -+ vreg_pmu_wlcx_0p8: ldo2 { -+ regulator-name = "vreg_pmu_wlcx_0p8"; -+ }; -+ -+ vreg_pmu_wlmx_0p85: ldo3 { -+ regulator-name = "vreg_pmu_wlmx_0p85"; -+ }; -+ -+ vreg_pmu_btcmx_0p85: ldo4 { -+ regulator-name = "vreg_pmu_btcmx_0p85"; -+ }; -+ -+ vreg_pmu_rfa_0p8: ldo5 { -+ regulator-name = "vreg_pmu_rfa_0p8"; -+ }; -+ -+ vreg_pmu_rfa_1p2: ldo6 { -+ regulator-name = "vreg_pmu_rfa_1p2"; -+ }; -+ -+ vreg_pmu_rfa_1p8: ldo7 { -+ regulator-name = "vreg_pmu_rfa_1p8"; -+ }; -+ -+ vreg_pmu_pcie_0p9: ldo8 { -+ regulator-name = "vreg_pmu_pcie_0p9"; -+ }; -+ -+ vreg_pmu_pcie_1p8: ldo9 { -+ regulator-name = "vreg_pmu_pcie_1p8"; -+ }; -+ }; -+ }; -+}; -+ -+/* DMIC 01 23 */ -+&lpass_vamacro { -+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>; -+ pinctrl-names = "default"; -+ vdd-micb-supply = <&vreg_l10b_1p8>; -+ qcom,dmic-sample-rate = <4800000>; -+}; -+ -+&apps_rsc { -+ regulators-0 { -+ compatible = "qcom,pm8550-rpmh-regulators"; -+ qcom,pmic-id = "b"; -+ -+ vdd-bob1-supply = <&vph_pwr>; -+ vdd-bob2-supply = <&vph_pwr>; -+ vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>; -+ vdd-l2-l13-l14-supply = <&vreg_bob1>; -+ vdd-l3-supply = <&vreg_s4g_1p25>; -+ vdd-l5-l16-supply = <&vreg_bob1>; -+ vdd-l6-l7-supply = <&vreg_bob1>; -+ vdd-l8-l9-supply = <&vreg_bob1>; -+ vdd-l11-supply = <&vreg_s4g_1p25>; -+ vdd-l12-supply = <&vreg_s6g_1p86>; -+ vdd-l15-supply = <&vreg_s6g_1p86>; -+ vdd-l17-supply = <&vreg_bob2>; -+ -+ vreg_bob1: bob1 { -+ regulator-name = "vreg_bob1"; -+ regulator-min-microvolt = <3296000>; -+ regulator-max-microvolt = <3960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_bob2: bob2 { -+ regulator-name = "vreg_bob2"; -+ regulator-min-microvolt = <2720000>; -+ regulator-max-microvolt = <3960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l2b_3p0: ldo2 { -+ regulator-name = "vreg_l2b_3p0"; -+ regulator-min-microvolt = <3008000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l5b_3p1: ldo5 { -+ regulator-name = "vreg_l5b_3p1"; -+ regulator-min-microvolt = <3104000>; -+ regulator-max-microvolt = <3104000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l6b_1p8: ldo6 { -+ regulator-name = "vreg_l6b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l7b_1p8: ldo7 { -+ regulator-name = "vreg_l7b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l8b_1p8: ldo8 { -+ regulator-name = "vreg_l8b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l9b_2p9: ldo9 { -+ regulator-name = "vreg_l9b_2p9"; -+ regulator-min-microvolt = <2960000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l10b_1p8: ldo10 { -+ regulator-name = "vreg_l10b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l11b_1p2: ldo11 { -+ regulator-name = "vreg_l11b_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1504000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l12b_1p8: ldo12 { -+ regulator-name = "vreg_l12b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l13b_3p0: ldo13 { -+ regulator-name = "vreg_l13b_3p0"; -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l14b_3p2: ldo14 { -+ regulator-name = "vreg_l14b_3p2"; -+ regulator-min-microvolt = <3200000>; -+ regulator-max-microvolt = <3200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l15b_1p8: ldo15 { -+ regulator-name = "vreg_l15b_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l16b_2p8: ldo16 { -+ regulator-name = "vreg_l16b_2p8"; -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l17b_2p5: ldo17 { -+ regulator-name = "vreg_l17b_2p5"; -+ regulator-min-microvolt = <2504000>; -+ regulator-max-microvolt = <2504000>; -+ regulator-initial-mode = ; -+ }; -+ }; -+ -+ regulators-1 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "c"; -+ -+ vdd-l1-supply = <&vreg_s4g_1p25>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4e_0p95>; -+ -+ vreg_l3c_0p9: ldo3 { -+ regulator-name = "vreg_l3c_0p9"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-2 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "d"; -+ -+ vdd-l1-supply = <&vreg_s4e_0p95>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4e_0p95>; -+ -+ vreg_l1d_0p88: ldo1 { -+ regulator-name = "vreg_l1d_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <920000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-3 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "e"; -+ -+ vdd-l1-supply = <&vreg_s4e_0p95>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4g_1p25>; -+ vdd-s4-supply = <&vph_pwr>; -+ vdd-s5-supply = <&vph_pwr>; -+ -+ vreg_s4e_0p95: smps4 { -+ regulator-name = "vreg_s4e_0p95"; -+ regulator-min-microvolt = <904000>; -+ regulator-max-microvolt = <984000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s5e_1p08: smps5 { -+ regulator-name = "vreg_s5e_1p08"; -+ regulator-min-microvolt = <1010000>; -+ regulator-max-microvolt = <1120000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l1e_0p88: ldo1 { -+ regulator-name = "vreg_l1e_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <880000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l2e_0p9: ldo2 { -+ regulator-name = "vreg_l2e_0p9"; -+ regulator-min-microvolt = <904000>; -+ regulator-max-microvolt = <970000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l3e_1p2: ldo3 { -+ regulator-name = "vreg_l3e_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-4 { -+ compatible = "qcom,pm8550ve-rpmh-regulators"; -+ qcom,pmic-id = "f"; -+ -+ vdd-l1-supply = <&vreg_s4e_0p95>; -+ vdd-l2-supply = <&vreg_s4e_0p95>; -+ vdd-l3-supply = <&vreg_s4e_0p95>; -+ vdd-s4-supply = <&vph_pwr>; -+ -+ vreg_s4f_0p5: smps4 { -+ regulator-name = "vreg_s4f_0p5"; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <700000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l1f_0p9: ldo1 { -+ regulator-name = "vreg_l1f_0p9"; -+ regulator-min-microvolt = <912000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l2f_0p88: ldo2 { -+ regulator-name = "vreg_l2f_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l3f_0p88: ldo3 { -+ regulator-name = "vreg_l3f_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+ -+ regulators-5 { -+ compatible = "qcom,pm8550vs-rpmh-regulators"; -+ qcom,pmic-id = "g"; -+ vdd-l1-supply = <&vreg_s4g_1p25>; -+ vdd-l2-supply = <&vreg_s4g_1p25>; -+ vdd-l3-supply = <&vreg_s4g_1p25>; -+ vdd-s1-supply = <&vph_pwr>; -+ vdd-s2-supply = <&vph_pwr>; -+ vdd-s3-supply = <&vph_pwr>; -+ vdd-s4-supply = <&vph_pwr>; -+ vdd-s5-supply = <&vph_pwr>; -+ vdd-s6-supply = <&vph_pwr>; -+ -+ vreg_s1g_1p25: smps1 { -+ regulator-name = "vreg_s1g_1p25"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1300000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s2g_0p85: smps2 { -+ regulator-name = "vreg_s2g_0p85"; -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1000000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s3g_0p8: smps3 { -+ regulator-name = "vreg_s3g_0p8"; -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1004000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s4g_1p25: smps4 { -+ regulator-name = "vreg_s4g_1p25"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1352000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s5g_0p85: smps5 { -+ regulator-name = "vreg_s5g_0p85"; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1004000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s6g_1p86: smps6 { -+ regulator-name = "vreg_s6g_1p86"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <2000000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l1g_1p2: ldo1 { -+ regulator-name = "vreg_l1g_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ -+ vreg_l3g_1p2: ldo3 { -+ regulator-name = "vreg_l3g_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ regulator-allow-set-load; -+ regulator-allowed-modes = ; -+ }; -+ }; -+}; -+ -+&pm8550_gpios { -+ sdc2_card_det_n: sdc2-card-det-n-state { -+ pins = "gpio12"; -+ function = "normal"; -+ input-enable; -+ output-disable; -+ bias-pull-up; -+ power-source = <1>; -+ }; -+ -+ volume_up_n: volume-up-n-state { -+ pins = "gpio6"; -+ function = "normal"; -+ power-source = <1>; -+ bias-pull-up; -+ input-enable; -+ }; -+ -+ fan_pwm_active: fan-pwm-active-state { -+ pins = "gpio9"; -+ function = "func1"; -+ output-low; -+ bias-disable; -+ power-source = <0>; -+ qcom,drive-strength = <3>; /* PMIC_GPIO_STRENGTH_LOW */ -+ }; -+}; -+ -+&pmk8550_gpios { -+ pmk8550_sleep_clk: sleep-clk-state { -+ pins = "gpio3"; -+ function = "func1"; -+ input-disable; -+ output-enable; -+ bias-disable; -+ power-source = <0>; -+ }; -+}; -+ -+&pm8550b_eusb2_repeater { -+ vdd18-supply = <&vreg_l15b_1p8>; -+ vdd3-supply = <&vreg_l5b_3p1>; -+}; -+ -+&pon_pwrkey { -+ status = "okay"; -+}; -+ -+&pon_resin { -+ linux,code = ; -+ -+ status = "okay"; -+}; -+ -+&pmk8550_rtc { -+ nvmem-cells = <&rtc_offset>; -+ nvmem-cell-names = "offset"; -+}; -+ -+&pmk8550_sdam_2 { -+ rtc_offset: rtc-offset@bc { -+ reg = <0xbc 0x4>; -+ }; -+}; -+ -+&qupv3_id_0 { -+ status = "okay"; -+}; -+ -+&qupv3_id_1 { -+ status = "okay"; -+ -+ /* AYANEO Controller serial interface */ -+ uart11: uart@88c000 { -+ compatible = "qcom,geni-uart"; -+ reg = <0 0x0088c000 0 0x4000>; -+ clock-names = "se"; -+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&qup_uart11_default>; -+ interrupts = ; -+ interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS -+ &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, -+ <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY -+ &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ACTIVE_ONLY>; -+ interconnect-names = "qup-core", "qup-config"; -+ operating-points-v2 = <&qup_opp_table_100mhz>; -+ power-domains = <&rpmhpd RPMHPD_CX>; -+ status = "okay"; -+ }; -+}; -+ -+&remoteproc_adsp { -+ firmware-name = "qcom/sm8550/ayaneo/adsp.mdt", -+ "qcom/sm8550/ayaneo/adsp_dtb.mdt"; -+ status = "okay"; -+}; -+ -+&sdhc_2 { -+ cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&sdc2_default &sdc2_card_det_n>; -+ pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>; -+ vmmc-supply = <&vreg_l9b_2p9>; -+ vqmmc-supply = <&vreg_l8b_1p8>; -+ max-sd-hs-hz = <37500000>; -+ no-sdio; -+ no-mmc; -+ -+ qcom,dll-config = <0x0007442c>; -+ -+ status = "okay"; -+}; -+ -+&sleep_clk { -+ clock-frequency = <32764>; -+}; -+ -+&swr0 { -+ status = "okay"; -+ -+ spk_amp_l: speaker@0,0 { -+ compatible = "sdw20217020400"; -+ reg = <0 0>; -+ -+ pinctrl-0 = <&spkr_1_sd_n_active>; -+ pinctrl-names = "default"; -+ -+ powerdown-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; -+ -+ vdd-1p8-supply = <&vreg_l10b_1p8>; -+ vdd-io-supply = <&vreg_l10b_1p8>; -+ -+ #sound-dai-cells = <0>; -+ sound-name-prefix = "SpkrLeft"; -+ qcom,port-mapping = <1 2 3 7 10 13>; -+ }; -+ -+ spk_amp_r: speaker@0,1 { -+ compatible = "sdw20217020400"; -+ reg = <0 1>; -+ -+ pinctrl-0 = <&spkr_2_sd_n_active>; -+ pinctrl-names = "default"; -+ -+ powerdown-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; -+ -+ vdd-1p8-supply = <&vreg_l10b_1p8>; -+ vdd-io-supply = <&vreg_l10b_1p8>; -+ -+ #sound-dai-cells = <0>; -+ sound-name-prefix = "SpkrRight"; -+ qcom,port-mapping = <4 5 6 7 11 13>; -+ }; -+}; -+ -+&tlmm { -+ gpio-reserved-ranges = <32 8>; -+ -+ bt_default: bt-default-state { -+ bt-en-pins { -+ pins = "gpio81"; -+ function = "gpio"; -+ drive-strength = <16>; -+ bias-disable; -+ }; -+ -+ sw-ctrl-pins { -+ pins = "gpio82"; -+ function = "gpio"; -+ bias-pull-down; -+ }; -+ }; -+ -+ fan_pwr_active: fan-pwr-active-state { -+ pins = "gpio31"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-disable; -+ output-low; -+ }; -+ -+ fan_int: fan-int-state { -+ pins = "gpio64"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-pull; -+ input-enable; -+ }; -+ -+ upd720201_active: upd720201-active { -+ pins = "gpio10", "gpio13", "gpio18", "gpio52"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-up; -+ output-high; -+ }; -+ -+ qup_uart11_default: qup-uart11-default-state { -+ /* TX, RX */ -+ pins = "gpio70", "gpio71"; -+ function = "qup2_se3"; -+ drive-strength = <2>; -+ bias-disable; -+ }; -+ -+ sde_dsi_active: sde-dsi-active-state { -+ pins = "gpio133"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ sde_dsi_suspend: sde-dsi-suspend-state { -+ pins = "gpio133"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ sde_te_active: sde-te-active-state { -+ pins = "gpio86"; -+ function = "mdp_vsync"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ sde_te_suspend: sde-te-suspend-state { -+ pins = "gpio86"; -+ function = "mdp_vsync"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ wlan_en: wlan-en-state { -+ pins = "gpio80"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-down; -+ }; -+ -+ spkr_1_sd_n_active: spkr-1-sd-n-active-state { -+ pins = "gpio7"; -+ function = "gpio"; -+ drive-strength = <16>; -+ bias-disable; -+ output-high; -+ }; -+ -+ spkr_2_sd_n_active: spkr-2-sd-n-active-state { -+ pins = "gpio12"; -+ function = "gpio"; -+ drive-strength = <16>; -+ bias-disable; -+ output-high; -+ }; -+}; -+ -+&pm8550_pwm { -+ status = "okay"; -+ -+ power_led { -+ color = ; -+ label = "power-led"; -+ -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ red@1 { -+ reg = <1>; -+ color = ; -+ }; -+ -+ green@2 { -+ reg = <2>; -+ color = ; -+ }; -+ -+ blue@3 { -+ reg = <3>; -+ color = ; -+ }; -+ }; -+}; -+ -+&xo_board { -+ clock-frequency = <76800000>; -+}; -+ -+&gpi_dma1 { -+ status = "okay"; -+}; -+ -+&gpi_dma2 { -+ status = "okay"; -+}; -+ -+&gpu { -+ compatible = "qcom,adreno-43050a00", "qcom,adreno"; //FDA32 -+ status = "okay"; -+ -+ zap-shader { -+ firmware-name = "qcom/sm8550/ayaneo/a740_zap.mbn"; -+ }; -+}; -+ -+&gpu_opp_table { -+/* Additional speedbin for Adreno A32 -+ 719000000 RPMH_REGULATOR_LEVEL_SVS_L2 -+ 746000000 RPMH_REGULATOR_LEVEL_NOM -+ 794000000 RPMH_REGULATOR_LEVEL_NOM_L1 -+ 827000000 RPMH_REGULATOR_LEVEL_TURBO -+ 860000000 RPMH_REGULATOR_LEVEL_TURBO_L1 -+ 1000000000 RPMH_REGULATOR_LEVEL_TURBO_L2 -+*/ -+ opp-719000000 { -+ opp-hz = /bits/ 64 <719000000>; -+ opp-level = ; -+ opp-peak-kBps = <10687500>; // Level 7 -+ qcom,opp-acd-level = <0x882e5ffd>; -+ }; -+ -+ opp-746000000 { -+ opp-hz = /bits/ 64 <746000000>; -+ opp-level = ; -+ opp-peak-kBps = <10687500>; // Level 7 -+ qcom,opp-acd-level = <0x882e5ffd>; -+ }; -+ -+ opp-794000000 { -+ opp-hz = /bits/ 64 <794000000>; -+ opp-level = ; -+ opp-peak-kBps = <14398438>; // Level 8 -+ qcom,opp-acd-level = <0xa82d5ffd>; -+ }; -+ -+ opp-827000000 { -+ opp-hz = /bits/ 64 <827000000>; -+ opp-level = ; -+ opp-peak-kBps = <16500000>; // Level 9 -+ qcom,opp-acd-level = <0xa82d5ffd>; -+ }; -+ -+ opp-860000000 { -+ opp-hz = /bits/ 64 <860000000>; -+ opp-level = ; -+ opp-peak-kBps = <16500000>; // Level 9 -+ qcom,opp-acd-level = <0x882d5ffd>; -+ }; -+ -+ opp-1000000000 { -+ opp-hz = /bits/ 64 <1000000000>; -+ opp-level = ; -+ opp-peak-kBps = <16500000>; // Level 9 -+ qcom,opp-acd-level = <0x882d5ffd>; -+ }; -+}; -+ -+&i2c_master_hub_0 { -+ status = "okay"; -+}; -+ -+&i2c_hub_2 { -+ status = "okay"; -+ -+ typec-retimer@1c { -+ compatible = "onnn,nb7vpq904m"; -+ reg = <0x1c>; -+ vcc-supply = <&vreg_l15b_1p8>; -+ -+ retimer-switch; -+ orientation-switch; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ -+ redriver_ss_out: endpoint { -+ remote-endpoint = <&pmic_glink_ss_in>; -+ }; -+ }; -+ -+ port@1 { -+ reg = <1>; -+ -+ redriver_ss_in: endpoint { -+ data-lanes = <3 2 1 0>; -+ remote-endpoint = <&usb_dp_qmpphy_out>; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&mdss { -+ status = "okay"; -+}; -+ -+&mdss_dsi0 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+ -+ display_panel: panel@0 { -+ reg = <0>; -+ -+ pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>; -+ pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ port { -+ panel0_in: endpoint { -+ remote-endpoint = <&mdss_dsi0_out>; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi0_out { -+ remote-endpoint = <&panel0_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi0_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; -+ -+&mdss_dp0 { -+ status = "okay"; -+}; -+ -+&mdss_dp0_out { -+ data-lanes = <0 1>; -+}; -+ -+&pcie0 { -+ perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; -+ wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; -+ max-link-speed = <2>; -+ -+ pinctrl-0 = <&pcie0_default_state>; -+ pinctrl-names = "default"; -+ -+ status = "okay"; -+}; -+ -+&pcieport0 { -+ wifi@0 { -+ compatible = "pci17cb,1107"; -+ reg = <0x10000 0x0 0x0 0x0 0x0>; -+ -+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; -+ vddaon-supply = <&vreg_pmu_aon_0p59>; -+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; -+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; -+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; -+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; -+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; -+ vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; -+ vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; -+ }; -+}; -+ -+&pcie0_phy { -+ vdda-phy-supply = <&vreg_l1e_0p88>; -+ vdda-pll-supply = <&vreg_l3e_1p2>; -+ -+ status = "okay"; -+}; -+ -+&pcie1 { -+ wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>; -+ perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>; -+ -+ pinctrl-0 = <&pcie1_default_state>, <&upd720201_active>; -+ pinctrl-names = "default"; -+ -+ status = "okay"; -+}; -+ -+&pcie1_phy { -+ vdda-phy-supply = <&vreg_l3c_0p9>; -+ vdda-pll-supply = <&vreg_l3e_1p2>; -+ vdda-qref-supply = <&vreg_l1e_0p88>; -+ -+ status = "okay"; -+}; -+ -+&ufs_mem_hc { -+ reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vreg_l17b_2p5>; -+ vcc-max-microamp = <1300000>; -+ vccq-supply = <&vreg_l1g_1p2>; -+ vccq-max-microamp = <1200000>; -+ vdd-hba-supply = <&vreg_l3g_1p2>; -+ -+ status = "okay"; -+}; -+ -+&ufs_mem_phy { -+ vdda-phy-supply = <&vreg_l1d_0p88>; -+ vdda-pll-supply = <&vreg_l3e_1p2>; -+ -+ status = "okay"; -+}; -+ -+&usb_1 { -+ status = "okay"; -+}; -+ -+&usb_1_dwc3_hs { -+ remote-endpoint = <&pmic_glink_hs_in>; -+}; -+ -+&usb_1_hsphy { -+ vdd-supply = <&vreg_l1e_0p88>; -+ vdda12-supply = <&vreg_l3e_1p2>; -+ -+ phys = <&pm8550b_eusb2_repeater>; -+ -+ status = "okay"; -+}; -+ -+&usb_dp_qmpphy { -+ vdda-phy-supply = <&vreg_l3e_1p2>; -+ vdda-pll-supply = <&vreg_l3f_0p88>; -+ -+ status = "okay"; -+}; -+ -+&usb_dp_qmpphy_out { -+ remote-endpoint = <&redriver_ss_in>; -+}; -+ -+&uart7 { -+ status = "okay"; -+}; -+ -+&uart14 { -+ status = "okay"; -+ -+ bluetooth { -+ compatible = "qcom,wcn7850-bt"; -+ -+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; -+ vddaon-supply = <&vreg_pmu_aon_0p59>; -+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; -+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; -+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; -+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; -+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; -+ -+ max-speed = <3200000>; -+ }; -+}; diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0211_arm64--dts--qcom--Add-AYANEO-Pocket-ACE.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0211_arm64--dts--qcom--Add-AYANEO-Pocket-ACE.patch deleted file mode 100644 index 4b6d81c953..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0211_arm64--dts--qcom--Add-AYANEO-Pocket-ACE.patch +++ /dev/null @@ -1,138 +0,0 @@ -diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts ---- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 1970-01-01 00:00:00.000000000 +0000 -+++ linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 2025-02-26 13:52:56.398992835 +0000 -@@ -0,0 +1,134 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayaneo-pocket-common.dtsi" -+ -+/ { -+ model = "AYANEO Pocket ACE"; -+ qcom,board-id = <0x1000b 0x01>; -+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; -+ compatible = "ayaneo,pocketace", "qcom,qcs8550", "qcom,sm8550"; -+ rocknix-u-boot-dt-id = "u-boot-pocket-ace"; -+}; -+ -+&tlmm { -+ panel_pwr_active: panel-pwr-active-state { -+ pins = "gpio72", "gpio42", "gpio152", "gpio153"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ panel_pwr_sleep: panel-pwr-sleep-state { -+ pins = "gpio72", "gpio42", "gpio152", "gpio153"; -+ function = "gpio"; -+ output-low; -+ }; -+ -+ backlight_pwr_active: backlight-pwr-active-state { -+ pins = "gpio41"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ backlight_pwr_sleep: backlight-pwr-sleep-state { -+ pins = "gpio41"; -+ function = "gpio"; -+ output-low; -+ }; -+ -+ ts_int_active: ts-int-default-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-up; -+ input-enable; -+ }; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ /* Screen power */ -+ sgm3804: regulator@3e { -+ compatible = "sgmicro,sgm3804"; -+ reg = <0x3e>; -+ pinctrl-0 = <&panel_pwr_active>; -+ pinctrl-1 = <&panel_pwr_sleep>; -+ pinctrl-names = "default", "sleep"; -+ regulator-name = "panel-avdd"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ /* Backlight */ -+ backlight: sy7758@2e { -+ compatible = "silergy,sy7758"; -+ reg = <0x2e>; -+ pinctrl-0 = <&backlight_pwr_active>; -+ pinctrl-1 = <&backlight_pwr_sleep>; -+ pinctrl-names = "default", "sleep"; -+ status = "okay"; -+ }; -+}; -+ -+&i2c4 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ touchscreen@70 { -+ compatible = "syna,rmi4-i2c"; -+ reg = <0x70>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ interrupts-extended = <&tlmm 25 0x2008>; -+ -+ pinctrl-names = "active"; -+ pinctrl-0 = <&ts_int_active>; -+ -+ reset-gpios = <&tlmm 24 0x01>; -+ -+ vio-supply = <&vreg_l12b_1p8>; -+ vdd-supply = <&vreg_l14b_3p2>; -+ -+ syna,startup-delay-ms = <200>; -+ syna,reset-delay-ms = <200>; -+ -+ rmi4-f01@1 { -+ syna,nosleep-mode = <0x1>; -+ reg = <0x1>; -+ }; -+ -+ rmi4-f12@12 { -+ reg = <0x12>; -+ syna,rezero-wait-ms = <20>; -+ syna,clip-x-low = <0>; -+ syna,clip-y-low = <0>; -+ syna,clip-x-high = <1080>; -+ syna,clip-y-high = <1620>; -+ syna,sensor-type = <1>; -+ }; -+ }; -+}; -+ -+&display_panel { -+ compatible = "ayaneo,pocket-ace-panel"; -+ -+ avdd-supply = <&sgm3804>; -+ vci-supply = <&vreg_l13b_3p0>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ -+ backlight = <&backlight>; -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ rotation = <90>; -+}; diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch deleted file mode 100644 index be5403e5c2..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts -new file mode 100644 -index 000000000000..845a7cf600e2 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts -@@ -0,0 +1,111 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayaneo-pocket-common.dtsi" -+ -+/ { -+ model = "AYANEO Pocket DMG"; -+ qcom,board-id = <0x1000b 0x01>; -+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; -+ compatible = "ayaneo,pocketdmg", "qcom,qcs8550", "qcom,sm8550"; -+ rocknix-u-boot-dt-id = "u-boot-pocket-dmg"; -+}; -+ -+&tlmm { -+ panel_pwr_active: panel-pwr-active-state { -+ pins = "gpio152", "gpio153"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ ts_int_active: ts-int-active-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-up; -+ }; -+ -+ ts_reset_active: ts-reset-active-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-up; -+ }; -+ -+ ts_int_suspend: ts-int-suspend-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ ts_reset_suspend: ts-reset-suspend-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ /* Screen power */ -+ sgm3804: regulator@3e { -+ compatible = "sgmicro,sgm3804"; -+ reg = <0x3e>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&panel_pwr_active>; -+ regulator-name = "panel-avdd"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+&i2c4 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ hynitron@5a { -+ compatible = "hyn,66xx"; -+ reg = <0x5a>; -+ -+ vdd_ana; -+ vdd_ana-supply = <&vreg_l14b_3p2>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 0x02>; -+ reset-gpio = <&tlmm 24 0x01>; -+ irq-gpio = <&tlmm 25 0x02>; -+ -+ pinctrl-names = "ts_active","ts_suspend"; -+ pinctrl-0 = <&ts_int_active &ts_reset_active>; -+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; -+ -+ max-touch-number = <5>; -+ display-coords = <0 0 1080 1240>; -+ pos-swap = <1>; -+ posx-reverse = <0>; -+ posy-reverse = <0>; -+ }; -+}; -+ -+&display_panel { -+ compatible = "ayaneo,pocket-dmg-panel"; -+ -+ avdd-supply = <&sgm3804>; -+ vci-supply = <&vreg_l13b_3p0>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ rotation = <270>; -+}; diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0213_arm64--dts--qcom--Add-AYANEO-Pocket-EVO.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0213_arm64--dts--qcom--Add-AYANEO-Pocket-EVO.patch deleted file mode 100644 index a52d289d79..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0213_arm64--dts--qcom--Add-AYANEO-Pocket-EVO.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketevo.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketevo.dts -new file mode 100644 -index 000000000..a1964367a ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketevo.dts -@@ -0,0 +1,99 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayaneo-pocket-common.dtsi" -+ -+/ { -+ model = "AYANEO Pocket EVO"; -+ qcom,board-id = <0x1000b 0x01>; -+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; -+ compatible = "ayaneo,pocketevo", "qcom,qcs8550", "qcom,sm8550"; -+ rocknix-u-boot-dt-id = "u-boot-pocket-evo"; -+}; -+ -+&tlmm { -+ panel_pwr_active: panel-pwr-active-state { -+ pins = "gpio152", "gpio153"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ ts_reset_active: ts-reset-active-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-up; -+ }; -+ -+ ts_reset_suspend: ts-reset-suspend-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ ts_int_active: ts-int-default-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_int_suspend: ts-int-sleep-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+}; -+ -+&i2c4 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ touchscreen: touchscreen@38 { -+ compatible = "focaltech,ft5426"; -+ reg = <0x38>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>; -+ -+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vreg_l14b_3p2>; -+ iovcc-supply = <&vreg_l12b_1p8>; -+ -+ pinctrl-0 = <&ts_int_active &ts_reset_active>; -+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1920>; -+ }; -+}; -+ -+ -+&display_panel { -+ compatible = "chipone,icna3512"; -+ -+ vci-supply = <&vreg_l13b_3p0>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ rotation = <270>; -+}; diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0214_arm64--dts--qcom--Add-AYANEO-Pocket-DS.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0214_arm64--dts--qcom--Add-AYANEO-Pocket-DS.patch deleted file mode 100644 index 1a873a11f7..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0214_arm64--dts--qcom--Add-AYANEO-Pocket-DS.patch +++ /dev/null @@ -1,244 +0,0 @@ -diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts -new file mode 100644 -index 000000000..e8510012e ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts -@@ -0,0 +1,238 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2025, Teguh Sobirin. -+ * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayaneo-pocket-common.dtsi" -+ -+/ { -+ model = "AYANEO Pocket DS"; -+ qcom,board-id = <0x1000b 0x01>; -+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; -+ compatible = "ayaneo,pocketds", "qcom,qcs8550", "qcom,sm8550"; -+ rocknix-u-boot-dt-id = "u-boot-pocket-ds"; -+ -+ tca6424_vcc: regulator-tca6424-vcc { -+ compatible = "regulator-fixed"; -+ regulator-name = "tca6424_vcc"; -+ -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ -+ gpio = <&tlmm 168 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ regulator-boot-on; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_ts: vdd-ts { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_ts_en"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ gpio = <&tca6408 1 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+}; -+ -+&tlmm { -+ gpio-reserved-ranges = <32 4>; -+ panel_pwr_active: panel-pwr-active-state { -+ pins = "gpio152", "gpio153"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ sde_dsi1_active: sde-dsi1-active-state { -+ pins = "gpio137"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ output-high; -+ }; -+ -+ sde_dsi1_suspend: sde-dsi1-suspend-state { -+ pins = "gpio137"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ ts_rst_default: ts-rst-default-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_rst_sleep: ts-rst-sleep-state { -+ pins = "gpio24"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+ -+ ts_int_default: ts-int-default-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ ts_int_sleep: ts-int-sleep-state { -+ pins = "gpio25"; -+ function = "gpio"; -+ bias-pull-down; -+ drive-strength = <2>; -+ }; -+ -+ ts2_irq: ts2-irq-state { -+ pins = "gpio39"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-disable; -+ input-enable; -+ }; -+ -+ ts2_reset: ts2-reset-state { -+ pins = "gpio38"; -+ function = "gpio"; -+ drive-strength = <8>; -+ input-enable; -+ bias-pull-down; -+ }; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ /* Screen power */ -+ sgm3804: regulator@3e { -+ compatible = "sgmicro,sgm3804"; -+ reg = <0x3e>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&panel_pwr_active>; -+ regulator-name = "panel-avdd"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ /* Backlight */ -+ backlight: backlight@2e { -+ compatible = "silergy,sy7758"; -+ reg = <0x2e>; -+ status = "okay"; -+ }; -+ -+ tca6408: tca64_20@20 { -+ gpio-controller; -+ compatible = "ti,tca6408"; -+ status = "okay"; -+ reg = <0x20>; -+ #gpio-cells = <0x02>; -+ vcc-supply = <&tca6424_vcc>; -+ }; -+}; -+ -+&i2c2 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ touchscreen@5d { -+ reg = <0x5d>; -+ compatible = "goodix,gt911"; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <39 IRQ_TYPE_EDGE_FALLING>; -+ -+ reset-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; -+ irq-gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>; -+ VDDIO-supply = <&vdd_ts>; -+ -+ touchscreen-size-x = <768>; -+ touchscreen-size-y = <1024>; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&ts2_reset>, <&ts2_irq>; -+ -+ }; -+}; -+ -+&i2c4 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ touchscreen: touchscreen@38 { -+ compatible = "focaltech,ft5426"; -+ reg = <0x38>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>; -+ -+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vreg_l14b_3p2>; -+ iovcc-supply = <&vreg_l12b_1p8>; -+ -+ pinctrl-0 = <&ts_int_default &ts_rst_default>; -+ pinctrl-1 = <&ts_int_sleep &ts_rst_sleep>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1920>; -+ }; -+}; -+ -+&display_panel { -+ compatible = "chipone,icna3512"; -+ -+ vci-supply = <&vreg_l13b_3p0>; -+ vddio-supply = <&vreg_l12b_1p8>; -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ rotation = <270>; -+}; -+ -+&mdss_dsi1 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+ -+ panel@0 { -+ compatible = "ayaneo,pocket-ds-secondary-panel"; -+ reg = <0>; -+ pinctrl-0 = <&sde_dsi1_active>; -+ pinctrl-1 = <&sde_dsi1_suspend>; -+ pinctrl-names = "default", "sleep"; -+ avdd-supply = <&sgm3804>; -+ enable-gpio = <&tca6408 0 GPIO_ACTIVE_HIGH>; -+ reset-gpios = <&tca6408 2 GPIO_ACTIVE_LOW>; -+ rotation = <270>; -+ backlight = <&backlight>; -+ -+ port { -+ panel1_in: endpoint { -+ remote-endpoint = <&mdss_dsi1_out>; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi1_out { -+ remote-endpoint = <&panel1_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi1_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0221_arm64--dts--qcom--Add-RETROID-POCKET-RP6.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0221_arm64--dts--qcom--Add-RETROID-POCKET-RP6.patch deleted file mode 100644 index 3371ac4188..0000000000 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0221_arm64--dts--qcom--Add-RETROID-POCKET-RP6.patch +++ /dev/null @@ -1,365 +0,0 @@ -diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-retroidpocket-rp6.dts linux/arch/arm64/boot/dts/qcom/qcs8550-retroidpocket-rp6.dts ---- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-retroidpocket-rp6.dts 1970-01-01 00:00:00.000000000 +0000 -+++ linux/arch/arm64/boot/dts/qcom/qcs8550-retroidpocket-rp6.dts 2026-02-13 04:04:18.965989588 +0000 -@@ -0,0 +1,361 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (C) 2026-present ROCKNIX (https://github.com/ROCKNIX). -+ */ -+ -+/dts-v1/; -+ -+#include "qcs8550-ayn-common.dtsi" -+ -+/ { -+ model = "Retroid Pocket 6"; -+ compatible = "retroidpocket,rp6", "qcom,qcs8550", "qcom,sm8550"; -+ qcom,board-id = <0x1001f 0x00>; -+ qcom,msm-id = <0x25b 0x20000>; -+ -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&pmk8550_pwm 0 860000>; -+ brightness-levels = <1023 0>; -+ num-interpolated-steps = <1023>; -+ default-brightness-level = <600>; -+ power-supply = <&vph_pwr>; -+ enable-gpios = <&pmk8550_gpios 5 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwm_backlight_default>; -+ status = "okay"; -+ }; -+ -+ vdd_disp_1v8: vdd-disp-1v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vdd_disp_2v8: vdd-disp-2v8-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_disp_2v8"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ ts_avdd_3v0: regulator-ts-avdd-3v0 { -+ compatible = "regulator-fixed"; -+ regulator-name = "ts_avdd_3v0"; -+ -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ -+ gpio = <&tlmm 144 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ ts_vddio_1v8: regulator-ts-vddio-1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "ts_vddio_1v8"; -+ -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ multi-ledr1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r1"; -+ leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; -+ }; -+ -+ multi-ledl1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l1"; -+ leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; -+ }; -+ -+ multi-ledr2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r2"; -+ leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; -+ }; -+ -+ multi-ledl2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l2"; -+ leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; -+ }; -+ -+ multi-ledr3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r3"; -+ leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; -+ }; -+ -+ multi-ledl3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l3"; -+ leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; -+ }; -+ -+ multi-ledr4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r4"; -+ leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; -+ }; -+ -+ multi-ledl4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l4"; -+ leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; -+ }; -+}; -+ -+&mdss_dsi0 { -+ vdda-supply = <&vreg_l3e_1p2>; -+ status = "okay"; -+ -+ panel@0 { -+ reg = <0>; -+ compatible = "retroid,pocket-6-panel"; -+ -+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>; -+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ vddio-supply = <&vdd_disp_1v8>; -+ avdd-supply = <&vdd_disp_2v8>; -+ -+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; -+ -+ backlight = <&backlight>; -+ -+ rotation = <270>; -+ -+ port { -+ panel0_in: endpoint { -+ remote-endpoint = <&mdss_dsi0_out>; -+ }; -+ }; -+ }; -+}; -+ -+&mdss_dsi0_out { -+ remote-endpoint = <&panel0_in>; -+ data-lanes = <0 1 2 3>; -+}; -+ -+&mdss_dsi0_phy { -+ vdds-supply = <&vreg_l1e_0p88>; -+ status = "okay"; -+}; -+ -+&mdss_dsi1 { -+ status = "disabled"; -+}; -+ -+&i2c0 { -+ htr3212l: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ -+ ledl_b1: led@1 { -+ reg = <1>; -+ label = "l:r1"; -+ color = ; -+ }; -+ ledl_g1: led@2 { -+ reg = <2>; -+ label = "l:g1"; -+ color = ; -+ }; -+ ledl_r1: led@3 { -+ reg = <3>; -+ label = "l:b1"; -+ color = ; -+ }; -+ ledl_b2: led@4 { -+ reg = <4>; -+ label = "l:r2"; -+ color = ; -+ }; -+ ledl_g2: led@5 { -+ reg = <5>; -+ label = "l:g2"; -+ color = ; -+ }; -+ ledl_r2: led@6 { -+ reg = <6>; -+ label = "l:b2"; -+ color = ; -+ }; -+ ledl_b3: led@7 { -+ reg = <7>; -+ label = "l:r3"; -+ color = ; -+ }; -+ ledl_g3: led@8 { -+ reg = <8>; -+ label = "l:g3"; -+ color = ; -+ }; -+ ledl_r3: led@9 { -+ reg = <9>; -+ label = "l:b3"; -+ color = ; -+ }; -+ ledl_b4: led@10 { -+ reg = <10>; -+ label = "l:r4"; -+ color = ; -+ }; -+ ledl_g4: led@11 { -+ reg = <11>; -+ label = "l:g4"; -+ color = ; -+ }; -+ ledl_r4: led@12 { -+ reg = <12>; -+ label = "l:b4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c12 { -+ htr3212r: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vdd_mcu_3v3>; -+ -+ ledr_b1: led@1 { -+ reg = <1>; -+ label = "r:r1"; -+ color = ; -+ }; -+ ledr_g1: led@2 { -+ reg = <2>; -+ label = "r:g1"; -+ color = ; -+ }; -+ ledr_r1: led@3 { -+ reg = <3>; -+ label = "r:b1"; -+ color = ; -+ }; -+ ledr_b2: led@4 { -+ reg = <4>; -+ label = "r:r2"; -+ color = ; -+ }; -+ ledr_g2: led@5 { -+ reg = <5>; -+ label = "r:g2"; -+ color = ; -+ }; -+ ledr_r2: led@6 { -+ reg = <6>; -+ label = "r:b2"; -+ color = ; -+ }; -+ ledr_b3: led@7 { -+ reg = <7>; -+ label = "r:r3"; -+ color = ; -+ }; -+ ledr_g3: led@8 { -+ reg = <8>; -+ label = "r:g3"; -+ color = ; -+ }; -+ ledr_r3: led@9 { -+ reg = <9>; -+ label = "r:b3"; -+ color = ; -+ }; -+ ledr_b4: led@10 { -+ reg = <10>; -+ label = "r:r4"; -+ color = ; -+ }; -+ ledr_g4: led@11 { -+ reg = <11>; -+ label = "r:g4"; -+ color = ; -+ }; -+ ledr_r4: led@12 { -+ reg = <12>; -+ label = "r:b4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c_hub_3 { -+ clock-frequency = <100000>; -+ status = "okay"; -+ touchscreen@38 { -+ compatible = "focaltech,ft5426"; -+ reg = <0x38>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <15 IRQ_TYPE_EDGE_FALLING>; -+ reset-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&ts_avdd_3v0>; -+ iovcc-supply = <&ts_vddio_1v8>; -+ -+ pinctrl-0 = <&ts_p_rst_default &ts_p_int_default>; -+ pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1920>; -+ touchscreen-inverted-y; -+ -+ no-regmap-bulk-read; -+ }; -+}; -+ -+&pmk8550_pwm { -+ status = "okay"; -+}; -+ -+&remoteproc_adsp { -+ firmware-name = "qcom/sm8550/ayn/odin2/adsp.mbn", -+ "qcom/sm8550/ayn/odin2/adsp_dtb.mbn"; -+ status = "okay"; -+}; -+ -+&spk_amp_l { -+ firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; -+}; -+ -+&spk_amp_r { -+ firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin"; -+}; diff --git a/projects/ROCKNIX/devices/SM8650/linux/dts/qcom/sm8650-ayaneo-common.dtsi b/projects/ROCKNIX/devices/SM8650/linux/dts/qcom/sm8650-ayaneo-common.dtsi index 0b9b50ce72..6529baa9cd 100644 --- a/projects/ROCKNIX/devices/SM8650/linux/dts/qcom/sm8650-ayaneo-common.dtsi +++ b/projects/ROCKNIX/devices/SM8650/linux/dts/qcom/sm8650-ayaneo-common.dtsi @@ -1620,7 +1620,6 @@ bias-pull-down; }; - upd720201_avdd33: upd720201-avdd33-state { pins = "gpio123"; function = "gpio";