mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-12 16:54:42 +08:00
arm64: dts: qcom: add SA8540P ride(Qdrive-3)
Introduce the Qualcomm SA8540P ride automotive platform, also known as Qdrive-3 development board. This initial contribution supports SMP, CPUFreq, cluster idle, UFS, RPMh regulators, debug UART, PMICs, remoteprocs and USB. The SA8540P ride contains four PM8450 PMICs. A separate DTSI file has been created for PMIC, so that it can be used for future SA8540P based boards. Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com> Tested-by: Brian Masney <bmasney@redhat.com> Reviewed-by: Brian Masney <bmasney@redhat.com> Tested-by: Eric Chanudet <echanude@redhat.com> Reviewed-by: Eric Chanudet <echanude@redhat.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Andrew Halaney <ahalaney@redhat.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20221118025158.16902-3-quic_ppareek@quicinc.com
This commit is contained in:
parent
15245c93d3
commit
6be310347c
@ -60,6 +60,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5-vision-mezzanine.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sa8155p-adp.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sa8295p-adp.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sa8540p-ride.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sc7180-idp.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1-lte.dtb
|
||||
|
77
arch/arm64/boot/dts/qcom/pm8450a.dtsi
Normal file
77
arch/arm64/boot/dts/qcom/pm8450a.dtsi
Normal file
@ -0,0 +1,77 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022, Linaro Limited
|
||||
*/
|
||||
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
};
|
217
arch/arm64/boot/dts/qcom/sa8540p-ride.dts
Normal file
217
arch/arm64/boot/dts/qcom/sa8540p-ride.dts
Normal file
@ -0,0 +1,217 @@
|
||||
// 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 "sa8540p.dtsi"
|
||||
#include "pm8450a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm SA8540P Ride";
|
||||
compatible = "qcom,sa8540p-ride", "qcom,sa8540p";
|
||||
|
||||
aliases {
|
||||
serial0 = &qup2_uart17;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
regulators-0 {
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
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_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-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||||
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_l17c: ldo17 {
|
||||
regulator-name = "vreg_l17c";
|
||||
regulator-min-microvolt = <2504000>;
|
||||
regulator-max-microvolt = <2504000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-2 {
|
||||
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_nsp0 {
|
||||
firmware-name = "qcom/sa8540p/cdsp.mbn";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_nsp1 {
|
||||
firmware-name = "qcom/sa8540p/cdsp1.mbn";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ufs_mem_hc {
|
||||
reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
|
||||
|
||||
vcc-supply = <&vreg_l17c>;
|
||||
vccq-supply = <&vreg_l6c>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ufs_mem_phy {
|
||||
vdda-phy-supply = <&vreg_l8g>;
|
||||
vdda-pll-supply = <&vreg_l3g>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0_dwc3 {
|
||||
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_2_hsphy0 {
|
||||
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";
|
||||
};
|
||||
|
||||
&xo_board_clk {
|
||||
clock-frequency = <38400000>;
|
||||
};
|
Loading…
Reference in New Issue
Block a user