More Qualcomm ARM32 DeviceTree updates for v6.5

On MSM8960, support for USB is added and the Samsung Galaxy Express is
 added.
 
 GPIO keys and on-board LEDs are described for the APQ8074 Dragonboard.
 
 On MSM8226, QFPROM, tsens and thermal zones are defined, and the
 description of the clock hierarchy is improved.
 
 The PCIe endpoint controller on SDX55 gains a interconnect path to DDR
 defined.
 
 Sony Xperia X2 Tablet and Samsung Galaxy Tab 4 are updated following
 changes in the LP855X DeviceTree binding.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmSLPokVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FBn0P/RnvmT74Rd4B0nfVmKAHm++z1QL1
 s3vSxKanuwHM/fPUfNsKimBbhzTtu2YTB/m4Sp+HPGkjMnczQBbshf18tBPC3nJ1
 h4UjwugpoE3JWnIDfeowSsyMGb1VoZr038TBe2FFwNcHrAb5zPC7K4gnsfJa4ZzE
 LTXMGwlZp8aNUQ7rG8WdLDU28E159UhLMeQJNw/nHZJTCisoJwznPO/b9VOkTDMe
 JjvfxqX5uEU7plBD2MCln/3qQLF78cj/eqc7szqaUGSJ7DSTlMh3de5zBGwHrKVH
 6WOAcQGu1z6TOnlXv7BGxTX+0o3dXJd7CBiLg6couc7nh5fvzSC76JtnvICSUfid
 89Jd9XUYyvPE+bk8BVoROgLfJk0llsDUw0bXv1I9cgZ4pX8J8+plyezghv56+IK+
 1GV8nR8in+zB9EFjB1rM/3TneHTNSVp1w6ytooMUczGpnDdkESq+q1srFZlE7Xba
 PmZsoMiWg32UPz1GAnU7WoYEmCG0bMWlrwHp4nK3QY7FBpB+fbpyIx9VFa/qFImf
 vMxOZDUnqXYL0p8Zg5bXRJSLsL+JAzxZyXRZpuK/vfd4EGLdGPEM33Y5gnyV0bgU
 1q3EbF4dffBMhG6FP00mP49I40rKk8tvnFsCIPRZ34skTefFQKBG58eQ9orE9CsQ
 reVLvj6kRARSjWVT
 =UOBe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSEroACgkQYKtH/8kJ
 UidGqQ/+KxM0RFduGczHbURgHjbyUjaSmV4Ps0RPeodiOoi4QQbJJZerdpU9S0Gs
 4GAxO8N6qRIurnT9AS18kE4FebaUO6N+CvCqTgpI1fWrjay40ocDz00sWD705gwC
 wjVrHA/TOoz6YTCP44HxuKdn+qn1un8Vu2VtIqFWp2GDvbiAKckZ6ysFICnVeM0X
 wPYl4PT/x9CHeee0nGr5XGv0tdymv6Nw5SAZrOpuvMGaSb4YNO1qLXm1Pm7IzX/P
 tAbfsgy2Pzqq0KGRonoW3W0yF3jpqaWKa7AUzJIflvunx6lJXAh1jBUypcnDBVs9
 PiKoiUDUc+o0jJnKk2CD4SU8dTcZQwvcofohPo3CSzyklwri9++i4ICzDTPGOL7V
 F34vCyNZP/lS3CubQ37c6zhsueumy+HVAW4tbH7FXWQWpPR536qG8ykB0doLKW7B
 g5Xc1PmG6A1+JcEsPNd80Ot8g5hokCQCLD7+8Y7ZrrxxPccLmdN2/kWGfWdpKxNe
 O+mlscs+sEGlEH+SVzFeqVONRbVnIigKEHlDbNTlOhdChPd3Z/1uS5G7h45LFrE+
 5kIZZYwHioWR43F6SwHDFB5hIR3nZRsA/E1JqZ81T5EV6qRW/Z1VbyfkMkmJ8tF4
 PrplHquj4O7gbA0fXulwV0ukbUDuOoIU1vPcNn7ugkPRkc4PzKc=
 =//4G
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

More Qualcomm ARM32 DeviceTree updates for v6.5

On MSM8960, support for USB is added and the Samsung Galaxy Express is
added.

GPIO keys and on-board LEDs are described for the APQ8074 Dragonboard.

On MSM8226, QFPROM, tsens and thermal zones are defined, and the
description of the clock hierarchy is improved.

The PCIe endpoint controller on SDX55 gains a interconnect path to DDR
defined.

Sony Xperia X2 Tablet and Samsung Galaxy Tab 4 are updated following
changes in the LP855X DeviceTree binding.

* tag 'qcom-dts-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm: dts: qcom: sdx55: Add interconnect path
  ARM: dts: qcom: msm8226: Add thermal zones node
  ARM: dts: qcom: msm8226: Add tsens node and related nvmem cells
  ARM: dts: qcom: msm8226: Add qfprom node
  ARM: dts: qcom: pm8941: Add thermal zone config
  ARM: dts: qcom: pm8841: Add thermal zone config
  ARM: dts: qcom: pm8226: Add thermal sensor and thermal zone config
  ARM: dts: qcom: msm8974: rename labels for DSI nodes
  ARM: dts: qcom: apq8074-dragonboard: add gpio keys
  ARM: dts: qcom: apq8074-dragonboard: add onboard leds
  ARM: dts: qcom: Add Samsung Galaxy Express support
  ARM: dts: qcom: msm8960: Add USB node
  ARM: dts: qcom: adapt to LP855X bindings changes
  ARM: dts: qcom: msm8226: Provide clocks to mmcc node
  ARM: dts: qcom: msm8226: Use XO from rpmcc where possible

Link: https://lore.kernel.org/r/20230615163926.1462225-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-06-20 22:57:29 +02:00
commit d09d747ee5
14 changed files with 776 additions and 61 deletions

View File

@ -1083,6 +1083,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8916-samsung-grandmax.dtb \
qcom-msm8916-samsung-serranove.dtb \
qcom-msm8960-cdp.dtb \
qcom-msm8960-samsung-expressatt.dtb \
qcom-msm8974-lge-nexus5-hammerhead.dtb \
qcom-msm8974-sony-xperia-rhine-amami.dtb \
qcom-msm8974-sony-xperia-rhine-honami.dtb \

View File

@ -99,7 +99,6 @@
dev-ctrl = /bits/ 8 <0x80>;
init-brt = /bits/ 8 <0x3f>;
pwm-period = <100000>;
pwms = <&backlight_pwm 0 100000>;
pwm-names = "lp8556";

View File

@ -1,5 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "qcom-msm8974.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-pm8941.dtsi"
@ -20,6 +23,26 @@
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-0 = <&msm_keys_default>;
pinctrl-names = "default";
button-volup {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
};
button-general {
label = "General";
linux,code = <KEY_PROG1>;
gpios = <&pm8941_gpios 23 GPIO_ACTIVE_LOW>;
};
};
reserved-memory {
mpss_region: mpss@ac00000 {
reg = <0x0ac00000 0x2500000>;
@ -48,7 +71,15 @@
};
};
&dsi0 {
&gpu {
status = "okay";
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
vdda-supply = <&pm8941_l2>;
vdd-supply = <&pm8941_l22>;
vddio-supply = <&pm8941_l12>;
@ -65,18 +96,18 @@
port {
panel_in: endpoint {
remote-endpoint = <&dsi0_out>;
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&dsi0_out {
&mdss_dsi0_out {
remote-endpoint = <&panel_in>;
data-lanes = <0 1 2 3>;
};
&dsi0_phy {
&mdss_dsi0_phy {
status = "okay";
vddio-supply = <&pm8941_l12>;
@ -90,6 +121,41 @@
status = "okay";
};
&pm8941_gpios {
msm_keys_default: pm8941-gpio-keys-state {
pins = "gpio5", "gpio23";
function = "normal";
input-enable;
drive-push-pull;
bias-pull-up;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
power-source = <PM8941_GPIO_S3>; /* 1.8V */
};
};
&pm8941_lpg {
qcom,power-source = <1>;
status = "okay";
led@5 {
reg = <5>;
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_INDICATOR;
};
led@6 {
reg = <6>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_INDICATOR;
};
led@7 {
reg = <7>;
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_INDICATOR;
};
};
&pm8941_wled {
qcom,cs-out;
qcom,switching-freq = <3200>;

View File

@ -182,7 +182,7 @@
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC1_AHB_CLK>,
<&gcc GCC_SDCC1_APPS_CLK>,
<&xo_board>;
<&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
pinctrl-names = "default";
pinctrl-0 = <&sdhc1_default_state>;
@ -198,7 +198,7 @@
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC2_AHB_CLK>,
<&gcc GCC_SDCC2_APPS_CLK>,
<&xo_board>;
<&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
pinctrl-names = "default";
pinctrl-0 = <&sdhc2_default_state>;
@ -214,7 +214,7 @@
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC3_AHB_CLK>,
<&gcc GCC_SDCC3_APPS_CLK>,
<&xo_board>;
<&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
pinctrl-names = "default";
pinctrl-0 = <&sdhc3_default_state>;
@ -368,7 +368,8 @@
compatible = "qcom,usb-hs-phy-msm8226",
"qcom,usb-hs-phy";
#phy-cells = <0>;
clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
<&gcc GCC_USB2A_PHY_SLEEP_CLK>;
clock-names = "ref", "sleep";
resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
reset-names = "phy", "por";
@ -397,6 +398,21 @@
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
<&gcc GCC_MMSS_GPLL0_CLK_SRC>,
<&gcc GPLL0_VOTE>,
<&gcc GPLL1_VOTE>,
<&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
<0>,
<0>;
clock-names = "xo",
"mmss_gpll0_vote",
"gpll0_vote",
"gpll1_vote",
"gfx3d_clk_src",
"dsi0pll",
"dsi0pllbyte";
};
tlmm: pinctrl@fd510000 {
@ -512,11 +528,131 @@
};
};
tsens: thermal-sensor@fc4a9000 {
compatible = "qcom,msm8226-tsens", "qcom,tsens-v0_1";
reg = <0xfc4a9000 0x1000>, /* TM */
<0xfc4a8000 0x1000>; /* SROT */
nvmem-cells = <&tsens_mode>,
<&tsens_base1>, <&tsens_base2>,
<&tsens_s0_p1>, <&tsens_s0_p2>,
<&tsens_s1_p1>, <&tsens_s1_p2>,
<&tsens_s2_p1>, <&tsens_s2_p2>,
<&tsens_s3_p1>, <&tsens_s3_p2>,
<&tsens_s4_p1>, <&tsens_s4_p2>,
<&tsens_s5_p1>, <&tsens_s5_p2>,
<&tsens_s6_p1>, <&tsens_s6_p2>;
nvmem-cell-names = "mode",
"base1", "base2",
"s0_p1", "s0_p2",
"s1_p1", "s1_p2",
"s2_p1", "s2_p2",
"s3_p1", "s3_p2",
"s4_p1", "s4_p2",
"s5_p1", "s5_p2",
"s6_p1", "s6_p2";
#qcom,sensors = <6>;
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "uplow";
#thermal-sensor-cells = <1>;
};
restart@fc4ab000 {
compatible = "qcom,pshold";
reg = <0xfc4ab000 0x4>;
};
qfprom: qfprom@fc4bc000 {
compatible = "qcom,msm8226-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
tsens_base1: base1@1c1 {
reg = <0x1c1 0x2>;
bits = <5 8>;
};
tsens_s0_p1: s0-p1@1c2 {
reg = <0x1c2 0x2>;
bits = <5 6>;
};
tsens_s1_p1: s1-p1@1c4 {
reg = <0x1c4 0x1>;
bits = <0 6>;
};
tsens_s2_p1: s2-p1@1c4 {
reg = <0x1c4 0x2>;
bits = <6 6>;
};
tsens_s3_p1: s3-p1@1c5 {
reg = <0x1c5 0x2>;
bits = <4 6>;
};
tsens_s4_p1: s4-p1@1c6 {
reg = <0x1c6 0x1>;
bits = <2 6>;
};
tsens_s5_p1: s5-p1@1c7 {
reg = <0x1c7 0x1>;
bits = <0 6>;
};
tsens_s6_p1: s6-p1@1ca {
reg = <0x1ca 0x2>;
bits = <4 6>;
};
tsens_base2: base2@1cc {
reg = <0x1cc 0x1>;
bits = <0 8>;
};
tsens_s0_p2: s0-p2@1cd {
reg = <0x1cd 0x1>;
bits = <0 6>;
};
tsens_s1_p2: s1-p2@1cd {
reg = <0x1cd 0x2>;
bits = <6 6>;
};
tsens_s2_p2: s2-p2@1ce {
reg = <0x1ce 0x2>;
bits = <4 6>;
};
tsens_s3_p2: s3-p2@1cf {
reg = <0x1cf 0x1>;
bits = <2 6>;
};
tsens_s4_p2: s4-p2@446 {
reg = <0x446 0x2>;
bits = <4 6>;
};
tsens_s5_p2: s5-p2@447 {
reg = <0x447 0x1>;
bits = <2 6>;
};
tsens_s6_p2: s6-p2@44e {
reg = <0x44e 0x1>;
bits = <1 6>;
};
tsens_mode: mode@44f {
reg = <0x44f 0x1>;
bits = <5 3>;
};
};
spmi_bus: spmi@fc4cf000 {
compatible = "qcom,spmi-pmic-arb";
reg-names = "core", "intr", "cnfg";
@ -628,7 +764,7 @@
power-domains = <&rpmpd MSM8226_VDDCX>;
power-domain-names = "cx";
clocks = <&xo_board>;
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "xo";
memory-region = <&adsp_region>;
@ -663,6 +799,50 @@
};
};
thermal-zones {
cpu0-thermal {
polling-delay-passive = <250>;
polling-delay = <1000>;
thermal-sensors = <&tsens 5>;
trips {
cpu_alert0: trip0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
};
cpu_crit0: trip1 {
temperature = <110000>;
hysteresis = <2000>;
type = "critical";
};
};
};
cpu1-thermal {
polling-delay-passive = <250>;
polling-delay = <1000>;
thermal-sensors = <&tsens 2>;
trips {
cpu_alert1: trip0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
};
cpu_crit1: trip1 {
temperature = <110000>;
hysteresis = <2000>;
type = "critical";
};
};
};
};
timer {
compatible = "arm,armv7-timer";
interrupts = <GIC_PPI 2

View File

@ -0,0 +1,331 @@
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/input/input.h>
#include "qcom-msm8960.dtsi"
#include <dt-bindings/reset/qcom,gcc-msm8960.h>
/ {
model = "Samsung Galaxy Express SGH-I437";
compatible = "samsung,expressatt", "qcom,msm8960";
chassis-type = "handset";
aliases {
serial0 = &gsbi5_serial;
mmc0 = &sdcc1; /* SDCC1 eMMC slot */
mmc1 = &sdcc3; /* SDCC3 SD card slot */
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&gsbi5 {
qcom,mode = <GSBI_PROT_I2C_UART>;
status = "okay";
};
&gsbi5_serial {
status = "okay";
};
&sdcc1 {
vmmc-supply = <&pm8921_l5>;
status = "okay";
};
&sdcc3 {
vmmc-supply = <&pm8921_l6>;
vqmmc-supply = <&pm8921_l7>;
status = "okay";
};
&gsbi1 {
qcom,mode = <GSBI_PROT_SPI>;
pinctrl-0 = <&spi1_default>;
pinctrl-names = "default";
status = "okay";
};
&gsbi1_spi {
status = "okay";
};
&msmgpio {
spi1_default: spi1-default-state {
mosi-pins {
pins = "gpio6";
function = "gsbi1";
drive-strength = <12>;
bias-disable;
};
miso-pins {
pins = "gpio7";
function = "gsbi1";
drive-strength = <12>;
bias-disable;
};
cs-pins {
pins = "gpio8";
function = "gsbi1";
drive-strength = <12>;
bias-disable;
output-low;
};
clk-pins {
pins = "gpio9";
function = "gsbi1";
drive-strength = <12>;
bias-disable;
};
};
};
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
vin_lvs1_3_6-supply = <&pm8921_s4>;
vin_lvs2-supply = <&pm8921_s4>;
vin_lvs4_5_7-supply = <&pm8921_s4>;
vdd_ncp-supply = <&pm8921_l6>;
vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
vdd_l21_l23_l29-supply = <&pm8921_s8>;
vdd_l24-supply = <&pm8921_s1>;
vdd_l25-supply = <&pm8921_s1>;
vdd_l27-supply = <&pm8921_s7>;
vdd_l28-supply = <&pm8921_s7>;
/* Buck SMPS */
pm8921_s1: s1 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
qcom,switch-mode-frequency = <3200000>;
bias-pull-down;
};
pm8921_s2: s2 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8921_s3: s3 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1150000>;
qcom,switch-mode-frequency = <4800000>;
bias-pull-down;
};
pm8921_s4: s4 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
};
pm8921_s7: s7 {
regulator-min-microvolt = <1150000>;
regulator-max-microvolt = <1150000>;
qcom,switch-mode-frequency = <3200000>;
bias-pull-down;
};
pm8921_s8: s8 {
regulator-always-on;
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
/* PMOS LDO */
pm8921_l1: l1 {
regulator-always-on;
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8921_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
pm8921_l3: l3 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
pm8921_l4: l4 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8921_l5: l5 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
pm8921_l6: l6 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
pm8921_l7: l7 {
regulator-always-on;
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
pm8921_l8: l8 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3100000>;
bias-pull-down;
};
pm8921_l9: l9 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
pm8921_l10: l10 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
pm8921_l11: l11 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
pm8921_l12: l12 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
pm8921_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8921_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
pm8921_l16: l16 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
pm8921_l17: l17 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
pm8921_l18: l18 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
bias-pull-down;
};
pm8921_l21: l21 {
regulator-min-microvolt = <1900000>;
regulator-max-microvolt = <1900000>;
bias-pull-down;
};
pm8921_l22: l22 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <2750000>;
bias-pull-down;
};
pm8921_l23: l23 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8921_l24: l24 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1150000>;
bias-pull-down;
};
pm8921_l25: l25 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
bias-pull-down;
};
/* Low Voltage Switch */
pm8921_lvs1: lvs1 {
bias-pull-down;
};
pm8921_lvs2: lvs2 {
bias-pull-down;
};
pm8921_lvs3: lvs3 {
bias-pull-down;
};
pm8921_lvs4: lvs4 {
bias-pull-down;
};
pm8921_lvs5: lvs5 {
bias-pull-down;
};
pm8921_lvs6: lvs6 {
bias-pull-down;
};
pm8921_lvs7: lvs7 {
bias-pull-down;
};
pm8921_ncp: ncp {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
};
};
};
&usb_hs1_phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
&usb1 {
dr_mode = "otg";
status = "okay";
};

View File

@ -3,6 +3,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-msm8960.h>
#include <dt-bindings/reset/qcom,gcc-msm8960.h>
#include <dt-bindings/clock/qcom,lcc-msm8960.h>
#include <dt-bindings/mfd/qcom-rpm.h>
#include <dt-bindings/soc/qcom,gsbi.h>
@ -71,7 +72,7 @@
clock-output-names = "pxo_board";
};
sleep_clk {
sleep_clk: sleep_clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>;
@ -370,5 +371,36 @@
status = "disabled";
};
};
usb1: usb@12500000 {
compatible = "qcom,ci-hdrc";
reg = <0x12500000 0x200>,
<0x12500200 0x200>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
clock-names = "core", "iface";
assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
assigned-clock-rates = <60000000>;
resets = <&gcc USB_HS1_RESET>;
reset-names = "core";
phy_type = "ulpi";
ahb-burst-config = <0>;
phys = <&usb_hs1_phy>;
phy-names = "usb-phy";
#reset-cells = <1>;
status = "disabled";
ulpi {
usb_hs1_phy: phy {
compatible = "qcom,usb-hs-phy-msm8960",
"qcom,usb-hs-phy";
clocks = <&sleep_clk>, <&cxo_board>;
clock-names = "sleep", "ref";
resets = <&usb1 0>;
reset-names = "por";
#phy-cells = <0>;
};
};
};
};
};

View File

@ -230,7 +230,11 @@
};
};
&dsi0 {
&mdss {
status = "okay";
};
&mdss_dsi0 {
status = "okay";
vdda-supply = <&pm8941_l2>;
@ -246,27 +250,23 @@
port {
panel_in: endpoint {
remote-endpoint = <&dsi0_out>;
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&dsi0_out {
&mdss_dsi0_out {
remote-endpoint = <&panel_in>;
data-lanes = <0 1 2 3>;
};
&dsi0_phy {
&mdss_dsi0_phy {
status = "okay";
vddio-supply = <&pm8941_l12>;
};
&mdss {
status = "okay";
};
&pm8941_gpios {
gpio_keys_pin_a: gpio-keys-active-state {
pins = "gpio2", "gpio3";

View File

@ -1836,10 +1836,10 @@
<&gcc GPLL0_VOTE>,
<&gcc GPLL1_VOTE>,
<&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
<&dsi0_phy 1>,
<&dsi0_phy 0>,
<&dsi1_phy 1>,
<&dsi1_phy 0>,
<&mdss_dsi0_phy 1>,
<&mdss_dsi0_phy 0>,
<&mdss_dsi1_phy 1>,
<&mdss_dsi1_phy 0>,
<0>,
<0>,
<0>;
@ -1904,20 +1904,20 @@
port@0 {
reg = <0>;
mdp5_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>;
remote-endpoint = <&mdss_dsi0_in>;
};
};
port@1 {
reg = <1>;
mdp5_intf2_out: endpoint {
remote-endpoint = <&dsi1_in>;
remote-endpoint = <&mdss_dsi1_in>;
};
};
};
};
dsi0: dsi@fd922800 {
mdss_dsi0: dsi@fd922800 {
compatible = "qcom,msm8974-dsi-ctrl",
"qcom,mdss-dsi-ctrl";
reg = <0xfd922800 0x1f8>;
@ -1927,7 +1927,7 @@
interrupts = <4>;
assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
clocks = <&mmcc MDSS_MDP_CLK>,
<&mmcc MDSS_AHB_CLK>,
@ -1944,7 +1944,7 @@
"core",
"core_mmss";
phys = <&dsi0_phy>;
phys = <&mdss_dsi0_phy>;
status = "disabled";
@ -1957,20 +1957,20 @@
port@0 {
reg = <0>;
dsi0_in: endpoint {
mdss_dsi0_in: endpoint {
remote-endpoint = <&mdp5_intf1_out>;
};
};
port@1 {
reg = <1>;
dsi0_out: endpoint {
mdss_dsi0_out: endpoint {
};
};
};
};
dsi0_phy: phy@fd922a00 {
mdss_dsi0_phy: phy@fd922a00 {
compatible = "qcom,dsi-phy-28nm-hpm";
reg = <0xfd922a00 0xd4>,
<0xfd922b00 0x280>,
@ -1988,7 +1988,7 @@
status = "disabled";
};
dsi1: dsi@fd922e00 {
mdss_dsi1: dsi@fd922e00 {
compatible = "qcom,msm8974-dsi-ctrl",
"qcom,mdss-dsi-ctrl";
reg = <0xfd922e00 0x1f8>;
@ -1998,7 +1998,7 @@
interrupts = <4>;
assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
clocks = <&mmcc MDSS_MDP_CLK>,
<&mmcc MDSS_AHB_CLK>,
@ -2015,7 +2015,7 @@
"core",
"core_mmss";
phys = <&dsi1_phy>;
phys = <&mdss_dsi1_phy>;
status = "disabled";
@ -2028,20 +2028,20 @@
port@0 {
reg = <0>;
dsi1_in: endpoint {
mdss_dsi1_in: endpoint {
remote-endpoint = <&mdp5_intf2_out>;
};
};
port@1 {
reg = <1>;
dsi1_out: endpoint {
mdss_dsi1_out: endpoint {
};
};
};
};
dsi1_phy: phy@fd923000 {
mdss_dsi1_phy: phy@fd923000 {
compatible = "qcom,dsi-phy-28nm-hpm";
reg = <0xfd923000 0xd4>,
<0xfd923100 0x280>,

View File

@ -329,7 +329,15 @@
};
};
&dsi0 {
&gpu {
status = "okay";
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
status = "okay";
vdda-supply = <&pma8084_l2>;
@ -351,31 +359,23 @@
port {
panel_in: endpoint {
remote-endpoint = <&dsi0_out>;
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&dsi0_out {
&mdss_dsi0_out {
remote-endpoint = <&panel_in>;
data-lanes = <0 1 2 3>;
};
&dsi0_phy {
&mdss_dsi0_phy {
status = "okay";
vddio-supply = <&pma8084_l12>;
};
&gpu {
status = "okay";
};
&mdss {
status = "okay";
};
&pma8084_gpios {
gpio_keys_pin_a: gpio-keys-active-state {
pins = "gpio2", "gpio3", "gpio5";

View File

@ -150,47 +150,48 @@
bl-name = "backlight";
dev-ctrl = /bits/ 8 <0x05>;
init-brt = /bits/ 8 <0x3f>;
rom_a0h {
rom-a0h {
rom-addr = /bits/ 8 <0xa0>;
rom-val = /bits/ 8 <0xff>;
};
rom_a1h {
rom-a1h {
rom-addr = /bits/ 8 <0xa1>;
rom-val = /bits/ 8 <0x3f>;
};
rom_a2h {
rom-a2h {
rom-addr = /bits/ 8 <0xa2>;
rom-val = /bits/ 8 <0x20>;
};
rom_a3h {
rom-a3h {
rom-addr = /bits/ 8 <0xa3>;
rom-val = /bits/ 8 <0x5e>;
};
rom_a4h {
rom-a4h {
rom-addr = /bits/ 8 <0xa4>;
rom-val = /bits/ 8 <0x02>;
};
rom_a5h {
rom-a5h {
rom-addr = /bits/ 8 <0xa5>;
rom-val = /bits/ 8 <0x04>;
};
rom_a6h {
rom-a6h {
rom-addr = /bits/ 8 <0xa6>;
rom-val = /bits/ 8 <0x80>;
};
rom_a7h {
rom-a7h {
rom-addr = /bits/ 8 <0xa7>;
rom-val = /bits/ 8 <0xf7>;
};
rom_a9h {
rom-a9h {
rom-addr = /bits/ 8 <0xa9>;
rom-val = /bits/ 8 <0x80>;
};
rom_aah {
rom-aah {
rom-addr = /bits/ 8 <0xaa>;
rom-val = /bits/ 8 <0x0f>;
};
rom_aeh {
rom-aeh {
rom-addr = /bits/ 8 <0xae>;
rom-val = /bits/ 8 <0x0f>;
};

View File

@ -4,6 +4,36 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
thermal-zones {
pm8226-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pm8226_temp>;
trips {
trip0 {
temperature = <105000>;
hysteresis = <2000>;
type = "passive";
};
trip1 {
temperature = <125000>;
hysteresis = <2000>;
type = "hot";
};
crit {
temperature = <145000>;
hysteresis = <2000>;
type = "critical";
};
};
};
};
};
&spmi_bus {
pm8226_0: pm8226@0 {
compatible = "qcom,pm8226", "qcom,spmi-pmic";
@ -55,6 +85,15 @@
chg_otg: otg-vbus { };
};
pm8226_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
io-channels = <&pm8226_vadc VADC_DIE_TEMP>;
io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
pm8226_vadc: adc@3100 {
compatible = "qcom,spmi-vadc";
reg = <0x3100>;

View File

@ -2,6 +2,37 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
thermal-zones {
pm8841-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pm8841_temp>;
trips {
trip0 {
temperature = <105000>;
hysteresis = <2000>;
type = "passive";
};
trip1 {
temperature = <125000>;
hysteresis = <2000>;
type = "hot";
};
crit {
temperature = <140000>;
hysteresis = <2000>;
type = "critical";
};
};
};
};
};
&spmi_bus {
pm8841_0: pm8841@4 {
@ -20,7 +51,7 @@
#interrupt-cells = <2>;
};
temp-alarm@2400 {
pm8841_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <4 0x24 0 IRQ_TYPE_EDGE_RISING>;

View File

@ -3,6 +3,37 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
thermal-zones {
pm8941-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pm8941_temp>;
trips {
trip0 {
temperature = <105000>;
hysteresis = <2000>;
type = "passive";
};
trip1 {
temperature = <125000>;
hysteresis = <2000>;
type = "hot";
};
crit {
temperature = <145000>;
hysteresis = <2000>;
type = "critical";
};
};
};
};
};
&spmi_bus {
pm8941_0: pm8941@0 {

View File

@ -421,6 +421,10 @@
<GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "global",
"doorbell";
interconnects = <&system_noc MASTER_PCIE &mc_virt SLAVE_EBI_CH0>;
interconnect-names = "pcie-mem";
resets = <&gcc GCC_PCIE_BCR>;
reset-names = "core";
power-domains = <&gcc PCIE_GDSC>;