Qualcomm Arm32 DeviceTree updates for v6.11

This introduces new support for the Sony Xperia Z3 Compact, HTC One
 (M8), Samsung Galaxy Tab 4 8.0 Wi-Fi, Samsung Galaxy Grand 2, and
 Samsung Galaxy Note 3 devices.
 
 The Motorola Moto G and Motorola Moto G 4G gains accelerometer and
 magnetometer support, with the latter also getting framebuffer supplies
 and a temperature sensor wired up.
 
 The SMBB (charger block) is enabled across all MSM8x26 Lumia devices, as
 this is used for USB state changes.
 
 The operating mode for SDC regulator is set to HPM on Sony Xperia
 "Shinano" family to avoid brownouts on uSD-cards.
 
 The panel on LGE Nexus 5 is connected to the backlight, to make this
 turn off on blanking.
 
 MSM8974 is transitioned to use the mailbox-abstraction for invoking
 PC interrupts on remote processors.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmaHaG0VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3F3zEQANLGa1IUMLy785ggnWMPTTjoyDpz
 XAxcHmavAt8ApMV8NfnAPQINJ/CYoQoHdiu032VsLQhieP2Anl78NHIoYlGgxmba
 m4xqLBw04jwN0yQKQTOKuiSk1MsrGxHOQp+yjKs6aT3A6uablIItRzBc2iw/7HoA
 wyuf/en03ffV6F6wVF9zmiuFRLtB0e8OzCHj7HXFlw9HV0s7M8Wk/AX0niwipJ8y
 NWSjkeN76c71EXbd9QotL6UFC3pCYZa/CrNXJvKkK8IU2DIITb53XrpIBYFENHJu
 U1G2rwmkENqhWhbt2yUjGpu3bbHEnWqOSEuFArvyUc/ZZNisV+bmM4zQ6IM62f6X
 DCf5LkoUbQOWOALmbnIvQY3v9OKhCRrHdDPY+ignUuCLwiWXShWDRB2atCnvO332
 uC3YrV8Z5toSsPTUZMiybg30l6KLW5Bsp+mxadrzVQomaBqDsrXv/7W27Rh2/IzC
 vWNYTXbc1O/VTHCXpBphEfeN4ZAS9fbffNO/fHg0lyT7C4XUUeCHUlIg69dJX2lo
 LLwHaSIl94QgdfJGqo3OY9+f8Q6xr5M2pXMaGb8fupj3A3Dvbv4SB04JoNy30JJ2
 7oM4HwFmiTjEIrjpFWVFEoV8BjF491+pDscjg1pL/VYjYYXGZ345umDL7+bp7vyD
 QBHmK65e/I3+LKl3
 =oE6a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaL+FMACgkQYKtH/8kJ
 Uifn1A//QrUJh68YiH8HIIF7JtqGxcWeOq4OE4Ndi1O7IK0WL/rdAe4qZECtFhC2
 5aSTZ/Cj7vmVxbivjJDTBXPp7RoSHNfW7JHUWsBUlFXz45BIuNsTbWy6f+O53x0v
 gXrKYeJpj+DoxOiTOJAc6UaxQRhQdRwCGa7mDUUM8Dc+8goOpA43TD7VBtbWF4q5
 6ThdPFhVNeBTvkmU0g6CLI1B+DcYJQUmTcS0lbSk3gPaFMuEFehSjL0RC3Jh7Hu6
 ONLJsabcFVJU6hnS7IsoSJRFxsOu3JdIWieK02Cm0quvQLXdHygXq6tBOJklVQ+B
 C0RH7vjMzLXJ67t3gDgU9J+jxGSRu5gcvmScRt7cUvQnhfzMWvhSyI18EozjsJ5l
 YcJZmw6Bps8mJNo7ag3X0ws16ursJFSg9SEzgwcY0F4MHzB5sEoSdxsJFE4krIra
 nmAnM14QDR0u/GTYj1Ohzf0ZMZntQ6jlGJT9g6E6d3W/fxo61YnTGn790lOK4gEk
 rP7+/4mag9C3GjNr1jnsyatzUvZBv0Pz8AFkONUPJVdW7EDY2x5c2A9LMTC8QO81
 arS0Fldoi028Zqn4BTwLc2LGWqsq5YfCDVkKKFrtrBJrMaNpSHMsHYW37mvlcnwY
 oGMzgVRCcsvsflt/033Rm0gQ00kp9LF9BKtOrolTDLnIm+GNu+4=
 =QlxS
 -----END PGP SIGNATURE-----

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

Qualcomm Arm32 DeviceTree updates for v6.11

This introduces new support for the Sony Xperia Z3 Compact, HTC One
(M8), Samsung Galaxy Tab 4 8.0 Wi-Fi, Samsung Galaxy Grand 2, and
Samsung Galaxy Note 3 devices.

The Motorola Moto G and Motorola Moto G 4G gains accelerometer and
magnetometer support, with the latter also getting framebuffer supplies
and a temperature sensor wired up.

The SMBB (charger block) is enabled across all MSM8x26 Lumia devices, as
this is used for USB state changes.

The operating mode for SDC regulator is set to HPM on Sony Xperia
"Shinano" family to avoid brownouts on uSD-cards.

The panel on LGE Nexus 5 is connected to the backlight, to make this
turn off on blanking.

MSM8974 is transitioned to use the mailbox-abstraction for invoking
PC interrupts on remote processors.

* tag 'qcom-arm32-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (24 commits)
  ARM: dts: qcom: qcom-msm8226-samsung-ms013g: Add initial device tree
  ARM: dts: qcom: apq8064: drop incorrect ranges from QFPROM
  ARM: dts: qcom: msm8926-motorola-peregrine: Add framebuffer supplies
  ARM: dts: qcom: msm8926-motorola-peregrine: Update temperature sensor
  ARM: dts: qcom: msm8926-motorola-peregrine: Add accelerometer, magnetometer, regulator
  ARM: dts: qcom: msm8974: Use mboxes in smsm node
  ARM: dts: qcom: msm8974-sony-shinano: increase load on l21 for sdhc2
  ARM: dts: qcom: Add Sony Xperia Z3 Compact smartphone
  ARM: dts: qcom: use generic node names for Adreno and QFPROM
  ARM: dts: qcom: motorola-falcon: add accelerometer, magnetometer
  ARM: dts: qcom: Add initial support for HTC One (M8)
  ARM: dts: qcom: msm8974: Use mboxes properties for APCS
  ARM: dts: qcom: mdm9615: drop #power-domain-cells property of GCC
  ARM: dts: qcom: ipq8064: drop #power-domain-cells property of GCC
  ARM: dts: qcom: ipq4019: drop #power-domain-cells property of GCC
  ARM: dts: qcom: msm8960: drop #power-domain-cells property of GCC
  ARM: dts: qcom: msm8660: drop #power-domain-cells property of GCC
  ARM: dts: qcom: apq8064: drop #power-domain-cells property of GCC
  ARM: dts: qcom: msm8974: Use proper compatible for APCS syscon
  ARM: dts: qcom: msm8974-hammerhead: Update gpio hog node name
  ...

Link: https://lore.kernel.org/r/20240705032926.13333-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2024-07-08 16:31:46 +02:00
commit a9fe0720f2
20 changed files with 1968 additions and 30 deletions

View File

@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8026-huawei-sturgeon.dtb \
qcom-apq8026-lg-lenok.dtb \
qcom-apq8026-samsung-matisse-wifi.dtb \
qcom-apq8026-samsung-milletwifi.dtb \
qcom-apq8060-dragonboard.dtb \
qcom-apq8064-cm-qs600.dtb \
qcom-apq8064-ifc6410.dtb \
@ -27,6 +28,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8226-microsoft-dempsey.dtb \
qcom-msm8226-microsoft-makepeace.dtb \
qcom-msm8226-microsoft-moneypenny.dtb \
qcom-msm8226-samsung-ms013g.dtb \
qcom-msm8226-samsung-s3ve3g.dtb \
qcom-msm8660-surf.dtb \
qcom-msm8916-samsung-e5.dtb \
@ -41,12 +43,15 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8960-cdp.dtb \
qcom-msm8960-samsung-expressatt.dtb \
qcom-msm8974-lge-nexus5-hammerhead.dtb \
qcom-msm8974-samsung-hlte.dtb \
qcom-msm8974-sony-xperia-rhine-amami.dtb \
qcom-msm8974-sony-xperia-rhine-honami.dtb \
qcom-msm8974pro-fairphone-fp2.dtb \
qcom-msm8974pro-htc-m8.dtb \
qcom-msm8974pro-oneplus-bacon.dtb \
qcom-msm8974pro-samsung-klte.dtb \
qcom-msm8974pro-samsung-kltechn.dtb \
qcom-msm8974pro-sony-xperia-shinano-aries.dtb \
qcom-msm8974pro-sony-xperia-shinano-castor.dtb \
qcom-msm8974pro-sony-xperia-shinano-leo.dtb \
qcom-mdm9615-wp8548-mangoh-green.dtb \

View File

@ -96,6 +96,35 @@ reserved@fb00000 {
};
};
&blsp1_i2c2 {
status = "okay";
magnetometer@c {
compatible = "asahi-kasei,ak8963";
reg = <0xc>;
interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
vdd-supply = <&pm8226_l19>;
vid-supply = <&pm8226_lvs1>;
pinctrl-0 = <&mag_int_default &mag_reset_default>;
pinctrl-names = "default";
};
accelerometer@19 {
compatible = "st,lis3dh-accel";
reg = <0x19>;
interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8226_l19>;
vddio-supply = <&pm8226_lvs1>;
pinctrl-0 = <&accel_int_default>;
pinctrl-names = "default";
mount-matrix = "0", "1", "0",
"1", "0", "0",
"0", "0", "-1";
st,drdy-int-pin = <1>;
};
};
&blsp1_i2c3 {
status = "okay";
@ -321,6 +350,30 @@ &smbb {
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio63";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-disable;
};
mag_int_default: mag-int-default-state {
pins = "gpio66";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-disable;
};
mag_reset_default: mag-reset-default-state {
pins = "gpio62";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-high;
};
reg_lcd_default: reg-lcd-default-state {
pins = "gpio31", "gpio33";
function = "gpio";

View File

@ -0,0 +1,573 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com>
* Copyright (c) 2023, Bryant Mairs <bryant@mai.rs>
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/power/summit,smb347-charger.h>
#include "qcom-msm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &adsp_region;
/delete-node/ &smem_region;
/ {
model = "Samsung Galaxy Tab 4 8.0 Wi-Fi";
compatible = "samsung,milletwifi", "qcom,apq8026";
chassis-type = "tablet";
aliases {
display0 = &framebuffer0;
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
mmc1 = &sdhc_2; /* SDC2 SD card slot */
};
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
stdout-path = "display0";
framebuffer0: framebuffer@3200000 {
compatible = "simple-framebuffer";
reg = <0x03200000 0x800000>;
width = <800>;
height = <1280>;
stride = <(800 * 3)>;
format = "r8g8b8";
};
};
gpio-hall-sensor {
compatible = "gpio-keys";
event-hall-sensor {
label = "Cover";
gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
key-home {
label = "Home";
gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
debounce-interval = <15>;
};
key-volume-down {
label = "Volume Down";
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
debounce-interval = <15>;
};
key-volume-up {
label = "Volume Up";
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <15>;
};
};
i2c-backlight {
compatible = "i2c-gpio";
sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
pinctrl-0 = <&backlight_i2c_default_state>;
pinctrl-names = "default";
i2c-gpio,delay-us = <4>;
#address-cells = <1>;
#size-cells = <0>;
backlight@2c {
compatible = "ti,lp8556";
reg = <0x2c>;
enable-supply = <&reg_backlight_vddio>;
dev-ctrl = /bits/ 8 <0x80>;
init-brt = /bits/ 8 <0x3f>;
/*
* Change transition duration: 200ms, Change
* transition strength: heavy, PWM hysteresis:
* 1-bit w/ 8-bit resolution
*/
rom-a3h {
rom-addr = /bits/ 8 <0xa3>;
rom-val = /bits/ 8 <0x5e>;
};
/*
* PWM phase configuration: 3-phase/3 drivers
* (0, 120deg, 240deg, -, -, -),
* PWM frequency: 9616Hz (10-bit)
*/
rom-a5h {
rom-addr = /bits/ 8 <0xa5>;
rom-val = /bits/ 8 <0x34>;
};
/*
* Enable LED drivers 2 & 3, Boot inductor
* current limit: 1.5A/2.6A
*/
rom-a7h {
rom-addr = /bits/ 8 <0xa7>;
rom-val = /bits/ 8 <0xfa>;
};
};
};
reg_backlight_vddio: regulator-backlight-vddio {
compatible = "regulator-fixed";
regulator-name = "backlight_vddio";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&backlight_vddio_default_state>;
pinctrl-names = "default";
};
reg_tsp_1p8v: regulator-tsp-1p8v {
compatible = "regulator-fixed";
regulator-name = "tsp_1p8v";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&tlmm 114 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&tsp_en1_default_state>;
pinctrl-names = "default";
};
reg_tsp_3p3v: regulator-tsp-3p3v {
compatible = "regulator-fixed";
regulator-name = "tsp_3p3v";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&tsp_en_default_state>;
pinctrl-names = "default";
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
framebuffer@3200000 {
reg = <0x03200000 0x800000>;
no-map;
};
mpss_region: mpss@8400000 {
reg = <0x08400000 0x1f00000>;
no-map;
};
mba_region: mba@a300000 {
reg = <0x0a300000 0x100000>;
no-map;
};
reserved@cb00000 {
reg = <0x0cb00000 0x700000>;
no-map;
};
wcnss_region: wcnss@d200000 {
reg = <0x0d200000 0x700000>;
no-map;
};
adsp_region: adsp@d900000 {
reg = <0x0d900000 0x1800000>;
no-map;
};
venus@f100000 {
reg = <0x0f100000 0x500000>;
no-map;
};
smem_region: smem@fa00000 {
reg = <0x0fa00000 0x100000>;
no-map;
};
reserved@fb00000 {
reg = <0x0fb00000 0x260000>;
no-map;
};
rfsa@fd60000 {
reg = <0x0fd60000 0x20000>;
no-map;
};
rmtfs@fd80000 {
compatible = "qcom,rmtfs-mem";
reg = <0x0fd80000 0x180000>;
no-map;
qcom,client-id = <1>;
};
};
};
&blsp1_i2c2 {
status = "okay";
accelerometer@1d {
compatible = "st,lis2hh12";
reg = <0x1d>;
interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-0 = <&accel_int_default_state>;
pinctrl-names = "default";
vdd-supply = <&pm8226_l19>;
vddio-supply = <&pm8226_lvs1>;
mount-matrix = "0", "1", "0",
"-1", "0", "0",
"0", "0", "1";
st,drdy-int-pin = <1>;
};
};
&blsp1_i2c3 {
status = "okay";
charger@6a {
compatible = "summit,smb358";
reg = <0x6a>;
interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&charger_int_default_state>;
pinctrl-names = "default";
summit,enable-usb-charging;
summit,enable-charge-control = <SMB3XX_CHG_ENABLE_SW>;
summit,fast-voltage-threshold-microvolt = <3000000>;
summit,chip-temperature-threshold-celsius = <130>;
summit,usb-current-limit-microamp = <1500000>;
};
};
&blsp1_i2c4 {
status = "okay";
muic: usb-switch@25 {
compatible = "siliconmitus,sm5502-muic";
reg = <0x25>;
interrupts-extended = <&tlmm 67 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&muic_int_default_state>;
pinctrl-names = "default";
};
};
&blsp1_i2c5 {
status = "okay";
touchscreen@48 {
compatible = "melfas,mms252", "melfas,mms114";
reg = <0x48>;
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <800>;
touchscreen-size-y = <1280>;
avdd-supply = <&reg_tsp_3p3v>;
vdd-supply = <&reg_tsp_1p8v>;
linux,keycodes = <KEY_APPSELECT KEY_BACK>;
pinctrl-0 = <&tsp_int_rst_default_state>;
pinctrl-names = "default";
};
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm8226-regulators";
pm8226_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8226_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_s5: s5 {
regulator-min-microvolt = <1150000>;
regulator-max-microvolt = <1150000>;
};
pm8226_l1: l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
pm8226_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l3: l3 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1337500>;
regulator-always-on;
};
pm8226_l4: l4 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l5: l5 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
pm8226_l7: l7 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1850000>;
};
pm8226_l8: l8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
pm8226_l9: l9 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l10: l10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l14: l14 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <2750000>;
};
pm8226_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8226_l16: l16 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3350000>;
};
pm8226_l17: l17 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
regulator-always-on;
};
pm8226_l18: l18 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l19: l19 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l20: l20 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8226_l21: l21 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l22: l22 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l23: l23 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8226_l24: l24 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1350000>;
};
pm8226_l25: l25 {
regulator-min-microvolt = <1775000>;
regulator-max-microvolt = <2125000>;
};
pm8226_l26: l26 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1300000>;
};
pm8226_l27: l27 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l28: l28 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_lvs1: lvs1 {};
};
};
&sdhc_1 {
vmmc-supply = <&pm8226_l17>;
vqmmc-supply = <&pm8226_l6>;
bus-width = <8>;
non-removable;
status = "okay";
};
&sdhc_2 {
vmmc-supply = <&pm8226_l18>;
vqmmc-supply = <&pm8226_l21>;
bus-width = <4>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&sdhc2_default_state>, <&sdc2_cd_default_state>;
pinctrl-names = "default";
status = "okay";
};
&tlmm {
accel_int_default_state: accel-int-default-state {
pins = "gpio54";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
backlight_i2c_default_state: backlight-i2c-default-state {
pins = "gpio20", "gpio21";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
backlight_vddio_default_state: backlight-vddio-default-state {
pins = "gpio74";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
charger_int_default_state: charger-int-default-state {
pins = "gpio115";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
muic_int_default_state: muic-int-default-state {
pins = "gpio67";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
sdc2_cd_default_state: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_en_default_state: tsp-en-default-state {
pins = "gpio31";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_en1_default_state: tsp-en1-default-state {
pins = "gpio114";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_int_rst_default_state: tsp-int-rst-default-state {
pins = "gpio17";
function = "gpio";
drive-strength = <10>;
bias-pull-up;
};
};
&usb {
extcon = <&muic>, <&muic>;
status = "okay";
};
&usb_hs_phy {
extcon = <&muic>;
v1p8-supply = <&pm8226_l10>;
v3p3-supply = <&pm8226_l20>;
};

View File

@ -666,12 +666,12 @@ ssbi: ssbi@500000 {
qcom,controller-type = "pmic-arbiter";
};
qfprom: qfprom@700000 {
qfprom: efuse@700000 {
compatible = "qcom,apq8064-qfprom", "qcom,qfprom";
reg = <0x00700000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
tsens_calib: calib@404 {
reg = <0x404 0x10>;
};
@ -684,7 +684,6 @@ gcc: clock-controller@900000 {
compatible = "qcom,gcc-apq8064", "syscon";
reg = <0x00900000 0x4000>;
#clock-cells = <1>;
#power-domain-cells = <1>;
#reset-cells = <1>;
clocks = <&cxo_board>,
<&pxo_board>,
@ -993,7 +992,7 @@ tcsr: syscon@1a400000 {
reg = <0x1a400000 0x100>;
};
gpu: adreno-3xx@4300000 {
gpu: gpu@4300000 {
compatible = "qcom,adreno-320.2", "qcom,adreno";
reg = <0x04300000 0x20000>;
reg-names = "kgsl_3d0_reg_memory";

View File

@ -245,7 +245,7 @@ sram@fc190000 {
reg = <0xfc190000 0x10000>;
};
qfprom: qfprom@fc4bc000 {
qfprom: efuse@fc4bc000 {
compatible = "qcom,apq8084-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
#address-cells = <1>;

View File

@ -187,7 +187,6 @@ intc: interrupt-controller@b000000 {
gcc: clock-controller@1800000 {
compatible = "qcom,gcc-ipq4019";
#clock-cells = <1>;
#power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x1800000 0x60000>;
clocks = <&xo>, <&sleep_clk>;

View File

@ -372,7 +372,7 @@ ssbi@500000 {
qcom,controller-type = "pmic-arbiter";
};
qfprom: qfprom@700000 {
qfprom: efuse@700000 {
compatible = "qcom,ipq8064-qfprom", "qcom,qfprom";
reg = <0x00700000 0x1000>;
#address-cells = <1>;
@ -519,7 +519,6 @@ gcc: clock-controller@900000 {
reg = <0x00900000 0x4000>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
tsens: thermal-sensor {
compatible = "qcom,ipq8064-tsens";

View File

@ -102,7 +102,6 @@ msmgpio: pinctrl@800000 {
gcc: clock-controller@900000 {
compatible = "qcom,gcc-mdm9615";
#clock-cells = <1>;
#power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x900000 0x4000>;
clocks = <&cxo_board>,

View File

@ -287,6 +287,10 @@ &sdhc_2 {
status = "okay";
};
&smbb {
status = "okay";
};
&usb {
extcon = <&smbb>;
dr_mode = "peripheral";

View File

@ -0,0 +1,386 @@
// SPDX-License-Identifier: BSD-3-Clause
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &smem_region;
/ {
model = "Samsung Galaxy Grand 2";
compatible = "samsung,ms013g", "qcom,msm8226";
chassis-type = "handset";
aliases {
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
mmc1 = &sdhc_2; /* SDC2 SD card slot */
serial0 = &blsp1_uart3;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-hall-sensor {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_hall_sensor_default>;
pinctrl-names = "default";
label = "GPIO Hall Effect Sensor";
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default>;
pinctrl-names = "default";
label = "GPIO Buttons";
button-volume-up {
label = "Volume Up";
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
button-volume-down {
label = "Volume Down";
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
};
button-home {
label = "Home Key";
gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
};
};
reg_motor_vdd: regulator-motor-vdd {
compatible = "regulator-fixed";
regulator-name = "motor_vdd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 111 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&motor_en_default>;
pinctrl-names = "default";
};
reg_vdd_tsp_a: regulator-vdd-tsp-a {
compatible = "regulator-fixed";
regulator-name = "tsp_3p3v";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&tsp_en_default>;
pinctrl-names = "default";
};
reserved-memory {
smem_region: smem@fa00000 {
reg = <0x0fa00000 0x100000>;
no-map;
};
};
vibrator {
compatible = "regulator-haptic";
haptic-supply = <&reg_motor_vdd>;
min-microvolt = <3300000>;
max-microvolt = <3300000>;
};
};
&blsp1_i2c2 {
status = "okay";
accelerometer@18 {
compatible = "bosch,bma255";
reg = <0x18>;
interrupts-extended = <&tlmm 64 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8226_l19>;
vddio-supply = <&pm8226_lvs1>;
pinctrl-0 = <&accel_int_default>;
pinctrl-names = "default";
mount-matrix = "0", "1", "0",
"-1", "0", "0",
"0", "0", "-1";
};
};
&blsp1_i2c5 {
status = "okay";
touchscreen@20 {
compatible = "zinitix,bt541";
reg = <0x20>;
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <720>;
touchscreen-size-y = <1280>;
vcca-supply = <&reg_vdd_tsp_a>;
vdd-supply = <&pm8226_lvs1>;
pinctrl-0 = <&tsp_int_default>;
pinctrl-names = "default";
};
};
&blsp1_uart3 {
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm8226-regulators";
pm8226_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8226_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2200000>;
};
pm8226_s5: s5 {
regulator-min-microvolt = <1150000>;
regulator-max-microvolt = <1150000>;
};
pm8226_l1: l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
pm8226_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l3: l3 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1337500>;
};
pm8226_l4: l4 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l5: l5 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-allow-set-load;
regulator-always-on;
};
pm8226_l7: l7 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1850000>;
};
pm8226_l8: l8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l9: l9 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l10: l10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l14: l14 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <2750000>;
};
pm8226_l15: l15 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
pm8226_l16: l16 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3350000>;
};
pm8226_l17: l17 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
regulator-always-on;
};
pm8226_l18: l18 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l19: l19 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l20: l20 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8226_l21: l21 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
};
pm8226_l22: l22 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l23: l23 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8226_l24: l24 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1350000>;
};
pm8226_l25: l25 {
regulator-min-microvolt = <1775000>;
regulator-max-microvolt = <2125000>;
};
pm8226_l26: l26 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1300000>;
};
pm8226_l27: l27 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l28: l28 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_lvs1: lvs1 {};
};
};
&sdhc_1 {
vmmc-supply = <&pm8226_l17>;
vqmmc-supply = <&pm8226_l6>;
bus-width = <8>;
non-removable;
status = "okay";
};
&sdhc_2 {
vmmc-supply = <&pm8226_l18>;
vqmmc-supply = <&pm8226_l21>;
bus-width = <4>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&sdhc2_default_state &sdhc2_cd_default>;
pinctrl-names = "default";
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio64";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
gpio_hall_sensor_default: gpio-hall-sensor-default-state {
pins = "gpio50";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
gpio_keys_default: gpio-keys-default-state {
pins = "gpio106", "gpio107", "gpio108";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
motor_en_default: motor-en-default-state {
pins = "gpio111";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
sdhc2_cd_default: sdhc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_en_default: tsp-en-default-state {
pins = "gpio31";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_int_default: tsp-int-default-state {
pins = "gpio17";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
};

View File

@ -635,7 +635,7 @@ restart@fc4ab000 {
reg = <0xfc4ab000 0x4>;
};
qfprom: qfprom@fc4bc000 {
qfprom: efuse@fc4bc000 {
compatible = "qcom,msm8226-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x1000>;
#address-cells = <1>;
@ -1046,7 +1046,7 @@ cci_i2c0: i2c-bus@0 {
};
};
gpu: adreno@fdb00000 {
gpu: gpu@fdb00000 {
compatible = "qcom,adreno-305.18", "qcom,adreno";
reg = <0xfdb00000 0x10000>;
reg-names = "kgsl_3d0_reg_memory";

View File

@ -113,7 +113,6 @@ tlmm: pinctrl@800000 {
gcc: clock-controller@900000 {
compatible = "qcom,gcc-msm8660";
#clock-cells = <1>;
#power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x900000 0x4000>;
clocks = <&pxo_board>, <&cxo_board>;

View File

@ -29,6 +29,10 @@ framebuffer0: framebuffer@3200000 {
height = <1280>;
stride = <(720 * 3)>;
format = "r8g8b8";
vsp-supply = <&reg_lcd_pos>;
vsn-supply = <&reg_lcd_neg>;
vdd-supply = <&pm8226_l28>;
vddio-supply = <&vddio_disp_vreg>;
};
};
@ -51,6 +55,18 @@ key-volume-up {
};
};
vddio_disp_vreg: regulator-vddio-disp {
compatible = "regulator-fixed";
regulator-name = "vddio_disp";
gpio = <&tlmm 34 GPIO_ACTIVE_HIGH>;
startup-delay-us = <300>;
enable-active-high;
regulator-boot-on;
vin-supply = <&pm8226_l8>;
pinctrl-0 = <&disp_vddio_default>;
pinctrl-names = "default";
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
@ -68,12 +84,67 @@ smem_region: smem@fa00000 {
};
};
&blsp1_i2c3 {
&blsp1_i2c2 {
clock-frequency = <100000>;
status = "okay";
magnetometer@c {
compatible = "asahi-kasei,ak8963";
reg = <0xc>;
interrupts-extended = <&tlmm 38 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
vdd-supply = <&pm8226_l19>;
pinctrl-0 = <&mag_int_default &mag_reset_default>;
pinctrl-names = "default";
};
accelerometer@18 {
compatible = "st,lis3dh-accel";
reg = <0x18>;
interrupts-extended = <&tlmm 1 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8226_l19>;
pinctrl-0 = <&accel_int_default>;
pinctrl-names = "default";
st,drdy-int-pin = <1>;
};
};
&blsp1_i2c3 {
clock-frequency = <400000>;
status = "okay";
regulator@3e {
compatible = "ti,tps65132";
reg = <0x3e>;
pinctrl-0 = <&reg_lcd_default>;
pinctrl-names = "default";
reg_lcd_pos: outp {
regulator-name = "outp";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-active-discharge = <1>;
regulator-boot-on;
enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
};
reg_lcd_neg: outn {
regulator-name = "outn";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-active-discharge = <1>;
regulator-boot-on;
enable-gpios = <&tlmm 33 GPIO_ACTIVE_HIGH>;
};
};
sensor@48 {
compatible = "ti,tmp108";
reg = <0x48>;
interrupts-extended = <&tlmm 13 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&temp_alert_default>;
pinctrl-names = "default";
#thermal-sensor-cells = <0>;
};
};
@ -278,6 +349,56 @@ &smbb {
status = "okay";
};
&tlmm {
accel_int_default: accel-int-default-state {
pins = "gpio1";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-disable;
};
disp_vddio_default: disp-vddio-default-state {
pins = "gpio34";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-high;
};
mag_int_default: mag-int-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-disable;
};
mag_reset_default: mag-reset-default-state {
pins = "gpio62";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-high;
};
reg_lcd_default: reg-lcd-default-state {
pins = "gpio31", "gpio33";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-high;
};
temp_alert_default: temp-alert-default-state {
pins = "gpio13";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-disable;
};
};
&usb {
extcon = <&smbb>;
dr_mode = "peripheral";

View File

@ -129,7 +129,6 @@ msmgpio: pinctrl@800000 {
gcc: clock-controller@900000 {
compatible = "qcom,gcc-msm8960";
#clock-cells = <1>;
#power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x900000 0x4000>;
clocks = <&cxo_board>,

View File

@ -182,7 +182,7 @@ &blsp2_i2c5 {
status = "okay";
clock-frequency = <355000>;
led-controller@38 {
backlight: led-controller@38 {
compatible = "ti,lm3630a";
status = "okay";
reg = <0x38>;
@ -272,6 +272,8 @@ panel: panel@0 {
reg = <0>;
compatible = "lg,acx467akm-7";
backlight = <&backlight>;
pinctrl-names = "default";
pinctrl-0 = <&panel_pin>;
@ -328,7 +330,7 @@ wlan_regulator_pin: wl-reg-active-state {
power-source = <PM8941_GPIO_S3>;
};
otg {
otg-hog {
gpio-hog;
gpios = <35 GPIO_ACTIVE_HIGH>;
output-high;

View File

@ -0,0 +1,401 @@
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974.dtsi"
#include "pm8841.dtsi"
#include "pm8941.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
/ {
model = "Samsung Galaxy Note 3";
compatible = "samsung,hlte", "qcom,msm8974";
chassis-type = "handset";
aliases {
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
mmc1 = &sdhc_3; /* SDC3 SD card slot */
serial0 = &blsp1_uart1;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_pin_a>;
pinctrl-names = "default";
key-home {
label = "Home Key";
gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOMEPAGE>;
wakeup-source;
debounce-interval = <15>;
};
key-volume-down {
label = "Volume Down";
gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
debounce-interval = <15>;
};
key-volume-up {
label = "Volume Up";
gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <15>;
};
};
touch_ldo: regulator-touch {
compatible = "regulator-fixed";
regulator-name = "touch-ldo";
gpio = <&pm8941_gpios 9 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
pinctrl-0 = <&touch_ldo_pin>;
pinctrl-names = "default";
};
};
&blsp1_i2c2 {
status = "okay";
touchscreen@20 {
compatible = "syna,rmi4-i2c";
reg = <0x20>;
interrupt-parent = <&pm8941_gpios>;
interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8941_l10>;
vio-supply = <&touch_ldo>;
pinctrl-0 = <&touch_pin>;
pinctrl-names = "default";
syna,startup-delay-ms = <100>;
#address-cells = <1>;
#size-cells = <0>;
rmi4-f01@1 {
reg = <0x1>;
syna,nosleep-mode = <1>;
};
rmi4-f12@12 {
reg = <0x12>;
syna,sensor-type = <1>;
};
};
};
&blsp2_i2c6 {
status = "okay";
fuelgauge@36 {
compatible = "maxim,max17048";
reg = <0x36>;
maxim,double-soc;
maxim,rcomp = /bits/ 8 <0x56>;
interrupt-parent = <&pm8941_gpios>;
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&fuelgauge_pin>;
pinctrl-names = "default";
};
};
&blsp1_uart2 {
status = "okay";
};
&pm8941_gpios {
gpio_keys_pin_a: gpio-keys-active-state {
pins = "gpio2", "gpio3", "gpio5";
function = "normal";
bias-pull-up;
power-source = <PM8941_GPIO_S3>;
};
fuelgauge_pin: fuelgauge-int-state {
pins = "gpio26";
function = "normal";
bias-disable;
input-enable;
power-source = <PM8941_GPIO_S3>;
};
touch_pin: touchscreen-int-state {
pins = "gpio30";
function = "normal";
bias-disable;
input-enable;
power-source = <PM8941_GPIO_S3>;
};
touch_ldo_pin: touchscreen-ldo-state {
pins = "gpio9";
function = "normal";
output-high;
power-source = <PM8941_GPIO_S3>;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
};
};
&remoteproc_adsp {
cx-supply = <&pm8841_s2>;
status = "okay";
};
&remoteproc_mss {
cx-supply = <&pm8841_s2>;
mss-supply = <&pm8841_s3>;
mx-supply = <&pm8841_s1>;
pll-supply = <&pm8941_l12>;
status = "okay";
};
&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm8841-regulators";
pm8841_s1: s1 {
regulator-min-microvolt = <675000>;
regulator-max-microvolt = <1050000>;
};
pm8841_s2: s2 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
};
pm8841_s3: s3 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
pm8841_s4: s4 {
regulator-min-microvolt = <815000>;
regulator-max-microvolt = <900000>;
};
};
regulators-1 {
compatible = "qcom,rpm-pm8941-regulators";
pm8941_s1: s1 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
};
pm8941_s2: s2 {
regulator-min-microvolt = <2150000>;
regulator-max-microvolt = <2150000>;
};
pm8941_s3: s3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l1: l1 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8941_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8941_l3: l3 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1225000>;
};
pm8941_l4: l4 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
pm8941_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l8: l8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l9: l9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8941_l10: l10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l11: l11 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1350000>;
};
pm8941_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
pm8941_l13: l13 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8941_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l15: l15 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8941_l16: l16 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
pm8941_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3000000>;
};
pm8941_l18: l18 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8941_l19: l19 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <3350000>;
};
pm8941_l20: l20 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
pm8941_l21: l21 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
pm8941_l22: l22 {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3000000>;
};
pm8941_l23: l23 {
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3300000>;
};
pm8941_l24: l24 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
};
};
&sdhc_1 {
vmmc-supply = <&pm8941_l20>;
vqmmc-supply = <&pm8941_s3>;
pinctrl-0 = <&sdhc1_pin_a>;
pinctrl-names = "default";
status = "okay";
};
&sdhc_3 {
max-frequency = <100000000>;
vmmc-supply = <&pm8941_l21>;
vqmmc-supply = <&pm8941_l21>;
pinctrl-0 = <&sdhc3_pin_a>;
pinctrl-names = "default";
status = "okay";
};
&tlmm {
sdhc1_pin_a: sdhc1-pin-active-state {
clk-pins {
pins = "sdc1_clk";
drive-strength = <4>;
bias-disable;
};
cmd-data-pins {
pins = "sdc1_cmd", "sdc1_data";
drive-strength = <4>;
bias-pull-up;
};
};
sdhc3_pin_a: sdhc3-pin-active-state {
pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
function = "sdc3";
drive-strength = <8>;
bias-disable;
};
};
&usb {
phys = <&usb_hs1_phy>;
phy-select = <&tcsr 0xb000 0>;
hnp-disable;
srp-disable;
adp-disable;
status = "okay";
};
&usb_hs1_phy {
v1p8-supply = <&pm8941_l6>;
v3p3-supply = <&pm8941_l24>;
qcom,init-seq = /bits/ 8 <0x1 0x64>;
status = "okay";
};

View File

@ -132,7 +132,7 @@ master-stats {
smd-edge {
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 0>;
mboxes = <&apcs 0>;
qcom,smd-edge = <15>;
rpm_requests: rpm-requests {
@ -219,7 +219,7 @@ smp2p-adsp {
interrupt-parent = <&intc>;
interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 10>;
mboxes = <&apcs 10>;
qcom,local-pid = <0>;
qcom,remote-pid = <2>;
@ -244,7 +244,7 @@ smp2p-modem {
interrupt-parent = <&intc>;
interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 14>;
mboxes = <&apcs 14>;
qcom,local-pid = <0>;
qcom,remote-pid = <1>;
@ -269,7 +269,7 @@ smp2p-wcnss {
interrupt-parent = <&intc>;
interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 18>;
mboxes = <&apcs 18>;
qcom,local-pid = <0>;
qcom,remote-pid = <4>;
@ -294,9 +294,7 @@ smsm {
#address-cells = <1>;
#size-cells = <0>;
qcom,ipc-1 = <&apcs 8 13>;
qcom,ipc-2 = <&apcs 8 9>;
qcom,ipc-3 = <&apcs 8 19>;
mboxes = <0>, <&apcs 13>, <&apcs 9>, <&apcs 19>;
apps_smsm: apps@0 {
reg = <0>;
@ -343,9 +341,11 @@ intc: interrupt-controller@f9000000 {
<0xf9002000 0x1000>;
};
apcs: syscon@f9011000 {
compatible = "syscon";
apcs: mailbox@f9011000 {
compatible = "qcom,msm8974-apcs-kpss-global",
"qcom,msm8994-apcs-kpss-global", "syscon";
reg = <0xf9011000 0x1000>;
#mbox-cells = <1>;
};
saw_l2: power-manager@f9012000 {
@ -757,7 +757,7 @@ iris {
smd-edge {
interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 17>;
mboxes = <&apcs 17>;
qcom,smd-edge = <6>;
wcnss {
@ -1233,7 +1233,7 @@ restart@fc4ab000 {
reg = <0xfc4ab000 0x4>;
};
qfprom: qfprom@fc4bc000 {
qfprom: efuse@fc4bc000 {
compatible = "qcom,msm8974-qfprom", "qcom,qfprom";
reg = <0xfc4bc000 0x2100>;
#address-cells = <1>;
@ -1576,7 +1576,7 @@ bam_dmux: bam-dmux {
smd-edge {
interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 12>;
mboxes = <&apcs 12>;
qcom,smd-edge = <0>;
label = "modem";
@ -2129,7 +2129,7 @@ cci_i2c1: i2c-bus@1 {
};
};
gpu: adreno@fdb00000 {
gpu: gpu@fdb00000 {
compatible = "qcom,adreno-330.1", "qcom,adreno";
reg = <0xfdb00000 0x10000>;
reg-names = "kgsl_3d0_reg_memory";
@ -2213,7 +2213,7 @@ remoteproc_adsp: remoteproc@fe200000 {
smd-edge {
interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
qcom,ipc = <&apcs 8 8>;
mboxes = <&apcs 8>;
qcom,smd-edge = <1>;
label = "lpass";
};

View File

@ -0,0 +1,353 @@
// SPDX-License-Identifier: GPL-2.0-only
#include "qcom-msm8974pro.dtsi"
#include "pm8841.dtsi"
#include "pm8941.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "HTC One (M8)";
compatible = "htc,m8", "qcom,msm8974pro", "qcom,msm8974";
chassis-type = "handset";
aliases {
mmc0 = &sdhc_1;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default>;
pinctrl-names = "default";
key-volume-down {
label = "volume_down";
gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
debounce-interval = <20>;
wakeup-source;
};
key-volume-up {
label = "volume_up";
gpios = <&tlmm 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <20>;
wakeup-source;
};
};
vreg_boost: vreg-boost {
compatible = "regulator-fixed";
regulator-name = "vreg-boost";
regulator-min-microvolt = <3150000>;
regulator-max-microvolt = <3150000>;
regulator-always-on;
regulator-boot-on;
gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&boost_bypass_n_pin>;
pinctrl-names = "default";
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
&pm8941_vib {
status = "okay";
};
&pronto {
vddmx-supply = <&pm8841_s1>;
vddcx-supply = <&pm8841_s2>;
vddpx-supply = <&pm8941_s3>;
pinctrl-0 = <&wcnss_pin_a>;
pinctrl-names = "default";
status = "okay";
iris {
vddxo-supply = <&pm8941_l6>;
vddrfa-supply = <&pm8941_l11>;
vddpa-supply = <&pm8941_l19>;
vdddig-supply = <&pm8941_s3>;
};
smd-edge {
qcom,remote-pid = <4>;
label = "pronto";
wcnss {
status = "okay";
};
};
};
&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm8841-regulators";
pm8841_s1: s1 {
regulator-min-microvolt = <675000>;
regulator-max-microvolt = <1050000>;
};
pm8841_s2: s2 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
};
pm8841_s3: s3 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
pm8841_s4: s4 {
regulator-min-microvolt = <815000>;
regulator-max-microvolt = <900000>;
};
};
regulators-1 {
compatible = "qcom,rpm-pm8941-regulators";
vdd_l1_l3-supply = <&pm8941_s1>;
vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
vdd_l4_l11-supply = <&pm8941_s1>;
vdd_l5_l7-supply = <&pm8941_s2>;
vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>;
vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
vdd_l21-supply = <&vreg_boost>;
pm8941_s1: s1 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
pm8941_s2: s2 {
regulator-min-microvolt = <2150000>;
regulator-max-microvolt = <2150000>;
regulator-boot-on;
};
pm8941_s3: s3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
pm8941_l1: l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
regulator-always-on;
regulator-boot-on;
};
pm8941_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8941_l3: l3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8941_l4: l4 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
pm8941_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
};
pm8941_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
};
pm8941_l8: l8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l9: l9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8941_l10: l10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8941_l11: l11 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1350000>;
};
pm8941_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
pm8941_l13: l13 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-boot-on;
};
pm8941_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8941_l15: l15 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8941_l16: l16 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
pm8941_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8941_l18: l18 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8941_l19: l19 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <3350000>;
};
pm8941_l20: l20 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
regulator-boot-on;
};
pm8941_l21: l21 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-boot-on;
};
pm8941_l22: l22 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8941_l23: l23 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
pm8941_l24: l24 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
regulator-boot-on;
};
};
};
&sdhc_1 {
vmmc-supply = <&pm8941_l20>;
vqmmc-supply = <&pm8941_s3>;
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
pinctrl-names = "default", "sleep";
status = "okay";
};
&smbb {
status = "okay";
};
&tlmm {
gpio_keys_default: gpio-keys-default-state {
pins = "gpio27", "gpio28";
function = "gpio";
bias-pull-up;
};
sdc1_on: sdc1-on-state {
clk-pins {
pins = "sdc1_clk";
drive-strength = <10>;
bias-disable;
};
cmd-data-pins {
pins = "sdc1_cmd", "sdc1_data";
drive-strength = <10>;
bias-pull-up;
};
};
wcnss_pin_a: wcnss-pin-active-state {
pins = "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
function = "wlan";
drive-strength = <6>;
bias-pull-down;
};
};
&usb {
phys = <&usb_hs1_phy>;
phy-select = <&tcsr 0xb000 0>;
extcon = <&smbb>, <&usb_id>;
vbus-supply = <&chg_otg>;
hnp-disable;
srp-disable;
adp-disable;
status = "okay";
};
&usb_hs1_phy {
v1p8-supply = <&pm8941_l6>;
v3p3-supply = <&pm8941_l24>;
extcon = <&smbb>;
qcom,init-seq = /bits/ 8 <0x1 0x63>;
status = "okay";
};

View File

@ -0,0 +1,44 @@
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro-sony-xperia-shinano-common.dtsi"
/ {
model = "Sony Xperia Z3 Compact";
compatible = "sony,xperia-aries", "qcom,msm8974pro", "qcom,msm8974";
chassis-type = "handset";
gpio-keys {
key-camera-snapshot {
label = "camera_snapshot";
gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_CAMERA>;
debounce-interval = <15>;
};
key-camera-focus {
label = "camera_focus";
gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
linux,code = <KEY_CAMERA_FOCUS>;
debounce-interval = <15>;
};
};
};
&gpio_keys_pin_a {
pins = "gpio2", "gpio3", "gpio4", "gpio5";
};
&smbb {
usb-charge-current-limit = <1500000>;
qcom,fast-charge-safe-current = <2100000>;
qcom,fast-charge-current-limit = <1800000>;
qcom,fast-charge-safe-voltage = <4400000>;
qcom,fast-charge-high-threshold-voltage = <4350000>;
qcom,auto-recharge-threshold-voltage = <4280000>;
qcom,minimum-input-voltage = <4200000>;
status = "okay";
};
&synaptics_touchscreen {
vio-supply = <&pm8941_s3>;
};

View File

@ -380,6 +380,8 @@ pm8941_l20: l20 {
pm8941_l21: l21 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <500000>;
regulator-allow-set-load;
regulator-boot-on;
};