There are many ADP boards with lot of common features. Move common nodes, like remoteproc, regulators etc. to sa8540p-adp.dtsi file. This will be base for many ADP boards to be introduced in near future. Common nodes are like clocks, remoteproc, regulators etc. The differences between the sa8295 ADP board, and sa8540p ADP board (Qdrive-3), with respect to device/connector-interface, are as following: PCIE: pcie nodes are not supported as of now, and will be supported in subsequent patches. UFS: Devices ufs_mem_hc and ufs_card_hc, both are mounted on ADP air board. Whereas, only ufs_mem_hc is only mounted on Qdrive-3. USB: Devices usb0 and usb2 are present on Qdrive-3 board. Whereas on sa8295 ADP board, usb0, usb1, and usb2 are present. On Qdrive-3, usb2 has only one port supported(of the external embedded hub). Whereas on sa8295, all four ports of usb2 are supported. There are different connectors for ethernet and camera, but connected to same interface towards soc. So, there is no need of any difference regarding device tree. Artificial intelligence chip SA9000P is present only on Qdrive-3 board as PCIE endpoint. Signed-off-by: Parikshit Pareek <quic_ppareek@xxxxxxxxxxx> --- arch/arm64/boot/dts/qcom/sa8295p-adp.dts | 528 +++++------------- .../{sa8295p-adp.dts => sa8540p-adp.dtsi} | 133 ----- 2 files changed, 146 insertions(+), 515 deletions(-) rewrite arch/arm64/boot/dts/qcom/sa8295p-adp.dts (70%) copy arch/arm64/boot/dts/qcom/{sa8295p-adp.dts => sa8540p-adp.dtsi} (72%) diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts dissimilarity index 70% index b608b82dff03..bf26fe5085bf 100644 --- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts +++ b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts @@ -1,382 +1,146 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (c) 2021, The Linux Foundation. All rights reserved. - * Copyright (c) 2022, Linaro Limited - */ - -/dts-v1/; - -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/regulator/qcom,rpmh-regulator.h> -#include <dt-bindings/spmi/spmi.h> - -#include "sa8540p.dtsi" - -/ { - model = "Qualcomm SA8295P ADP"; - compatible = "qcom,sa8295p-adp", "qcom,sa8540p"; - - aliases { - serial0 = &qup2_uart17; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; -}; - -&apps_rsc { - pmm8540-a-regulators { - compatible = "qcom,pm8150-rpmh-regulators"; - qcom,pmic-id = "a"; - - vreg_l3a: ldo3 { - regulator-name = "vreg_l3a"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1208000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l5a: ldo5 { - regulator-name = "vreg_l5a"; - regulator-min-microvolt = <912000>; - regulator-max-microvolt = <912000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l7a: ldo7 { - regulator-name = "vreg_l7a"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l13a: ldo13 { - regulator-name = "vreg_l13a"; - regulator-min-microvolt = <3072000>; - regulator-max-microvolt = <3072000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - }; - - pmm8540-c-regulators { - compatible = "qcom,pm8150-rpmh-regulators"; - qcom,pmic-id = "c"; - - vreg_l1c: ldo1 { - regulator-name = "vreg_l1c"; - regulator-min-microvolt = <912000>; - regulator-max-microvolt = <912000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l2c: ldo2 { - regulator-name = "vreg_l2c"; - regulator-min-microvolt = <3072000>; - regulator-max-microvolt = <3072000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l3c: ldo3 { - regulator-name = "vreg_l3c"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - regulator-allow-set-load; - }; - - vreg_l4c: ldo4 { - regulator-name = "vreg_l4c"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1208000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l6c: ldo6 { - regulator-name = "vreg_l6c"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - regulator-allow-set-load; - }; - - vreg_l7c: ldo7 { - regulator-name = "vreg_l7c"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l10c: ldo10 { - regulator-name = "vreg_l10c"; - regulator-min-microvolt = <2504000>; - regulator-max-microvolt = <2504000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - regulator-allow-set-load; - }; - - vreg_l17c: ldo17 { - regulator-name = "vreg_l17c"; - regulator-min-microvolt = <2504000>; - regulator-max-microvolt = <2504000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - regulator-allow-set-load; - }; - }; - - pmm8540-g-regulators { - compatible = "qcom,pm8150-rpmh-regulators"; - qcom,pmic-id = "g"; - - vreg_l3g: ldo3 { - regulator-name = "vreg_l3g"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l7g: ldo7 { - regulator-name = "vreg_l7g"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - - vreg_l8g: ldo8 { - regulator-name = "vreg_l8g"; - regulator-min-microvolt = <880000>; - regulator-max-microvolt = <880000>; - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; - }; - }; -}; - -&qup2 { - status = "okay"; -}; - -&qup2_uart17 { - compatible = "qcom,geni-debug-uart"; - status = "okay"; -}; - -&remoteproc_adsp { - firmware-name = "qcom/sa8540p/adsp.mbn"; - status = "okay"; -}; - -&remoteproc_nsp0 { - firmware-name = "qcom/sa8540p/cdsp.mbn"; - status = "okay"; -}; - -&remoteproc_nsp1 { - firmware-name = "qcom/sa8540p/cdsp1.mbn"; - status = "okay"; -}; - -&spmi_bus { - pm8450a: pmic@0 { - compatible = "qcom,pm8150", "qcom,spmi-pmic"; - reg = <0x0 SPMI_USID>; - #address-cells = <1>; - #size-cells = <0>; - - pm8450a_gpios: gpio@c000 { - compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; - reg = <0xc000>; - gpio-controller; - gpio-ranges = <&pm8450a_gpios 0 0 10>; - #gpio-cells = <2>; - interrupt-controller; - #interrupt-cells = <2>; - }; - }; - - pm8450c: pmic@4 { - compatible = "qcom,pm8150", "qcom,spmi-pmic"; - reg = <0x4 SPMI_USID>; - #address-cells = <1>; - #size-cells = <0>; - - pm8450c_gpios: gpio@c000 { - compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; - reg = <0xc000>; - gpio-controller; - gpio-ranges = <&pm8450c_gpios 0 0 10>; - #gpio-cells = <2>; - interrupt-controller; - #interrupt-cells = <2>; - }; - }; - - pm8450e: pmic@8 { - compatible = "qcom,pm8150", "qcom,spmi-pmic"; - reg = <0x8 SPMI_USID>; - #address-cells = <1>; - #size-cells = <0>; - - pm8450e_gpios: gpio@c000 { - compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; - reg = <0xc000>; - gpio-controller; - gpio-ranges = <&pm8450e_gpios 0 0 10>; - #gpio-cells = <2>; - interrupt-controller; - #interrupt-cells = <2>; - }; - }; - - pm8450g: pmic@c { - compatible = "qcom,pm8150", "qcom,spmi-pmic"; - reg = <0xc SPMI_USID>; - #address-cells = <1>; - #size-cells = <0>; - - pm8450g_gpios: gpio@c000 { - compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; - reg = <0xc000>; - gpio-controller; - gpio-ranges = <&pm8450g_gpios 0 0 10>; - #gpio-cells = <2>; - interrupt-controller; - #interrupt-cells = <2>; - }; - }; -}; - -&ufs_mem_hc { - reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>; - - vcc-supply = <&vreg_l17c>; - vcc-max-microamp = <800000>; - vccq-supply = <&vreg_l6c>; - vccq-max-microamp = <900000>; - - status = "okay"; -}; - -&ufs_mem_phy { - vdda-phy-supply = <&vreg_l8g>; - vdda-pll-supply = <&vreg_l3g>; - - status = "okay"; -}; - -&ufs_card_hc { - reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>; - - vcc-supply = <&vreg_l10c>; - vcc-max-microamp = <800000>; - vccq-supply = <&vreg_l3c>; - vccq-max-microamp = <900000>; - - status = "okay"; -}; - -&ufs_card_phy { - vdda-phy-supply = <&vreg_l8g>; - vdda-pll-supply = <&vreg_l3g>; - - status = "okay"; -}; - -&usb_0 { - status = "okay"; -}; - -&usb_0_dwc3 { - /* TODO: Define USB-C connector properly */ - dr_mode = "peripheral"; -}; - -&usb_0_hsphy { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7a>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_0_qmpphy { - vdda-phy-supply = <&vreg_l3a>; - vdda-pll-supply = <&vreg_l5a>; - - status = "okay"; -}; - -&usb_1 { - status = "okay"; -}; - -&usb_1_dwc3 { - /* TODO: Define USB-C connector properly */ - dr_mode = "host"; -}; - -&usb_1_hsphy { - vdda-pll-supply = <&vreg_l1c>; - vdda18-supply = <&vreg_l7c>; - vdda33-supply = <&vreg_l2c>; - - status = "okay"; -}; - -&usb_1_qmpphy { - vdda-phy-supply = <&vreg_l4c>; - vdda-pll-supply = <&vreg_l1c>; - - status = "okay"; -}; - -&usb_2_hsphy0 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_hsphy1 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_hsphy2 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_hsphy3 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_qmpphy0 { - vdda-phy-supply = <&vreg_l3a>; - vdda-pll-supply = <&vreg_l5a>; - - status = "okay"; -}; - -&usb_2_qmpphy1 { - vdda-phy-supply = <&vreg_l3a>; - vdda-pll-supply = <&vreg_l5a>; - - status = "okay"; -}; - -&xo_board_clk { - clock-frequency = <38400000>; -}; - -/* PINCTRL */ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2022, Linaro Limited + */ + +/dts-v1/; + +#include "sa8540p-adp.dtsi" + +/ { + model = "Qualcomm SA8295P ADP"; + compatible = "qcom,sa8295p-adp", "qcom,sa8540p"; +}; + +&ufs_mem_hc { + reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l17c>; + vcc-max-microamp = <800000>; + vccq-supply = <&vreg_l6c>; + vccq-max-microamp = <900000>; + + status = "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply = <&vreg_l8g>; + vdda-pll-supply = <&vreg_l3g>; + + status = "okay"; +}; + +&ufs_card_hc { + reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l10c>; + vcc-max-microamp = <800000>; + vccq-supply = <&vreg_l3c>; + vccq-max-microamp = <900000>; + + status = "okay"; +}; + +&ufs_card_phy { + vdda-phy-supply = <&vreg_l8g>; + vdda-pll-supply = <&vreg_l3g>; + + status = "okay"; +}; + +&usb_0 { + status = "okay"; +}; + +&usb_0_dwc3 { + /* TODO: Define USB-C connector properly */ + dr_mode = "peripheral"; +}; + +&usb_0_hsphy { + vdda-pll-supply = <&vreg_l5a>; + vdda18-supply = <&vreg_l7a>; + vdda33-supply = <&vreg_l13a>; + + status = "okay"; +}; + +&usb_0_qmpphy { + vdda-phy-supply = <&vreg_l3a>; + vdda-pll-supply = <&vreg_l5a>; + + status = "okay"; +}; + +&usb_1 { + status = "okay"; +}; + +&usb_1_dwc3 { + /* TODO: Define USB-C connector properly */ + dr_mode = "host"; +}; + +&usb_1_hsphy { + vdda-pll-supply = <&vreg_l1c>; + vdda18-supply = <&vreg_l7c>; + vdda33-supply = <&vreg_l2c>; + + status = "okay"; +}; + +&usb_1_qmpphy { + vdda-phy-supply = <&vreg_l4c>; + vdda-pll-supply = <&vreg_l1c>; + + status = "okay"; +}; + +&usb_2_hsphy0 { + vdda-pll-supply = <&vreg_l5a>; + vdda18-supply = <&vreg_l7g>; + vdda33-supply = <&vreg_l13a>; + + status = "okay"; +}; + +&usb_2_hsphy1 { + vdda-pll-supply = <&vreg_l5a>; + vdda18-supply = <&vreg_l7g>; + vdda33-supply = <&vreg_l13a>; + + status = "okay"; +}; + +&usb_2_hsphy2 { + vdda-pll-supply = <&vreg_l5a>; + vdda18-supply = <&vreg_l7g>; + vdda33-supply = <&vreg_l13a>; + + status = "okay"; +}; + +&usb_2_hsphy3 { + vdda-pll-supply = <&vreg_l5a>; + vdda18-supply = <&vreg_l7g>; + vdda33-supply = <&vreg_l13a>; + + status = "okay"; +}; + +&usb_2_qmpphy0 { + vdda-phy-supply = <&vreg_l3a>; + vdda-pll-supply = <&vreg_l5a>; + + status = "okay"; +}; + +&usb_2_qmpphy1 { + vdda-phy-supply = <&vreg_l3a>; + vdda-pll-supply = <&vreg_l5a>; + + status = "okay"; +}; + +/* PINCTRL */ diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8540p-adp.dtsi similarity index 72% copy from arch/arm64/boot/dts/qcom/sa8295p-adp.dts copy to arch/arm64/boot/dts/qcom/sa8540p-adp.dtsi index b608b82dff03..4c36bca2d72d 100644 --- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts +++ b/arch/arm64/boot/dts/qcom/sa8540p-adp.dtsi @@ -13,9 +13,6 @@ #include "sa8540p.dtsi" / { - model = "Qualcomm SA8295P ADP"; - compatible = "qcom,sa8295p-adp", "qcom,sa8540p"; - aliases { serial0 = &qup2_uart17; }; @@ -245,136 +242,6 @@ }; }; -&ufs_mem_hc { - reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>; - - vcc-supply = <&vreg_l17c>; - vcc-max-microamp = <800000>; - vccq-supply = <&vreg_l6c>; - vccq-max-microamp = <900000>; - - status = "okay"; -}; - -&ufs_mem_phy { - vdda-phy-supply = <&vreg_l8g>; - vdda-pll-supply = <&vreg_l3g>; - - status = "okay"; -}; - -&ufs_card_hc { - reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>; - - vcc-supply = <&vreg_l10c>; - vcc-max-microamp = <800000>; - vccq-supply = <&vreg_l3c>; - vccq-max-microamp = <900000>; - - status = "okay"; -}; - -&ufs_card_phy { - vdda-phy-supply = <&vreg_l8g>; - vdda-pll-supply = <&vreg_l3g>; - - status = "okay"; -}; - -&usb_0 { - status = "okay"; -}; - -&usb_0_dwc3 { - /* TODO: Define USB-C connector properly */ - dr_mode = "peripheral"; -}; - -&usb_0_hsphy { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7a>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_0_qmpphy { - vdda-phy-supply = <&vreg_l3a>; - vdda-pll-supply = <&vreg_l5a>; - - status = "okay"; -}; - -&usb_1 { - status = "okay"; -}; - -&usb_1_dwc3 { - /* TODO: Define USB-C connector properly */ - dr_mode = "host"; -}; - -&usb_1_hsphy { - vdda-pll-supply = <&vreg_l1c>; - vdda18-supply = <&vreg_l7c>; - vdda33-supply = <&vreg_l2c>; - - status = "okay"; -}; - -&usb_1_qmpphy { - vdda-phy-supply = <&vreg_l4c>; - vdda-pll-supply = <&vreg_l1c>; - - status = "okay"; -}; - -&usb_2_hsphy0 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_hsphy1 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_hsphy2 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_hsphy3 { - vdda-pll-supply = <&vreg_l5a>; - vdda18-supply = <&vreg_l7g>; - vdda33-supply = <&vreg_l13a>; - - status = "okay"; -}; - -&usb_2_qmpphy0 { - vdda-phy-supply = <&vreg_l3a>; - vdda-pll-supply = <&vreg_l5a>; - - status = "okay"; -}; - -&usb_2_qmpphy1 { - vdda-phy-supply = <&vreg_l3a>; - vdda-pll-supply = <&vreg_l5a>; - - status = "okay"; -}; - &xo_board_clk { clock-frequency = <38400000>; }; -- 2.17.1