Qualcomm Arm32 DeviceTree updates for v6.18

Bring a few updates to the MSM8960 platform and add support for the Sony
 Xperia SP.
 
 Touch keys support is added to the Samsung Galaxy Grand 2.
 
 A number of DeviceTree cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmjDSHwVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3F5KwP/RMdjucB7rVhqFQWinM/TKr1WWBb
 /vf/vM7NCQ3CVXnqSkGZQDFinjgYa6J4LnKdSI1ebLtA5tYy1m5TxmSZ9iSUHK7m
 9AsqME835GWhvmuIJb05l+RqoVizSmP6/c8SOg1zcLKXE/al+iMcdXjISGagXdRA
 N1IRuyMrfu9wUjntmt+2bP8HOQuw1yuRHV0vEKdqPQUaJnzBOwjzznLqQ4HP7wT6
 SbYocN9m4HnplqWn3i71aq9b59tQyLtyHVDLKbn1r4P0qEZlb8EpcK2E1EKddKlL
 8F4uU02c2OuBIsDOOl6XEBrVPm7ZxFCQ9i9+PqVKtGS88sc/Sof4FW5si6MP14p+
 GbiB2bO2U6INuH7PPC7SsIaoeN97irlBP8VTZlw/DFkkFJ6BBMcOYKViFjEQQpMU
 ESUSJF4g2uvUhBIqNRYnQBT0vmnpnQe/sNS3QDaW+BRiVpu5Hu4LxmdBHZ5wR1nL
 cAJS36qMswP/FN3iTqorQbuolpgal3WyhVKBhOad1dvOHDJ/FJc6hhmiwko+qHD+
 PKsfjx1Xwa9aGnd/3OxEVF9WUjG8LRNvrRABTTDJwpNltpDyWURVwFCQSlJ1PhFM
 FVcRPmTeipMxST3JOCp8F7mLAPJTbj43ONAsSwClhrK8WaIIxXQYXCJeEjNKQ0b1
 ky/RaYPXosk3C2uL
 =6gni
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIE4kACgkQmmx57+YA
 GNkgORAAw+cBBLv1vn0iJ90zF0NOQd2Pfv2AIYsayIVDP0wIbsfy801Yydgo2+0D
 Fw2qhY/Avrfrswn8A7i7BK9EG5SO+DgbXd51QXwaHYNdvvfmSyoV+TMlo5LzH1GZ
 hpctSZ8/oWfwvsToAiMrNQVMFJjEDFSTeU4s81k6h9JmGCGWL/jx3WzDzgBAlsaD
 MCiJD1dm+spLNNaPBEEIZ62Ptkzx0+SRI8NiSswPeq7FaH2cJzGMD2HGtjzsXmVY
 N9QLjI/unA5LfYuFec3aLUoLOULBhz3tz2cbyw+p1rEwiKfCEt7dSXJ3a/Utp2AD
 VKxFurDIU+opBJ2CxWsoTatDvZQ9KByUdrx6E5S+SM46IZuALVrLYCGZJFDH7U1w
 7yDbx7kxKsQaZebCO2UdIuU+kvct9oYkBFec3/GzW7+DevqkuGiF64TOf7Piu6ez
 EEpaerGvQhBVrgmDxsOIwrB0JzNAy4JJUZ5b3e+bg+m1v453wZXqVB7CBfbIidOi
 oOZxD4znv53rpJ/4BItbPGV2zLg3gSV4BOx3vPMcQc/vVVZYEj34SavgRc2juUaE
 21mEakD/HMtvgjkM6Y2rxRRqncR8RKo4IfE0iHz97CB/4DHuWukW9UKrcOs+ydN4
 j4Fc4tmPExAnkOPv2LCx4q28Hal/nyaToJ7b+0Mq0aRlkWyAO0U=
 =5FsU
 -----END PGP SIGNATURE-----

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

Qualcomm Arm32 DeviceTree updates for v6.18

Bring a few updates to the MSM8960 platform and add support for the Sony
Xperia SP.

Touch keys support is added to the Samsung Galaxy Grand 2.

A number of DeviceTree cleanups.

* tag 'qcom-arm32-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: dts: qcom: Use GIC_SPI for interrupt-map for readability
  ARM: dts: qcom: sdx55: Add default GIC address cells
  ARM: dts: qcom: ipq8064: Add default GIC address cells
  ARM: dts: qcom: apq8064: Add default GIC address cells
  ARM: dts: qcom: ipq4019: Add default GIC address cells
  ARM: dts: qcom: apq8064-mako: Minor whitespace cleanup
  ARM: dts: qcom: msm8226-samsung-ms013g: Add touch keys
  ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
  ARM: dts: qcom: pm8921: add vibrator device node
  ARM: dts: qcom: add device tree for Sony Xperia SP
  dt-bindings: arm: qcom: add Sony Xperia SP
  ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
  ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
  ARM: dts: qcom: msm8960: add sdcc3 pinctrl states

Link: https://lore.kernel.org/r/20250911220940.3023575-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-09-15 15:24:04 +02:00
commit cad0261fd0
14 changed files with 529 additions and 27 deletions

View File

@ -203,6 +203,12 @@ properties:
- samsung,expressatt
- const: qcom,msm8960
- items:
- enum:
- sony,huashan
- const: qcom,msm8960t
- const: qcom,msm8960
- items:
- enum:
- lge,hammerhead

View File

@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8926-samsung-matisselte.dtb \
qcom-msm8960-cdp.dtb \
qcom-msm8960-samsung-expressatt.dtb \
qcom-msm8960-sony-huashan.dtb \
qcom-msm8974-lge-nexus5-hammerhead.dtb \
qcom-msm8974-samsung-hlte.dtb \
qcom-msm8974-sony-xperia-rhine-amami.dtb \

View File

@ -17,6 +17,12 @@ pwrkey@1c {
pull-up;
};
pm8921_vibrator: vibrator@4a {
compatible = "qcom,pm8921-vib";
reg = <0x4a>;
status = "disabled";
};
pm8921_mpps: mpps@50 {
compatible = "qcom,pm8921-mpp",
"qcom,ssbi-mpp";

View File

@ -34,7 +34,7 @@ reserved-memory {
#size-cells = <1>;
ranges;
ramoops@88d00000{
ramoops@88d00000 {
compatible = "ramoops";
reg = <0x88d00000 0x100000>;
record-size = <0x20000>;
@ -326,8 +326,8 @@ pm8921_s3: s3 {
*/
pm8921_s4: s4 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;

View File

@ -342,6 +342,7 @@ sfpb_mutex: hwmutex@1200600 {
intc: interrupt-controller@2000000 {
compatible = "qcom,msm-qgic2";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <3>;
reg = <0x02000000 0x1000>,
<0x02002000 0x1000>;
@ -1350,10 +1351,10 @@ pcie: pcie@1b500000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
interrupt-map = <0 0 0 1 &intc GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
clocks = <&gcc PCIE_A_CLK>,
<&gcc PCIE_H_CLK>,
<&gcc PCIE_PHY_REF_CLK>;

View File

@ -175,6 +175,7 @@ soc {
intc: interrupt-controller@b000000 {
compatible = "qcom,msm-qgic2";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <3>;
reg = <0x0b000000 0x1000>,
<0x0b002000 0x1000>;
@ -428,10 +429,10 @@ pcie0: pcie@40000000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
interrupt-map = <0 0 0 1 &intc GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
clocks = <&gcc GCC_PCIE_AHB_CLK>,
<&gcc GCC_PCIE_AXI_M_CLK>,
<&gcc GCC_PCIE_AXI_S_CLK>;

View File

@ -527,6 +527,7 @@ sfpb_mutex: hwlock@1200600 {
intc: interrupt-controller@2000000 {
compatible = "qcom,msm-qgic2";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <3>;
reg = <0x02000000 0x1000>,
<0x02002000 0x1000>;
@ -1076,10 +1077,10 @@ pcie0: pcie@1b500000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
interrupt-map = <0 0 0 1 &intc GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
clocks = <&gcc PCIE_A_CLK>,
<&gcc PCIE_H_CLK>,
@ -1137,10 +1138,10 @@ pcie1: pcie@1b700000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
interrupt-map = <0 0 0 1 &intc GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
clocks = <&gcc PCIE_1_A_CLK>,
<&gcc PCIE_1_H_CLK>,
@ -1198,10 +1199,10 @@ pcie2: pcie@1b900000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
interrupt-map = <0 0 0 1 &intc GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
clocks = <&gcc PCIE_2_A_CLK>,
<&gcc PCIE_2_H_CLK>,

View File

@ -144,6 +144,8 @@ touchscreen@20 {
pinctrl-0 = <&tsp_int_default>;
pinctrl-names = "default";
linux,keycodes = <KEY_APPSELECT KEY_BACK>;
};
};

View File

@ -18,4 +18,44 @@ i2c3-pins {
bias-bus-hold;
};
};
sdcc3_default_state: sdcc3-default-state {
clk-pins {
pins = "sdc3_clk";
drive-strength = <8>;
bias-disable;
};
cmd-pins {
pins = "sdc3_cmd";
drive-strength = <8>;
bias-pull-up;
};
data-pins {
pins = "sdc3_data";
drive-strength = <8>;
bias-pull-up;
};
};
sdcc3_sleep_state: sdcc3-sleep-state {
clk-pins {
pins = "sdc3_clk";
drive-strength = <2>;
bias-disable;
};
cmd-pins {
pins = "sdc3_cmd";
drive-strength = <2>;
bias-pull-up;
};
data-pins {
pins = "sdc3_data";
drive-strength = <2>;
bias-pull-up;
};
};
};

View File

@ -71,6 +71,11 @@ &sdcc1 {
&sdcc3 {
vmmc-supply = <&pm8921_l6>;
vqmmc-supply = <&pm8921_l7>;
pinctrl-0 = <&sdcc3_default_state>;
pinctrl-1 = <&sdcc3_sleep_state>;
pinctrl-names = "default", "sleep";
status = "okay";
};

View File

@ -0,0 +1,361 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2025, Antony Kurniawan Soemardi <linux@smankusors.com>
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/reset/qcom,gcc-msm8960.h>
#include "qcom-msm8960.dtsi"
#include "pm8921.dtsi"
/ {
model = "Sony Xperia SP";
compatible = "sony,huashan", "qcom,msm8960t", "qcom,msm8960";
chassis-type = "handset";
aliases {
serial0 = &gsbi8_serial;
mmc0 = &sdcc1; /* SDCC1 eMMC slot */
mmc1 = &sdcc3; /* SDCC3 SD card slot */
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
key-volume-up {
label = "Volume Up";
gpios = <&pm8921_gpio 21 GPIO_ACTIVE_LOW>;
debounce-interval = <10>;
linux,code = <KEY_VOLUMEUP>;
};
key-volume-down {
label = "Volume Down";
gpios = <&pm8921_gpio 20 GPIO_ACTIVE_LOW>;
debounce-interval = <10>;
linux,code = <KEY_VOLUMEDOWN>;
};
};
};
&gsbi8 {
qcom,mode = <GSBI_PROT_I2C_UART>;
status = "okay";
};
&gsbi8_serial {
status = "okay";
};
&pm8921 {
interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921_gpio {
keypad_default_state: keypad-default-state {
keypad-sense-pins {
pins = "gpio1", "gpio2", "gpio3", "gpio4", "gpio5";
function = PMIC_GPIO_FUNC_NORMAL;
bias-pull-up;
input-enable;
power-source = <PM8921_GPIO_S4>;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_31P5>;
};
keypad-drive-pins {
pins = "gpio9", "gpio10";
function = PMIC_GPIO_FUNC_FUNC1;
bias-disable;
drive-open-drain;
output-low;
power-source = <PM8921_GPIO_S4>;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
};
};
};
&pm8921_keypad {
linux,keymap = <
MATRIX_KEY(1, 0, KEY_CAMERA_FOCUS)
MATRIX_KEY(1, 1, KEY_CAMERA)
>;
keypad,num-rows = <2>;
keypad,num-columns = <5>;
pinctrl-0 = <&keypad_default_state>;
pinctrl-names = "default";
status = "okay";
};
&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_l26-supply = <&pm8921_s7>;
vdd_l27-supply = <&pm8921_s7>;
vdd_l28-supply = <&pm8921_s7>;
vdd_l29-supply = <&pm8921_s8>;
/* 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 = <3075000>;
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 = <2800000>;
regulator-max-microvolt = <3000000>;
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 = <2600000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
pm8921_l12: l12 {
regulator-min-microvolt = <1050000>;
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 = <2600000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
pm8921_l17: l17 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
pm8921_l18: l18 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
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>;
};
};
};
&sdcc1 {
vmmc-supply = <&pm8921_l5>;
status = "okay";
};
&sdcc3 {
vmmc-supply = <&pm8921_l6>;
vqmmc-supply = <&pm8921_l7>;
pinctrl-0 = <&sdcc3_default_state>;
pinctrl-1 = <&sdcc3_sleep_state>;
pinctrl-names = "default", "sleep";
status = "okay";
};
&usb_hs1_phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
&usb1 {
dr_mode = "otg";
status = "okay";
};

View File

@ -322,6 +322,8 @@ gsbi5: gsbi@16400000 {
syscon-tcsr = <&tcsr>;
status = "disabled";
gsbi5_serial: serial@16440000 {
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
reg = <0x16440000 0x1000>,
@ -333,6 +335,34 @@ gsbi5_serial: serial@16440000 {
};
};
gsbi8: gsbi@1a000000 {
compatible = "qcom,gsbi-v1.0.0";
cell-index = <8>;
reg = <0x1a000000 0x100>;
clocks = <&gcc GSBI8_H_CLK>;
clock-names = "iface";
#address-cells = <1>;
#size-cells = <1>;
ranges;
syscon-tcsr = <&tcsr>;
status = "disabled";
gsbi8_serial: serial@1a040000 {
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
reg = <0x1a040000 0x1000>,
<0x1a000000 0x1000>;
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GSBI8_UART_CLK>,
<&gcc GSBI8_H_CLK>;
clock-names = "core",
"iface";
status = "disabled";
};
};
ssbi: ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x500000 0x1000>;
@ -417,6 +447,8 @@ gsbi1: gsbi@16000000 {
#size-cells = <1>;
ranges;
status = "disabled";
gsbi1_spi: spi@16080000 {
compatible = "qcom,spi-qup-v1.1.1";
#address-cells = <1>;

View File

@ -50,6 +50,34 @@ key-volume-up {
};
};
i2c-touchkey {
compatible = "i2c-gpio";
sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
pinctrl-0 = <&i2c_touchkey_pins>;
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
touchkey@20 {
compatible = "cypress,midas-touchkey";
reg = <0x20>;
interrupts-extended = <&pm8941_gpios 29 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&touchkey_pin>;
pinctrl-names = "default";
vcc-supply = <&pm8941_lvs3>;
vdd-supply = <&pm8941_l13>;
linux,keycodes = <KEY_APPSELECT KEY_BACK>;
};
};
touch_ldo: regulator-touch {
compatible = "regulator-fixed";
regulator-name = "touch-ldo";
@ -149,6 +177,14 @@ touch_ldo_pin: touchscreen-ldo-state {
power-source = <PM8941_GPIO_S3>;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
};
touchkey_pin: touchkey-int-state {
pins = "gpio29";
function = "normal";
bias-disable;
input-enable;
power-source = <PM8941_GPIO_S3>;
};
};
&remoteproc_adsp {
@ -332,6 +368,9 @@ pm8941_l24: l24 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8941_lvs1: lvs1 {};
pm8941_lvs3: lvs3 {};
};
};
@ -378,6 +417,12 @@ sdhc3_pin_a: sdhc3-pin-active-state {
drive-strength = <8>;
bias-disable;
};
i2c_touchkey_pins: i2c-touchkey-state {
pins = "gpio95", "gpio96";
function = "gpio";
bias-pull-up;
};
};
&usb {

View File

@ -340,10 +340,10 @@ pcie_rc: pcie@1c00000 {
"msi8";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 141 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
interrupt-map = <0 0 0 1 &intc GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
<0 0 0 2 &intc GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
<0 0 0 3 &intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
<0 0 0 4 &intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
clocks = <&gcc GCC_PCIE_PIPE_CLK>,
<&gcc GCC_PCIE_AUX_CLK>,
@ -707,6 +707,7 @@ intc: interrupt-controller@17800000 {
compatible = "qcom,msm-qgic2";
interrupt-controller;
interrupt-parent = <&intc>;
#address-cells = <0>;
#interrupt-cells = <3>;
reg = <0x17800000 0x1000>,
<0x17802000 0x1000>;