]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: move common parts for sa8775p-ride variants into a .dtsi
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 27 Jun 2024 11:42:11 +0000 (13:42 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 2 Jul 2024 03:30:27 +0000 (22:30 -0500)
In order to support multiple revisions of the sa8775p-ride board, create
a .dtsi containing the common parts and split out the ethernet bits into
the actual board file as they will change in revision 3.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/20240627114212.25400-3-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sa8775p-ride.dts
arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi [new file with mode: 0644]

index 26ad05bd3b3ff054d421025d22948c22e9bc6469..2e87fd760dbdde9f93aef8c3b3b013e1cfb73d5f 100644 (file)
 
 /dts-v1/;
 
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-
-#include "sa8775p.dtsi"
-#include "sa8775p-pmics.dtsi"
+#include "sa8775p-ride.dtsi"
 
 / {
        model = "Qualcomm SA8775P Ride";
        compatible = "qcom,sa8775p-ride", "qcom,sa8775p";
-
-       aliases {
-               ethernet0 = &ethernet0;
-               ethernet1 = &ethernet1;
-               i2c11 = &i2c11;
-               i2c18 = &i2c18;
-               serial0 = &uart10;
-               serial1 = &uart12;
-               serial2 = &uart17;
-               spi16 = &spi16;
-               ufshc1 = &ufs_mem_hc;
-       };
-
-       chosen {
-               stdout-path = "serial0:115200n8";
-       };
-};
-
-&apps_rsc {
-       regulators-0 {
-               compatible = "qcom,pmm8654au-rpmh-regulators";
-               qcom,pmic-id = "a";
-
-               vreg_s4a: smps4 {
-                       regulator-name = "vreg_s4a";
-                       regulator-min-microvolt = <1800000>;
-                       regulator-max-microvolt = <1816000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_s5a: smps5 {
-                       regulator-name = "vreg_s5a";
-                       regulator-min-microvolt = <1850000>;
-                       regulator-max-microvolt = <1996000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_s9a: smps9 {
-                       regulator-name = "vreg_s9a";
-                       regulator-min-microvolt = <535000>;
-                       regulator-max-microvolt = <1120000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l4a: ldo4 {
-                       regulator-name = "vreg_l4a";
-                       regulator-min-microvolt = <788000>;
-                       regulator-max-microvolt = <1050000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l5a: ldo5 {
-                       regulator-name = "vreg_l5a";
-                       regulator-min-microvolt = <870000>;
-                       regulator-max-microvolt = <950000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l6a: ldo6 {
-                       regulator-name = "vreg_l6a";
-                       regulator-min-microvolt = <870000>;
-                       regulator-max-microvolt = <970000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l7a: ldo7 {
-                       regulator-name = "vreg_l7a";
-                       regulator-min-microvolt = <720000>;
-                       regulator-max-microvolt = <950000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l8a: ldo8 {
-                       regulator-name = "vreg_l8a";
-                       regulator-min-microvolt = <2504000>;
-                       regulator-max-microvolt = <3300000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l9a: ldo9 {
-                       regulator-name = "vreg_l9a";
-                       regulator-min-microvolt = <2970000>;
-                       regulator-max-microvolt = <3544000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-       };
-
-       regulators-1 {
-               compatible = "qcom,pmm8654au-rpmh-regulators";
-               qcom,pmic-id = "c";
-
-               vreg_l1c: ldo1 {
-                       regulator-name = "vreg_l1c";
-                       regulator-min-microvolt = <1140000>;
-                       regulator-max-microvolt = <1260000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l2c: ldo2 {
-                       regulator-name = "vreg_l2c";
-                       regulator-min-microvolt = <900000>;
-                       regulator-max-microvolt = <1100000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l3c: ldo3 {
-                       regulator-name = "vreg_l3c";
-                       regulator-min-microvolt = <1100000>;
-                       regulator-max-microvolt = <1300000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l4c: ldo4 {
-                       regulator-name = "vreg_l4c";
-                       regulator-min-microvolt = <1200000>;
-                       regulator-max-microvolt = <1200000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       /*
-                        * FIXME: This should have regulator-allow-set-load but
-                        * we're getting an over-current fault from the PMIC
-                        * when switching to LPM.
-                        */
-               };
-
-               vreg_l5c: ldo5 {
-                       regulator-name = "vreg_l5c";
-                       regulator-min-microvolt = <1100000>;
-                       regulator-max-microvolt = <1300000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l6c: ldo6 {
-                       regulator-name = "vreg_l6c";
-                       regulator-min-microvolt = <1620000>;
-                       regulator-max-microvolt = <1980000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l7c: ldo7 {
-                       regulator-name = "vreg_l7c";
-                       regulator-min-microvolt = <1620000>;
-                       regulator-max-microvolt = <2000000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l8c: ldo8 {
-                       regulator-name = "vreg_l8c";
-                       regulator-min-microvolt = <2400000>;
-                       regulator-max-microvolt = <3300000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l9c: ldo9 {
-                       regulator-name = "vreg_l9c";
-                       regulator-min-microvolt = <1650000>;
-                       regulator-max-microvolt = <2700000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-       };
-
-       regulators-2 {
-               compatible = "qcom,pmm8654au-rpmh-regulators";
-               qcom,pmic-id = "e";
-
-               vreg_s4e: smps4 {
-                       regulator-name = "vreg_s4e";
-                       regulator-min-microvolt = <970000>;
-                       regulator-max-microvolt = <1520000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_s7e: smps7 {
-                       regulator-name = "vreg_s7e";
-                       regulator-min-microvolt = <1010000>;
-                       regulator-max-microvolt = <1170000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_s9e: smps9 {
-                       regulator-name = "vreg_s9e";
-                       regulator-min-microvolt = <300000>;
-                       regulator-max-microvolt = <570000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l6e: ldo6 {
-                       regulator-name = "vreg_l6e";
-                       regulator-min-microvolt = <1280000>;
-                       regulator-max-microvolt = <1450000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-
-               vreg_l8e: ldo8 {
-                       regulator-name = "vreg_l8e";
-                       regulator-min-microvolt = <1800000>;
-                       regulator-max-microvolt = <1950000>;
-                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-                       regulator-allow-set-load;
-                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
-                                                  RPMH_REGULATOR_MODE_HPM>;
-               };
-       };
 };
 
 &ethernet0 {
        phy-mode = "sgmii";
-       phy-handle = <&sgmii_phy0>;
-
-       pinctrl-0 = <&ethernet0_default>;
-       pinctrl-names = "default";
-
-       snps,mtl-rx-config = <&mtl_rx_setup>;
-       snps,mtl-tx-config = <&mtl_tx_setup>;
-       snps,ps-speed = <1000>;
-
-       status = "okay";
-
-       mdio {
-               compatible = "snps,dwmac-mdio";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               sgmii_phy0: phy@8 {
-                       compatible = "ethernet-phy-id0141.0dd4";
-                       reg = <0x8>;
-                       device_type = "ethernet-phy";
-                       interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>;
-                       reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>;
-                       reset-assert-us = <11000>;
-                       reset-deassert-us = <70000>;
-               };
-
-               sgmii_phy1: phy@a {
-                       compatible = "ethernet-phy-id0141.0dd4";
-                       reg = <0xa>;
-                       device_type = "ethernet-phy";
-                       interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>;
-                       reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>;
-                       reset-assert-us = <11000>;
-                       reset-deassert-us = <70000>;
-               };
-       };
-
-       mtl_rx_setup: rx-queues-config {
-               snps,rx-queues-to-use = <4>;
-               snps,rx-sched-sp;
-
-               queue0 {
-                       snps,dcb-algorithm;
-                       snps,map-to-dma-channel = <0x0>;
-                       snps,route-up;
-                       snps,priority = <0x1>;
-               };
-
-               queue1 {
-                       snps,dcb-algorithm;
-                       snps,map-to-dma-channel = <0x1>;
-                       snps,route-ptp;
-               };
-
-               queue2 {
-                       snps,avb-algorithm;
-                       snps,map-to-dma-channel = <0x2>;
-                       snps,route-avcp;
-               };
-
-               queue3 {
-                       snps,avb-algorithm;
-                       snps,map-to-dma-channel = <0x3>;
-                       snps,priority = <0xc>;
-               };
-       };
-
-       mtl_tx_setup: tx-queues-config {
-               snps,tx-queues-to-use = <4>;
-               snps,tx-sched-sp;
-
-               queue0 {
-                       snps,dcb-algorithm;
-               };
-
-               queue1 {
-                       snps,dcb-algorithm;
-               };
-
-               queue2 {
-                       snps,avb-algorithm;
-                       snps,send_slope = <0x1000>;
-                       snps,idle_slope = <0x1000>;
-                       snps,high_credit = <0x3e800>;
-                       snps,low_credit = <0xffc18000>;
-               };
-
-               queue3 {
-                       snps,avb-algorithm;
-                       snps,send_slope = <0x1000>;
-                       snps,idle_slope = <0x1000>;
-                       snps,high_credit = <0x3e800>;
-                       snps,low_credit = <0xffc18000>;
-               };
-       };
 };
 
 &ethernet1 {
        phy-mode = "sgmii";
-       phy-handle = <&sgmii_phy1>;
-
-       snps,mtl-rx-config = <&mtl_rx_setup1>;
-       snps,mtl-tx-config = <&mtl_tx_setup1>;
-       snps,ps-speed = <1000>;
-
-       status = "okay";
-
-       mtl_rx_setup1: rx-queues-config {
-               snps,rx-queues-to-use = <4>;
-               snps,rx-sched-sp;
-
-               queue0 {
-                       snps,dcb-algorithm;
-                       snps,map-to-dma-channel = <0x0>;
-                       snps,route-up;
-                       snps,priority = <0x1>;
-               };
-
-               queue1 {
-                       snps,dcb-algorithm;
-                       snps,map-to-dma-channel = <0x1>;
-                       snps,route-ptp;
-               };
-
-               queue2 {
-                       snps,avb-algorithm;
-                       snps,map-to-dma-channel = <0x2>;
-                       snps,route-avcp;
-               };
-
-               queue3 {
-                       snps,avb-algorithm;
-                       snps,map-to-dma-channel = <0x3>;
-                       snps,priority = <0xc>;
-               };
-       };
-
-       mtl_tx_setup1: tx-queues-config {
-               snps,tx-queues-to-use = <4>;
-               snps,tx-sched-sp;
-
-               queue0 {
-                       snps,dcb-algorithm;
-               };
-
-               queue1 {
-                       snps,dcb-algorithm;
-               };
-
-               queue2 {
-                       snps,avb-algorithm;
-                       snps,send_slope = <0x1000>;
-                       snps,idle_slope = <0x1000>;
-                       snps,high_credit = <0x3e800>;
-                       snps,low_credit = <0xffc18000>;
-               };
-
-               queue3 {
-                       snps,avb-algorithm;
-                       snps,send_slope = <0x1000>;
-                       snps,idle_slope = <0x1000>;
-                       snps,high_credit = <0x3e800>;
-                       snps,low_credit = <0xffc18000>;
-               };
-       };
-};
-
-&i2c11 {
-       clock-frequency = <400000>;
-       pinctrl-0 = <&qup_i2c11_default>;
-       pinctrl-names = "default";
-       status = "okay";
-};
-
-&i2c18 {
-       clock-frequency = <400000>;
-       pinctrl-0 = <&qup_i2c18_default>;
-       pinctrl-names = "default";
-       status = "okay";
-};
-
-&pmm8654au_0_gpios {
-       gpio-line-names = "DS_EN",
-                         "POFF_COMPLETE",
-                         "UFS0_VER_ID",
-                         "FAST_POFF",
-                         "DBU1_PON_DONE",
-                         "AOSS_SLEEP",
-                         "CAM_DES0_EN",
-                         "CAM_DES1_EN",
-                         "CAM_DES2_EN",
-                         "CAM_DES3_EN",
-                         "UEFI",
-                         "ANALOG_PON_OPT";
-};
-
-&pmm8654au_0_pon_resin {
-       linux,code = <KEY_VOLUMEDOWN>;
-       status = "okay";
-};
-
-&pmm8654au_1_gpios {
-       gpio-line-names = "PMIC_C_ID0",
-                         "PMIC_C_ID1",
-                         "UFS1_VER_ID",
-                         "IPA_PWR",
-                         "",
-                         "WLAN_DBU4_EN",
-                         "WLAN_EN",
-                         "BT_EN",
-                         "USB2_PWR_EN",
-                         "USB2_FAULT";
-
-       usb2_en_state: usb2-en-state {
-               pins = "gpio9";
-               function = "normal";
-               output-high;
-               power-source = <0>;
-       };
-};
-
-&pmm8654au_2_gpios {
-       gpio-line-names = "PMIC_E_ID0",
-                         "PMIC_E_ID1",
-                         "USB0_PWR_EN",
-                         "USB0_FAULT",
-                         "SENSOR_IRQ_1",
-                         "SENSOR_IRQ_2",
-                         "SENSOR_RST",
-                         "SGMIIO0_RST",
-                         "SGMIIO1_RST",
-                         "USB1_PWR_ENABLE",
-                         "USB1_FAULT",
-                         "VMON_SPX8";
-
-       usb0_en_state: usb0-en-state {
-               pins = "gpio3";
-               function = "normal";
-               output-high;
-               power-source = <0>;
-       };
-
-       usb1_en_state: usb1-en-state {
-               pins = "gpio10";
-               function = "normal";
-               output-high;
-               power-source = <0>;
-       };
-};
-
-&pmm8654au_3_gpios {
-       gpio-line-names = "PMIC_G_ID0",
-                         "PMIC_G_ID1",
-                         "GNSS_RST",
-                         "GNSS_EN",
-                         "GNSS_BOOT_MODE";
-};
-
-&qupv3_id_1 {
-       status = "okay";
-};
-
-&qupv3_id_2 {
-       status = "okay";
-};
-
-&serdes0 {
-       phy-supply = <&vreg_l5a>;
-       status = "okay";
-};
-
-&serdes1 {
-       phy-supply = <&vreg_l5a>;
-       status = "okay";
-};
-
-&sleep_clk {
-       clock-frequency = <32764>;
-};
-
-&spi16 {
-       pinctrl-0 = <&qup_spi16_default>;
-       pinctrl-names = "default";
-       status = "okay";
 };
 
-&tlmm {
-       ethernet0_default: ethernet0-default-state {
-               ethernet0_mdc: ethernet0-mdc-pins {
-                       pins = "gpio8";
-                       function = "emac0_mdc";
-                       drive-strength = <16>;
-                       bias-pull-up;
-               };
-
-               ethernet0_mdio: ethernet0-mdio-pins {
-                       pins = "gpio9";
-                       function = "emac0_mdio";
-                       drive-strength = <16>;
-                       bias-pull-up;
-               };
-       };
-
-       qup_uart10_default: qup-uart10-state {
-               pins = "gpio46", "gpio47";
-               function = "qup1_se3";
-       };
-
-       qup_spi16_default: qup-spi16-state {
-               pins = "gpio86", "gpio87", "gpio88", "gpio89";
-               function = "qup2_se2";
-               drive-strength = <6>;
-               bias-disable;
-       };
-
-       qup_i2c11_default: qup-i2c11-state {
-               pins = "gpio48", "gpio49";
-               function = "qup1_se4";
-               drive-strength = <2>;
-               bias-pull-up;
-       };
-
-       qup_i2c18_default: qup-i2c18-state {
-               pins = "gpio95", "gpio96";
-               function = "qup2_se4";
-               drive-strength = <2>;
-               bias-pull-up;
-       };
-
-       qup_uart12_default: qup-uart12-state {
-               qup_uart12_cts: qup-uart12-cts-pins {
-                       pins = "gpio52";
-                       function = "qup1_se5";
-                       bias-disable;
-               };
-
-               qup_uart12_rts: qup-uart12-rts-pins {
-                       pins = "gpio53";
-                       function = "qup1_se5";
-                       bias-pull-down;
-               };
-
-               qup_uart12_tx: qup-uart12-tx-pins {
-                       pins = "gpio54";
-                       function = "qup1_se5";
-                       bias-pull-up;
-               };
-
-               qup_uart12_rx: qup-uart12-rx-pins {
-                       pins = "gpio55";
-                       function = "qup1_se5";
-                       bias-pull-down;
-               };
-       };
-
-       qup_uart17_default: qup-uart17-state {
-               qup_uart17_cts: qup-uart17-cts-pins {
-                       pins = "gpio91";
-                       function = "qup2_se3";
-                       bias-disable;
-               };
-
-               qup_uart17_rts: qup0-uart17-rts-pins {
-                       pins = "gpio92";
-                       function = "qup2_se3";
-                       bias-pull-down;
-               };
-
-               qup_uart17_tx: qup0-uart17-tx-pins {
-                       pins = "gpio93";
-                       function = "qup2_se3";
-                       bias-pull-up;
-               };
-
-               qup_uart17_rx: qup0-uart17-rx-pins {
-                       pins = "gpio94";
-                       function = "qup2_se3";
-                       bias-pull-down;
-               };
-       };
+&mdio {
+       compatible = "snps,dwmac-mdio";
+       #address-cells = <1>;
+       #size-cells = <0>;
 
-       pcie0_default_state: pcie0-default-state {
-               perst-pins {
-                       pins = "gpio2";
-                       function = "gpio";
-                       drive-strength = <2>;
-                       bias-pull-down;
-               };
-
-               clkreq-pins {
-                       pins = "gpio1";
-                       function = "pcie0_clkreq";
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               wake-pins {
-                       pins = "gpio0";
-                       function = "gpio";
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
+       sgmii_phy0: phy@8 {
+               compatible = "ethernet-phy-id0141.0dd4";
+               reg = <0x8>;
+               device_type = "ethernet-phy";
+               interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>;
+               reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>;
+               reset-assert-us = <11000>;
+               reset-deassert-us = <70000>;
        };
 
-       pcie1_default_state: pcie1-default-state {
-               perst-pins {
-                       pins = "gpio4";
-                       function = "gpio";
-                       drive-strength = <2>;
-                       bias-pull-down;
-               };
-
-               clkreq-pins {
-                       pins = "gpio3";
-                       function = "pcie1_clkreq";
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               wake-pins {
-                       pins = "gpio5";
-                       function = "gpio";
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
+       sgmii_phy1: phy@a {
+               compatible = "ethernet-phy-id0141.0dd4";
+               reg = <0xa>;
+               device_type = "ethernet-phy";
+               interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>;
+               reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>;
+               reset-assert-us = <11000>;
+               reset-deassert-us = <70000>;
        };
 };
-
-&pcie0 {
-       perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
-
-       pinctrl-names = "default";
-       pinctrl-0 = <&pcie0_default_state>;
-
-       status = "okay";
-};
-
-&pcie1 {
-       perst-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
-
-       pinctrl-names = "default";
-       pinctrl-0 = <&pcie1_default_state>;
-
-       status = "okay";
-};
-
-&pcie0_phy {
-       vdda-phy-supply = <&vreg_l5a>;
-       vdda-pll-supply = <&vreg_l1c>;
-
-       status = "okay";
-};
-
-&pcie1_phy {
-       vdda-phy-supply = <&vreg_l5a>;
-       vdda-pll-supply = <&vreg_l1c>;
-
-       status = "okay";
-};
-
-&uart10 {
-       compatible = "qcom,geni-debug-uart";
-       pinctrl-0 = <&qup_uart10_default>;
-       pinctrl-names = "default";
-       status = "okay";
-};
-
-&uart12 {
-       pinctrl-0 = <&qup_uart12_default>;
-       pinctrl-names = "default";
-       status = "okay";
-};
-
-&uart17 {
-       pinctrl-0 = <&qup_uart17_default>;
-       pinctrl-names = "default";
-       status = "okay";
-};
-
-&ufs_mem_hc {
-       reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
-       vcc-supply = <&vreg_l8a>;
-       vcc-max-microamp = <1100000>;
-       vccq-supply = <&vreg_l4c>;
-       vccq-max-microamp = <1200000>;
-
-       status = "okay";
-};
-
-&ufs_mem_phy {
-       vdda-phy-supply = <&vreg_l4a>;
-       vdda-pll-supply = <&vreg_l1c>;
-
-       status = "okay";
-};
-
-&usb_0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb0_en_state>;
-
-       status = "okay";
-};
-
-&usb_0_dwc3 {
-       dr_mode = "peripheral";
-};
-
-&usb_0_hsphy {
-       vdda-pll-supply = <&vreg_l7a>;
-       vdda18-supply = <&vreg_l6c>;
-       vdda33-supply = <&vreg_l9a>;
-
-       status = "okay";
-};
-
-&usb_0_qmpphy {
-       vdda-phy-supply = <&vreg_l1c>;
-       vdda-pll-supply = <&vreg_l7a>;
-
-       status = "okay";
-};
-
-&usb_1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb1_en_state>;
-
-       status = "okay";
-};
-
-&usb_1_dwc3 {
-       dr_mode = "host";
-};
-
-&usb_1_hsphy {
-       vdda-pll-supply = <&vreg_l7a>;
-       vdda18-supply = <&vreg_l6c>;
-       vdda33-supply = <&vreg_l9a>;
-
-       status = "okay";
-};
-
-&usb_1_qmpphy {
-       vdda-phy-supply = <&vreg_l1c>;
-       vdda-pll-supply = <&vreg_l7a>;
-
-       status = "okay";
-};
-
-&usb_2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb2_en_state>;
-
-       status = "okay";
-};
-
-&usb_2_dwc3 {
-       dr_mode = "host";
-};
-
-&usb_2_hsphy {
-       vdda-pll-supply = <&vreg_l7a>;
-       vdda18-supply = <&vreg_l6c>;
-       vdda33-supply = <&vreg_l9a>;
-
-       status = "okay";
-};
-
-&xo_board_clk {
-       clock-frequency = <38400000>;
-};
diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
new file mode 100644 (file)
index 0000000..2a61706
--- /dev/null
@@ -0,0 +1,814 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023, Linaro Limited
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "sa8775p.dtsi"
+#include "sa8775p-pmics.dtsi"
+
+/ {
+       aliases {
+               ethernet0 = &ethernet0;
+               ethernet1 = &ethernet1;
+               i2c11 = &i2c11;
+               i2c18 = &i2c18;
+               serial0 = &uart10;
+               serial1 = &uart12;
+               serial2 = &uart17;
+               spi16 = &spi16;
+               ufshc1 = &ufs_mem_hc;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&apps_rsc {
+       regulators-0 {
+               compatible = "qcom,pmm8654au-rpmh-regulators";
+               qcom,pmic-id = "a";
+
+               vreg_s4a: smps4 {
+                       regulator-name = "vreg_s4a";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1816000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s5a: smps5 {
+                       regulator-name = "vreg_s5a";
+                       regulator-min-microvolt = <1850000>;
+                       regulator-max-microvolt = <1996000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s9a: smps9 {
+                       regulator-name = "vreg_s9a";
+                       regulator-min-microvolt = <535000>;
+                       regulator-max-microvolt = <1120000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4a: ldo4 {
+                       regulator-name = "vreg_l4a";
+                       regulator-min-microvolt = <788000>;
+                       regulator-max-microvolt = <1050000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l5a: ldo5 {
+                       regulator-name = "vreg_l5a";
+                       regulator-min-microvolt = <870000>;
+                       regulator-max-microvolt = <950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6a: ldo6 {
+                       regulator-name = "vreg_l6a";
+                       regulator-min-microvolt = <870000>;
+                       regulator-max-microvolt = <970000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7a: ldo7 {
+                       regulator-name = "vreg_l7a";
+                       regulator-min-microvolt = <720000>;
+                       regulator-max-microvolt = <950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l8a: ldo8 {
+                       regulator-name = "vreg_l8a";
+                       regulator-min-microvolt = <2504000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l9a: ldo9 {
+                       regulator-name = "vreg_l9a";
+                       regulator-min-microvolt = <2970000>;
+                       regulator-max-microvolt = <3544000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-1 {
+               compatible = "qcom,pmm8654au-rpmh-regulators";
+               qcom,pmic-id = "c";
+
+               vreg_l1c: ldo1 {
+                       regulator-name = "vreg_l1c";
+                       regulator-min-microvolt = <1140000>;
+                       regulator-max-microvolt = <1260000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2c: ldo2 {
+                       regulator-name = "vreg_l2c";
+                       regulator-min-microvolt = <900000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3c: ldo3 {
+                       regulator-name = "vreg_l3c";
+                       regulator-min-microvolt = <1100000>;
+                       regulator-max-microvolt = <1300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4c: ldo4 {
+                       regulator-name = "vreg_l4c";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       /*
+                        * FIXME: This should have regulator-allow-set-load but
+                        * we're getting an over-current fault from the PMIC
+                        * when switching to LPM.
+                        */
+               };
+
+               vreg_l5c: ldo5 {
+                       regulator-name = "vreg_l5c";
+                       regulator-min-microvolt = <1100000>;
+                       regulator-max-microvolt = <1300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6c: ldo6 {
+                       regulator-name = "vreg_l6c";
+                       regulator-min-microvolt = <1620000>;
+                       regulator-max-microvolt = <1980000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7c: ldo7 {
+                       regulator-name = "vreg_l7c";
+                       regulator-min-microvolt = <1620000>;
+                       regulator-max-microvolt = <2000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l8c: ldo8 {
+                       regulator-name = "vreg_l8c";
+                       regulator-min-microvolt = <2400000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l9c: ldo9 {
+                       regulator-name = "vreg_l9c";
+                       regulator-min-microvolt = <1650000>;
+                       regulator-max-microvolt = <2700000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-2 {
+               compatible = "qcom,pmm8654au-rpmh-regulators";
+               qcom,pmic-id = "e";
+
+               vreg_s4e: smps4 {
+                       regulator-name = "vreg_s4e";
+                       regulator-min-microvolt = <970000>;
+                       regulator-max-microvolt = <1520000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s7e: smps7 {
+                       regulator-name = "vreg_s7e";
+                       regulator-min-microvolt = <1010000>;
+                       regulator-max-microvolt = <1170000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s9e: smps9 {
+                       regulator-name = "vreg_s9e";
+                       regulator-min-microvolt = <300000>;
+                       regulator-max-microvolt = <570000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6e: ldo6 {
+                       regulator-name = "vreg_l6e";
+                       regulator-min-microvolt = <1280000>;
+                       regulator-max-microvolt = <1450000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l8e: ldo8 {
+                       regulator-name = "vreg_l8e";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+};
+
+&ethernet0 {
+       phy-handle = <&sgmii_phy0>;
+
+       pinctrl-0 = <&ethernet0_default>;
+       pinctrl-names = "default";
+
+       snps,mtl-rx-config = <&mtl_rx_setup>;
+       snps,mtl-tx-config = <&mtl_tx_setup>;
+       snps,ps-speed = <1000>;
+
+       status = "okay";
+
+       mdio: mdio {
+               compatible = "snps,dwmac-mdio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+       };
+
+       mtl_rx_setup: rx-queues-config {
+               snps,rx-queues-to-use = <4>;
+               snps,rx-sched-sp;
+
+               queue0 {
+                       snps,dcb-algorithm;
+                       snps,map-to-dma-channel = <0x0>;
+                       snps,route-up;
+                       snps,priority = <0x1>;
+               };
+
+               queue1 {
+                       snps,dcb-algorithm;
+                       snps,map-to-dma-channel = <0x1>;
+                       snps,route-ptp;
+               };
+
+               queue2 {
+                       snps,avb-algorithm;
+                       snps,map-to-dma-channel = <0x2>;
+                       snps,route-avcp;
+               };
+
+               queue3 {
+                       snps,avb-algorithm;
+                       snps,map-to-dma-channel = <0x3>;
+                       snps,priority = <0xc>;
+               };
+       };
+
+       mtl_tx_setup: tx-queues-config {
+               snps,tx-queues-to-use = <4>;
+               snps,tx-sched-sp;
+
+               queue0 {
+                       snps,dcb-algorithm;
+               };
+
+               queue1 {
+                       snps,dcb-algorithm;
+               };
+
+               queue2 {
+                       snps,avb-algorithm;
+                       snps,send_slope = <0x1000>;
+                       snps,idle_slope = <0x1000>;
+                       snps,high_credit = <0x3e800>;
+                       snps,low_credit = <0xffc18000>;
+               };
+
+               queue3 {
+                       snps,avb-algorithm;
+                       snps,send_slope = <0x1000>;
+                       snps,idle_slope = <0x1000>;
+                       snps,high_credit = <0x3e800>;
+                       snps,low_credit = <0xffc18000>;
+               };
+       };
+};
+
+&ethernet1 {
+       phy-handle = <&sgmii_phy1>;
+
+       snps,mtl-rx-config = <&mtl_rx_setup1>;
+       snps,mtl-tx-config = <&mtl_tx_setup1>;
+       snps,ps-speed = <1000>;
+
+       status = "okay";
+
+       mtl_rx_setup1: rx-queues-config {
+               snps,rx-queues-to-use = <4>;
+               snps,rx-sched-sp;
+
+               queue0 {
+                       snps,dcb-algorithm;
+                       snps,map-to-dma-channel = <0x0>;
+                       snps,route-up;
+                       snps,priority = <0x1>;
+               };
+
+               queue1 {
+                       snps,dcb-algorithm;
+                       snps,map-to-dma-channel = <0x1>;
+                       snps,route-ptp;
+               };
+
+               queue2 {
+                       snps,avb-algorithm;
+                       snps,map-to-dma-channel = <0x2>;
+                       snps,route-avcp;
+               };
+
+               queue3 {
+                       snps,avb-algorithm;
+                       snps,map-to-dma-channel = <0x3>;
+                       snps,priority = <0xc>;
+               };
+       };
+
+       mtl_tx_setup1: tx-queues-config {
+               snps,tx-queues-to-use = <4>;
+               snps,tx-sched-sp;
+
+               queue0 {
+                       snps,dcb-algorithm;
+               };
+
+               queue1 {
+                       snps,dcb-algorithm;
+               };
+
+               queue2 {
+                       snps,avb-algorithm;
+                       snps,send_slope = <0x1000>;
+                       snps,idle_slope = <0x1000>;
+                       snps,high_credit = <0x3e800>;
+                       snps,low_credit = <0xffc18000>;
+               };
+
+               queue3 {
+                       snps,avb-algorithm;
+                       snps,send_slope = <0x1000>;
+                       snps,idle_slope = <0x1000>;
+                       snps,high_credit = <0x3e800>;
+                       snps,low_credit = <0xffc18000>;
+               };
+       };
+};
+
+&i2c11 {
+       clock-frequency = <400000>;
+       pinctrl-0 = <&qup_i2c11_default>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&i2c18 {
+       clock-frequency = <400000>;
+       pinctrl-0 = <&qup_i2c18_default>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&pmm8654au_0_gpios {
+       gpio-line-names = "DS_EN",
+                         "POFF_COMPLETE",
+                         "UFS0_VER_ID",
+                         "FAST_POFF",
+                         "DBU1_PON_DONE",
+                         "AOSS_SLEEP",
+                         "CAM_DES0_EN",
+                         "CAM_DES1_EN",
+                         "CAM_DES2_EN",
+                         "CAM_DES3_EN",
+                         "UEFI",
+                         "ANALOG_PON_OPT";
+};
+
+&pmm8654au_0_pon_resin {
+       linux,code = <KEY_VOLUMEDOWN>;
+       status = "okay";
+};
+
+&pmm8654au_1_gpios {
+       gpio-line-names = "PMIC_C_ID0",
+                         "PMIC_C_ID1",
+                         "UFS1_VER_ID",
+                         "IPA_PWR",
+                         "",
+                         "WLAN_DBU4_EN",
+                         "WLAN_EN",
+                         "BT_EN",
+                         "USB2_PWR_EN",
+                         "USB2_FAULT";
+
+       usb2_en_state: usb2-en-state {
+               pins = "gpio9";
+               function = "normal";
+               output-high;
+               power-source = <0>;
+       };
+};
+
+&pmm8654au_2_gpios {
+       gpio-line-names = "PMIC_E_ID0",
+                         "PMIC_E_ID1",
+                         "USB0_PWR_EN",
+                         "USB0_FAULT",
+                         "SENSOR_IRQ_1",
+                         "SENSOR_IRQ_2",
+                         "SENSOR_RST",
+                         "SGMIIO0_RST",
+                         "SGMIIO1_RST",
+                         "USB1_PWR_ENABLE",
+                         "USB1_FAULT",
+                         "VMON_SPX8";
+
+       usb0_en_state: usb0-en-state {
+               pins = "gpio3";
+               function = "normal";
+               output-high;
+               power-source = <0>;
+       };
+
+       usb1_en_state: usb1-en-state {
+               pins = "gpio10";
+               function = "normal";
+               output-high;
+               power-source = <0>;
+       };
+};
+
+&pmm8654au_3_gpios {
+       gpio-line-names = "PMIC_G_ID0",
+                         "PMIC_G_ID1",
+                         "GNSS_RST",
+                         "GNSS_EN",
+                         "GNSS_BOOT_MODE";
+};
+
+&qupv3_id_1 {
+       status = "okay";
+};
+
+&qupv3_id_2 {
+       status = "okay";
+};
+
+&serdes0 {
+       phy-supply = <&vreg_l5a>;
+       status = "okay";
+};
+
+&serdes1 {
+       phy-supply = <&vreg_l5a>;
+       status = "okay";
+};
+
+&sleep_clk {
+       clock-frequency = <32764>;
+};
+
+&spi16 {
+       pinctrl-0 = <&qup_spi16_default>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&tlmm {
+       ethernet0_default: ethernet0-default-state {
+               ethernet0_mdc: ethernet0-mdc-pins {
+                       pins = "gpio8";
+                       function = "emac0_mdc";
+                       drive-strength = <16>;
+                       bias-pull-up;
+               };
+
+               ethernet0_mdio: ethernet0-mdio-pins {
+                       pins = "gpio9";
+                       function = "emac0_mdio";
+                       drive-strength = <16>;
+                       bias-pull-up;
+               };
+       };
+
+       qup_uart10_default: qup-uart10-state {
+               pins = "gpio46", "gpio47";
+               function = "qup1_se3";
+       };
+
+       qup_spi16_default: qup-spi16-state {
+               pins = "gpio86", "gpio87", "gpio88", "gpio89";
+               function = "qup2_se2";
+               drive-strength = <6>;
+               bias-disable;
+       };
+
+       qup_i2c11_default: qup-i2c11-state {
+               pins = "gpio48", "gpio49";
+               function = "qup1_se4";
+               drive-strength = <2>;
+               bias-pull-up;
+       };
+
+       qup_i2c18_default: qup-i2c18-state {
+               pins = "gpio95", "gpio96";
+               function = "qup2_se4";
+               drive-strength = <2>;
+               bias-pull-up;
+       };
+
+       qup_uart12_default: qup-uart12-state {
+               qup_uart12_cts: qup-uart12-cts-pins {
+                       pins = "gpio52";
+                       function = "qup1_se5";
+                       bias-disable;
+               };
+
+               qup_uart12_rts: qup-uart12-rts-pins {
+                       pins = "gpio53";
+                       function = "qup1_se5";
+                       bias-pull-down;
+               };
+
+               qup_uart12_tx: qup-uart12-tx-pins {
+                       pins = "gpio54";
+                       function = "qup1_se5";
+                       bias-pull-up;
+               };
+
+               qup_uart12_rx: qup-uart12-rx-pins {
+                       pins = "gpio55";
+                       function = "qup1_se5";
+                       bias-pull-down;
+               };
+       };
+
+       qup_uart17_default: qup-uart17-state {
+               qup_uart17_cts: qup-uart17-cts-pins {
+                       pins = "gpio91";
+                       function = "qup2_se3";
+                       bias-disable;
+               };
+
+               qup_uart17_rts: qup0-uart17-rts-pins {
+                       pins = "gpio92";
+                       function = "qup2_se3";
+                       bias-pull-down;
+               };
+
+               qup_uart17_tx: qup0-uart17-tx-pins {
+                       pins = "gpio93";
+                       function = "qup2_se3";
+                       bias-pull-up;
+               };
+
+               qup_uart17_rx: qup0-uart17-rx-pins {
+                       pins = "gpio94";
+                       function = "qup2_se3";
+                       bias-pull-down;
+               };
+       };
+
+       pcie0_default_state: pcie0-default-state {
+               perst-pins {
+                       pins = "gpio2";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               clkreq-pins {
+                       pins = "gpio1";
+                       function = "pcie0_clkreq";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               wake-pins {
+                       pins = "gpio0";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie1_default_state: pcie1-default-state {
+               perst-pins {
+                       pins = "gpio4";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               clkreq-pins {
+                       pins = "gpio3";
+                       function = "pcie1_clkreq";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               wake-pins {
+                       pins = "gpio5";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+};
+
+&pcie0 {
+       perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&pcie0_default_state>;
+
+       status = "okay";
+};
+
+&pcie1 {
+       perst-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&pcie1_default_state>;
+
+       status = "okay";
+};
+
+&pcie0_phy {
+       vdda-phy-supply = <&vreg_l5a>;
+       vdda-pll-supply = <&vreg_l1c>;
+
+       status = "okay";
+};
+
+&pcie1_phy {
+       vdda-phy-supply = <&vreg_l5a>;
+       vdda-pll-supply = <&vreg_l1c>;
+
+       status = "okay";
+};
+
+&uart10 {
+       compatible = "qcom,geni-debug-uart";
+       pinctrl-0 = <&qup_uart10_default>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&uart12 {
+       pinctrl-0 = <&qup_uart12_default>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&uart17 {
+       pinctrl-0 = <&qup_uart17_default>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&ufs_mem_hc {
+       reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+       vcc-supply = <&vreg_l8a>;
+       vcc-max-microamp = <1100000>;
+       vccq-supply = <&vreg_l4c>;
+       vccq-max-microamp = <1200000>;
+
+       status = "okay";
+};
+
+&ufs_mem_phy {
+       vdda-phy-supply = <&vreg_l4a>;
+       vdda-pll-supply = <&vreg_l1c>;
+
+       status = "okay";
+};
+
+&usb_0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb0_en_state>;
+
+       status = "okay";
+};
+
+&usb_0_dwc3 {
+       dr_mode = "peripheral";
+};
+
+&usb_0_hsphy {
+       vdda-pll-supply = <&vreg_l7a>;
+       vdda18-supply = <&vreg_l6c>;
+       vdda33-supply = <&vreg_l9a>;
+
+       status = "okay";
+};
+
+&usb_0_qmpphy {
+       vdda-phy-supply = <&vreg_l1c>;
+       vdda-pll-supply = <&vreg_l7a>;
+
+       status = "okay";
+};
+
+&usb_1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb1_en_state>;
+
+       status = "okay";
+};
+
+&usb_1_dwc3 {
+       dr_mode = "host";
+};
+
+&usb_1_hsphy {
+       vdda-pll-supply = <&vreg_l7a>;
+       vdda18-supply = <&vreg_l6c>;
+       vdda33-supply = <&vreg_l9a>;
+
+       status = "okay";
+};
+
+&usb_1_qmpphy {
+       vdda-phy-supply = <&vreg_l1c>;
+       vdda-pll-supply = <&vreg_l7a>;
+
+       status = "okay";
+};
+
+&usb_2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb2_en_state>;
+
+       status = "okay";
+};
+
+&usb_2_dwc3 {
+       dr_mode = "host";
+};
+
+&usb_2_hsphy {
+       vdda-pll-supply = <&vreg_l7a>;
+       vdda18-supply = <&vreg_l6c>;
+       vdda33-supply = <&vreg_l9a>;
+
+       status = "okay";
+};
+
+&xo_board_clk {
+       clock-frequency = <38400000>;
+};