Commit 73ec2720 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'qcom-arm32-for-6.8' of...

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

Qualcomm ARM32 DeviceTree updates for v6.8

Support is added for HTC One Mini 2, Nokia Lumia 630, Microsoft Lumia
640, Microsoft Lumia 640 XL, Nokia Lumia 735, Nokia Lumia 830, and
Motorola Moto G 4G, all built on the MSM8226 platform.

The GPU in MSM8226 is described, and MSM8974 gains watchdog support.

The PMICs are transitioned to use interrupts-extended to properly
reference the PMIC interrupt controller, in accordance with the
DeviceTree specification.

In addition to this, a variety of stylistic and DeviceTree validation
issues are corrected.

* tag 'qcom-arm32-for-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (60 commits)
  ARM: dts: qcom: msm8974*: Re-enable remoteprocs on various boards
  ARM: dts: qcom: msm8974: Remove bogus cd-gpio pinctrl
  ARM: dts: qcom: msm8974-klte: Remove unused property
  ARM: dts: qcom: msm8926-motorola-peregrine: Add initial device tree
  ARM: dts: qcom: ipq4019: add dedicated SDHCI compatible
  ARM: dts: qcom: Use "pcie" as the node name instead of "pci"
  ARM: dts: qcom: msm8226: Add GPU
  ARM: dts: qcom: Disable pm8941 & pm8226 smbb charger by default
  ARM: dts: qcom: minor whitespace cleanup around '='
  ARM: dts: qcom: sdx55: fix USB wakeup interrupt types
  ARM: dts: qcom: Add support for HTC One Mini 2
  ARM: dts: qcom: msm8974: Add watchdog node
  ARM: dts: qcom: sdx65: correct SPMI node name
  ARM: dts: qcom: sdx65: add missing GCC clocks
  ARM: dts: qcom: sdx65: correct PCIe EP phy-names
  ARM: dts: qcom: mdm9615: drop qcom, prefix from SSBI node name
  ARM: dts: qcom: ipq8064: drop qcom, prefix from SSBI node name
  ARM: dts: qcom: apq8060-dragonboard: rename mpp ADC channels to adc-channel
  ARM: dts: qcom: pm8921: Disable keypad by default
  ARM: dts: qcom: msm8974: move regulators to board files
  ...

Link: https://lore.kernel.org/r/20231219042914.732684-1-andersson@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 7af9a9f5 648002a2
......@@ -23,12 +23,19 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-ipq4019-ap.dk07.1-c2.dtb \
qcom-ipq8064-ap148.dtb \
qcom-ipq8064-rb3011.dtb \
qcom-msm8226-microsoft-dempsey.dtb \
qcom-msm8226-microsoft-makepeace.dtb \
qcom-msm8226-microsoft-moneypenny.dtb \
qcom-msm8226-samsung-s3ve3g.dtb \
qcom-msm8660-surf.dtb \
qcom-msm8916-samsung-e5.dtb \
qcom-msm8916-samsung-e7.dtb \
qcom-msm8916-samsung-grandmax.dtb \
qcom-msm8916-samsung-serranove.dtb \
qcom-msm8926-htc-memul.dtb \
qcom-msm8926-microsoft-superman-lte.dtb \
qcom-msm8926-microsoft-tesla.dtb \
qcom-msm8926-motorola-peregrine.dtb \
qcom-msm8960-cdp.dtb \
qcom-msm8960-samsung-expressatt.dtb \
qcom-msm8974-lge-nexus5-hammerhead.dtb \
......
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* Device Tree Source for Qualcomm PM8018
*
* Copyright (C) 2016 BayLibre, SAS.
* Author : Neil Armstrong <narmstrong@baylibre.com>
*/
&ssbi {
pm8018: pmic {
compatible = "qcom,pm8018", "qcom,pm8921";
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pwrkey@1c {
compatible = "qcom,pm8018-pwrkey",
"qcom,pm8921-pwrkey";
reg = <0x1c>;
interrupts-extended = <&pm8018 50 IRQ_TYPE_EDGE_RISING>,
<&pm8018 51 IRQ_TYPE_EDGE_RISING>;
debounce = <15625>;
pull-up;
};
pm8018_mpps: mpps@50 {
compatible = "qcom,pm8018-mpp", "qcom,ssbi-mpp";
reg = <0x50>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8018_mpps 0 0 6>;
};
rtc@11d {
compatible = "qcom,pm8018-rtc", "qcom,pm8921-rtc";
reg = <0x11d>;
interrupts-extended = <&pm8018 39 IRQ_TYPE_EDGE_RISING>;
allow-set-time;
};
pm8018_gpio: gpio@150 {
compatible = "qcom,pm8058-gpio",
"qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
gpio-ranges = <&pm8018_gpio 0 0 6>;
#gpio-cells = <2>;
};
};
};
// SPDX-License-Identifier: GPL-2.0
&ssbi {
pm8058: pmic {
compatible = "qcom,pm8058";
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pwrkey@1c {
compatible = "qcom,pm8058-pwrkey";
reg = <0x1c>;
interrupts-extended = <&pm8058 50 IRQ_TYPE_EDGE_RISING>,
<&pm8058 51 IRQ_TYPE_EDGE_RISING>;
debounce = <15625>;
pull-up;
};
pm8058_led48: led@48 {
compatible = "qcom,pm8058-keypad-led";
reg = <0x48>;
status = "disabled";
};
vibrator@4a {
compatible = "qcom,pm8058-vib";
reg = <0x4a>;
};
pm8058_mpps: mpps@50 {
compatible = "qcom,pm8058-mpp",
"qcom,ssbi-mpp";
reg = <0x50>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8058_mpps 0 0 12>;
interrupt-controller;
#interrupt-cells = <2>;
};
pm8058_led131: led@131 {
compatible = "qcom,pm8058-led";
reg = <0x131>;
status = "disabled";
};
pm8058_led132: led@132 {
compatible = "qcom,pm8058-led";
reg = <0x132>;
status = "disabled";
};
pm8058_led133: led@133 {
compatible = "qcom,pm8058-led";
reg = <0x133>;
status = "disabled";
};
pm8058_keypad: keypad@148 {
compatible = "qcom,pm8058-keypad";
reg = <0x148>;
interrupts-extended = <&pm8058 74 IRQ_TYPE_EDGE_RISING>,
<&pm8058 75 IRQ_TYPE_EDGE_RISING>;
debounce = <15>;
scan-delay = <32>;
row-hold = <91500>;
};
pm8058_gpio: gpio@150 {
compatible = "qcom,pm8058-gpio",
"qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
gpio-ranges = <&pm8058_gpio 0 0 44>;
#gpio-cells = <2>;
};
pm8058_xoadc: xoadc@197 {
compatible = "qcom,pm8058-adc";
reg = <0x197>;
interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>;
#address-cells = <2>;
#size-cells = <0>;
#io-channel-cells = <2>;
vcoin: adc-channel@0 {
reg = <0x00 0x00>;
};
vbat: adc-channel@1 {
reg = <0x00 0x01>;
};
dcin: adc-channel@2 {
reg = <0x00 0x02>;
};
ichg: adc-channel@3 {
reg = <0x00 0x03>;
};
vph_pwr: adc-channel@4 {
reg = <0x00 0x04>;
};
usb_vbus: adc-channel@a {
reg = <0x00 0x0a>;
};
die_temp: adc-channel@b {
reg = <0x00 0x0b>;
};
ref_625mv: adc-channel@c {
reg = <0x00 0x0c>;
};
ref_1250mv: adc-channel@d {
reg = <0x00 0x0d>;
};
ref_325mv: adc-channel@e {
reg = <0x00 0x0e>;
};
ref_muxoff: adc-channel@f {
reg = <0x00 0x0f>;
};
};
rtc@1e8 {
compatible = "qcom,pm8058-rtc";
reg = <0x1e8>;
interrupts-extended = <&pm8058 39 IRQ_TYPE_EDGE_RISING>;
allow-set-time;
};
};
};
/ {
/*
* These channels from the ADC are simply hardware monitors.
* That is why the ADC is referred to as "HKADC" - HouseKeeping
* ADC.
*/
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&pm8058_xoadc 0x00 0x01>, /* Battery */
<&pm8058_xoadc 0x00 0x02>, /* DC in (charger) */
<&pm8058_xoadc 0x00 0x04>, /* VPH the main system voltage */
<&pm8058_xoadc 0x00 0x0b>, /* Die temperature */
<&pm8058_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
<&pm8058_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
<&pm8058_xoadc 0x00 0x0e>; /* Reference voltage 0.325V */
};
};
......@@ -82,6 +82,8 @@ smbb: charger@1000 {
"usb-valid",
"dc-valid";
status = "disabled";
chg_otg: otg-vbus { };
};
......
// SPDX-License-Identifier: GPL-2.0
/* This PMIC is used on a secondary SSBI bus */
&ssbi2 {
pm8821: pmic {
compatible = "qcom,pm8821";
interrupt-controller;
#interrupt-cells = <2>;
#address-cells = <1>;
#size-cells = <0>;
pm8821_mpps: mpps@50 {
compatible = "qcom,pm8821-mpp", "qcom,ssbi-mpp";
reg = <0x50>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8821_mpps 0 0 4>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
};
// SPDX-License-Identifier: GPL-2.0
&ssbi {
pm8921: pmic {
compatible = "qcom,pm8921";
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pwrkey@1c {
compatible = "qcom,pm8921-pwrkey";
reg = <0x1c>;
interrupts-extended = <&pm8921 50 IRQ_TYPE_EDGE_RISING>,
<&pm8921 51 IRQ_TYPE_EDGE_RISING>;
debounce = <15625>;
pull-up;
};
pm8921_mpps: mpps@50 {
compatible = "qcom,pm8921-mpp",
"qcom,ssbi-mpp";
reg = <0x50>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8921_mpps 0 0 12>;
interrupt-controller;
#interrupt-cells = <2>;
};
rtc@11d {
compatible = "qcom,pm8921-rtc";
reg = <0x11d>;
interrupts-extended = <&pm8921 39 IRQ_TYPE_EDGE_RISING>;
allow-set-time;
};
pm8921_keypad: keypad@148 {
compatible = "qcom,pm8921-keypad";
reg = <0x148>;
interrupts-extended = <&pm8921 74 IRQ_TYPE_EDGE_RISING>,
<&pm8921 75 IRQ_TYPE_EDGE_RISING>;
debounce = <15>;
scan-delay = <32>;
row-hold = <91500>;
status = "disabled";
};
pm8921_gpio: gpio@150 {
compatible = "qcom,pm8921-gpio",
"qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
gpio-ranges = <&pm8921_gpio 0 0 44>;
#gpio-cells = <2>;
};
pm8921_xoadc: xoadc@197 {
compatible = "qcom,pm8921-adc";
reg = <0x197>;
interrupts-extended = <&pm8921 78 IRQ_TYPE_EDGE_RISING>;
#address-cells = <2>;
#size-cells = <0>;
#io-channel-cells = <2>;
vcoin: adc-channel@0 {
reg = <0x00 0x00>;
};
vbat: adc-channel@1 {
reg = <0x00 0x01>;
};
dcin: adc-channel@2 {
reg = <0x00 0x02>;
};
vph_pwr: adc-channel@4 {
reg = <0x00 0x04>;
};
batt_therm: adc-channel@8 {
reg = <0x00 0x08>;
};
batt_id: adc-channel@9 {
reg = <0x00 0x09>;
};
usb_vbus: adc-channel@a {
reg = <0x00 0x0a>;
};
die_temp: adc-channel@b {
reg = <0x00 0x0b>;
};
ref_625mv: adc-channel@c {
reg = <0x00 0x0c>;
};
ref_1250mv: adc-channel@d {
reg = <0x00 0x0d>;
};
chg_temp: adc-channel@e {
reg = <0x00 0x0e>;
};
ref_muxoff: adc-channel@f {
reg = <0x00 0x0f>;
};
};
};
};
/ {
/*
* These channels from the ADC are simply hardware monitors.
* That is why the ADC is referred to as "HKADC" - HouseKeeping
* ADC.
*/
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&pm8921_xoadc 0x00 0x01>, /* Battery */
<&pm8921_xoadc 0x00 0x02>, /* DC in (charger) */
<&pm8921_xoadc 0x00 0x04>, /* VPH the main system voltage */
<&pm8921_xoadc 0x00 0x0b>, /* Die temperature */
<&pm8921_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
<&pm8921_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
<&pm8921_xoadc 0x00 0x0e>; /* Charger temperature */
};
};
......@@ -99,6 +99,8 @@ smbb: charger@1000 {
usb-otg-in-supply = <&pm8941_5vs1>;
status = "disabled";
chg_otg: otg-vbus { };
};
......
......@@ -6,7 +6,7 @@
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "qcom-pm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &adsp_region;
......@@ -253,6 +253,8 @@ &smbb {
qcom,fast-charge-high-threshold-voltage = <4400000>;
qcom,auto-recharge-threshold-voltage = <4300000>;
qcom,minimum-input-voltage = <4400000>;
status = "okay";
};
&tlmm {
......
......@@ -6,7 +6,7 @@
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "qcom-pm8226.dtsi"
#include "pm8226.dtsi"
#include <dt-bindings/input/ti-drv260x.h>
/delete-node/ &adsp_region;
......@@ -335,6 +335,8 @@ &smbb {
qcom,fast-charge-current-limit = <300000>;
qcom,fast-charge-safe-current = <600000>;
qcom,auto-recharge-threshold-voltage = <4240000>;
status = "okay";
};
&tlmm {
......
......@@ -6,7 +6,7 @@
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "qcom-pm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &adsp_region;
......@@ -292,6 +292,8 @@ &smbb {
qcom,fast-charge-high-threshold-voltage = <4350000>;
qcom,auto-recharge-threshold-voltage = <4240000>;
qcom,minimum-input-voltage = <4450000>;
status = "okay";
};
&tlmm {
......
......@@ -7,7 +7,7 @@
#include <dt-bindings/input/input.h>
#include "qcom-msm8226.dtsi"
#include "qcom-pm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &adsp_region;
/delete-node/ &smem_region;
......
......@@ -5,6 +5,7 @@
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
#include "qcom-msm8660.dtsi"
#include "pm8058.dtsi"
/ {
model = "Qualcomm APQ8060 Dragonboard";
......@@ -71,7 +72,7 @@ cm3605 {
/* Trig on both edges - getting close or far away */
interrupts-extended = <&pm8058_gpio 34 IRQ_TYPE_EDGE_BOTH>;
/* MPP05 analog input to the XOADC */
io-channels = <&xoadc 0x00 0x05>;
io-channels = <&pm8058_xoadc 0x00 0x05>;
io-channel-names = "aout";
pinctrl-names = "default";
pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
......@@ -272,6 +273,10 @@ kxsd9@18 {
};
};
&pm8058 {
interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>;
};
&pm8058_gpio {
dragon_ethernet_gpios: ethernet-state {
pinconf {
......@@ -447,6 +452,8 @@ &rpm {
* that means
*/
regulators-0 {
compatible = "qcom,rpm-pm8901-regulators";
vdd_l0-supply = <&pm8901_s4>;
vdd_l1-supply = <&vph>;
vdd_l2-supply = <&vph>;
......@@ -464,57 +471,63 @@ regulators-0 {
lvs3_in-supply = <&pm8058_s2>;
mvs_in-supply = <&pm8058_s3>;
l0 {
pm8901_l0: l0 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l1 {
pm8901_l1: l1 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
l2 {
pm8901_l2: l2 {
/* TMA340 requires strictly 3.3V */
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
l3 {
pm8901_l3: l3 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
l4 {
pm8901_l4: l4 {
regulator-min-microvolt = <2600000>;
regulator-max-microvolt = <2600000>;
bias-pull-down;
};
l5 {
pm8901_l5: l5 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
l6 {
pm8901_l6: l6 {
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
bias-pull-down;
};
/* s0 and s1 are SAW regulators controlled over SPM */
s2 {
pm8901_s2: s2 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
s3 {
pm8901_s3: s3 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
s4 {
pm8901_s4: s4 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
qcom,switch-mode-frequency = <1600000>;
......@@ -522,17 +535,22 @@ s4 {
};
/* LVS0 thru 3 and mvs are just switches */
lvs0 {
pm8901_lvs0: lvs0 {
regulator-always-on;
};
lvs1 { };
lvs2 { };
lvs3 { };
mvs { };
pm8901_lvs1: lvs1 { };
pm8901_lvs2: lvs2 { };
pm8901_lvs3: lvs3 { };
pm8901_mvs: mvs { };
};
regulators-1 {
compatible = "qcom,rpm-pm8058-regulators";
vdd_l0_l1_lvs-supply = <&pm8058_s3>;
vdd_l2_l11_l12-supply = <&vph>;
vdd_l3_l4_l5-supply = <&vph>;
......@@ -554,144 +572,169 @@ regulators-1 {
vdd_s4-supply = <&vph>;
vdd_ncp-supply = <&vph>;
l0 {
pm8058_l0: l0 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l1 {
pm8058_l1: l1 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l2 {
pm8058_l2: l2 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2600000>;
bias-pull-down;
};
l3 {
pm8058_l3: l3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l4 {
pm8058_l4: l4 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
l5 {
pm8058_l5: l5 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
l6 {
pm8058_l6: l6 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3600000>;
bias-pull-down;
};
l7 {
pm8058_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l8 {
pm8058_l8: l8 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <3050000>;
bias-pull-down;
};
l9 {
pm8058_l9: l9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l10 {
pm8058_l10: l10 {
regulator-min-microvolt = <2600000>;
regulator-max-microvolt = <2600000>;
bias-pull-down;
};
l11 {
pm8058_l11: l11 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
bias-pull-down;
};
l12 {
pm8058_l12: l12 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
bias-pull-down;
};
l13 {
pm8058_l13: l13 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
bias-pull-down;
};
l14 {
pm8058_l14: l14 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
l15 {
pm8058_l15: l15 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
l16 {
pm8058_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
regulator-always-on;
};
l17 {
pm8058_l17: l17 {
// 1.5V according to schematic
regulator-min-microvolt = <2600000>;
regulator-max-microvolt = <2600000>;
bias-pull-down;
};
l18 {
pm8058_l18: l18 {
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
bias-pull-down;
};
l19 {
pm8058_l19: l19 {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
bias-pull-down;
};
l20 {
pm8058_l20: l20 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l21 {
pm8058_l21: l21 {
// 1.1 V according to schematic
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
regulator-always-on;
};
l22 {
pm8058_l22: l22 {
// 1.2 V according to schematic
regulator-min-microvolt = <1150000>;
regulator-max-microvolt = <1150000>;
bias-pull-down;
};
l23 {
pm8058_l23: l23 {
// Unused
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l24 {
pm8058_l24: l24 {
// Unused
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l25 {
pm8058_l25: l25 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
s0 {
pm8058_s0: s0 {
// regulator-min-microvolt = <500000>;
// regulator-max-microvolt = <1325000>;
regulator-min-microvolt = <1100000>;
......@@ -699,7 +742,8 @@ s0 {
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
s1 {
pm8058_s1: s1 {
// regulator-min-microvolt = <500000>;
// regulator-max-microvolt = <1250000>;
regulator-min-microvolt = <1100000>;
......@@ -707,21 +751,24 @@ s1 {
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
s2 {
pm8058_s2: s2 {
// 1.3 V according to schematic
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1400000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
s3 {
pm8058_s3: s3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
regulator-always-on;
bias-pull-down;
};
s4 {
pm8058_s4: s4 {
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
qcom,switch-mode-frequency = <1600000>;
......@@ -730,14 +777,15 @@ s4 {
};
/* LVS0 and LVS1 are just switches */
lvs0 {
pm8058_lvs0: lvs0 {
bias-pull-down;
};
lvs1 {
pm8058_lvs1: lvs1 {
bias-pull-down;
};
ncp {
pm8058_ncp: ncp {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
......@@ -944,28 +992,32 @@ irq-pins {
};
};
&xoadc {
&pm8058_xoadc {
/* Reference voltage 2.2 V */
xoadc-ref-supply = <&pm8058_l18>;
/* Board-specific channels */
mpp5@5 {
adc-channel@5 {
/* Connected to AOUT of ALS sensor */
reg = <0x00 0x05>;
};
mpp6@6 {
adc-channel@6 {
/* Connected to test point TP43 */
reg = <0x00 0x06>;
};
mpp7@7 {
adc-channel@7 {
/* Connected to battery thermistor */
reg = <0x00 0x07>;
};
mpp8@8 {
adc-channel@8 {
/* Connected to battery ID detector */
reg = <0x00 0x08>;
};
mpp9@9 {
adc-channel@9 {
/* Connected to XO thermistor */
reg = <0x00 0x09>;
};
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8064-v2.0.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "qcom-apq8064-v2.0.dtsi"
#include "pm8821.dtsi"
#include "pm8921.dtsi"
/ {
model = "Asus Nexus7(flo)";
compatible = "asus,nexus7-flo", "qcom,apq8064";
......@@ -180,24 +184,26 @@ &mdp {
status = "okay";
};
/* eMMC */
&sdcc1 {
vmmc-supply = <&pm8921_l5>;
vqmmc-supply = <&pm8921_s4>;
status = "okay";
};
&mdp_dsi1_out {
remote-endpoint = <&dsi0_in>;
};
&pm8821 {
interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921 {
interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>;
};
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
vin_lvs1_3_6-supply = <&pm8921_s4>;
vin_lvs4_5_7-supply = <&pm8921_s4>;
vdd_l24-supply = <&pm8921_s1>;
vdd_l25-supply = <&pm8921_s1>;
vin_lvs2-supply = <&pm8921_s1>;
......@@ -209,7 +215,7 @@ regulators {
vdd_ncp-supply = <&pm8921_l6>;
/* Buck SMPS */
s1 {
pm8921_s1: s1 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
......@@ -218,7 +224,7 @@ s1 {
};
/* msm otg HSUSB_VDDCX */
s3 {
pm8921_s3: s3 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1150000>;
qcom,switch-mode-frequency = <4800000>;
......@@ -231,55 +237,58 @@ s3 {
* tabla2x-slim-CDC_VDD_CP
* tabla2x-slim-VDDIO_CDC
*/
s4 {
pm8921_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <3200000>;
regulator-always-on;
};
s7 {
pm8921_s7: s7 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <3200000>;
};
/* mipi_dsi.1-dsi1_pll_vdda */
l2 {
pm8921_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
/* msm_otg-HSUSB_3p3 */
l3 {
pm8921_l3: l3 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
bias-pull-down;
};
/* msm_otg-HSUSB_1p8 */
l4 {
pm8921_l4: l4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
/* msm_sdcc.1-sdc_vdd */
l5 {
pm8921_l5: l5 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-always-on;
bias-pull-down;
};
l6 {
pm8921_l6: l6 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8921_l8: l8 {
};
/* mipi_dsi.1-dsi1_avdd */
l11 {
pm8921_l11: l11 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
......@@ -287,14 +296,14 @@ l11 {
};
/* pwm_power for backlight */
l17 {
pm8921_l17: l17 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
/* camera, qdsp6 */
l23 {
pm8921_l23: l23 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
......@@ -304,37 +313,44 @@ l23 {
* tabla2x-slim-CDC_VDDA_A_1P2V
* tabla2x-slim-VDDD_CDC_D
*/
l25 {
pm8921_l25: l25 {
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1250000>;
bias-pull-down;
};
lvs1 {
pm8921_lvs1: lvs1 {
bias-pull-down;
};
lvs4 {
pm8921_lvs4: lvs4 {
bias-pull-down;
};
lvs5 {
pm8921_lvs5: lvs5 {
bias-pull-down;
};
lvs6 {
pm8921_lvs6: lvs6 {
bias-pull-down;
};
/*
* mipi_dsi.1-dsi1_vddio
* pil_riva-pll_vdd
*/
lvs7 {
pm8921_lvs7: lvs7 {
bias-pull-down;
};
};
};
/* eMMC */
&sdcc1 {
vmmc-supply = <&pm8921_l5>;
vqmmc-supply = <&pm8921_s4>;
status = "okay";
};
&usb_hs1_phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8064-v2.0.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "qcom-apq8064-v2.0.dtsi"
#include "pm8821.dtsi"
#include "pm8921.dtsi"
/ {
model = "CompuLab CM-QS600";
compatible = "qcom,apq8064-cm-qs600", "qcom,apq8064";
......@@ -69,6 +72,14 @@ &pcie {
status = "okay";
};
&pm8821 {
interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921 {
interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921_gpio {
wlan_default_gpios: wlan-gpios-state {
pinconf {
......@@ -82,6 +93,8 @@ pinconf {
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
vin_lvs1_3_6-supply = <&pm8921_s4>;
vin_lvs2-supply = <&pm8921_s1>;
vin_lvs4_5_7-supply = <&pm8921_s4>;
......@@ -93,9 +106,8 @@ regulators {
vdd_l27-supply = <&pm8921_s7>;
vdd_l28-supply = <&pm8921_s7>;
/* Buck SMPS */
s1 {
pm8921_s1: s1 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
......@@ -103,52 +115,51 @@ s1 {
bias-pull-down;
};
s3 {
pm8921_s3: s3 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>;
qcom,switch-mode-frequency = <4800000>;
};
s4 {
pm8921_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <3200000>;
};
s7 {
pm8921_s7: s7 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <3200000>;
};
l3 {
pm8921_l3: l3 {
regulator-min-microvolt = <3050000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
l4 {
pm8921_l4: l4 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l5 {
pm8921_l5: l5 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
l23 {
pm8921_l23: l23 {
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
bias-pull-down;
};
lvs6 {
pm8921_lvs6: lvs6 {
bias-pull-down;
};
};
};
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8064-v2.0.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "qcom-apq8064-v2.0.dtsi"
#include "pm8821.dtsi"
#include "pm8921.dtsi"
/ {
model = "Qualcomm APQ8064/IFC6410";
compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
......@@ -170,6 +173,14 @@ &pcie {
perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
};
&pm8821 {
interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921 {
interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921_gpio {
wlan_default_gpios: wlan-gpios-state {
pinconf {
......@@ -192,6 +203,8 @@ pinconf {
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
vin_lvs1_3_6-supply = <&pm8921_s4>;
vin_lvs2-supply = <&pm8921_s1>;
vin_lvs4_5_7-supply = <&pm8921_s4>;
......@@ -203,9 +216,8 @@ regulators {
vdd_l27-supply = <&pm8921_s7>;
vdd_l28-supply = <&pm8921_s7>;
/* Buck SMPS */
s1 {
pm8921_s1: s1 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
......@@ -213,59 +225,63 @@ s1 {
bias-pull-down;
};
s3 {
pm8921_s3: s3 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>;
qcom,switch-mode-frequency = <4800000>;
};
s4 {
pm8921_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <3200000>;
};
s7 {
pm8921_s7: s7 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <3200000>;
};
l3 {
pm8921_l3: l3 {
regulator-min-microvolt = <3050000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
l4 {
pm8921_l4: l4 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l5 {
pm8921_l5: l5 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
l6 {
pm8921_l6: l6 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
l23 {
pm8921_l23: l23 {
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
bias-pull-down;
};
lvs1 {
pm8921_lvs1: lvs1 {
bias-pull-down;
};
pm8921_lvs6: lvs6 {
bias-pull-down;
};
lvs6 {
pm8921_hdmi_switch: hdmi-switch {
bias-pull-down;
};
};
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8064-v2.0.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/mfd/qcom-rpm.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "qcom-apq8064-v2.0.dtsi"
#include "pm8821.dtsi"
#include "pm8921.dtsi"
/ {
model = "Sony Xperia Z";
compatible = "sony,xperia-yuga", "qcom,apq8064";
......@@ -65,6 +68,14 @@ &gsbi5_serial {
status = "okay";
};
&pm8821 {
interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921 {
interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921_gpio {
gpio_keys_pin_a: gpio-keys-active-state {
pins = "gpio3", "gpio4", "gpio29", "gpio35";
......@@ -82,11 +93,25 @@ gpio_keys_pin_a: gpio-keys-active-state {
&riva {
pinctrl-names = "default";
pinctrl-0 = <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>;
vddcx-supply = <&pm8921_s3>;
vddmx-supply = <&pm8921_l24>;
vddpx-supply = <&pm8921_s4>;
status = "okay";
iris {
vddxo-supply = <&pm8921_l4>;
vddrfa-supply = <&pm8921_s2>;
vddpa-supply = <&pm8921_l10>;
vdddig-supply = <&pm8921_lvs2>;
};
};
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
vin_l1_l2_l12_l18-supply = <&pm8921_s4>;
vin_lvs_1_3_6-supply = <&pm8921_s4>;
vin_lvs_4_5_7-supply = <&pm8921_s4>;
......@@ -98,7 +123,7 @@ regulators {
vin_l28-supply = <&pm8921_s7>;
/* Buck SMPS */
s1 {
pm8921_s1: s1 {
regulator-always-on;
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
......@@ -106,21 +131,21 @@ s1 {
bias-pull-down;
};
s2 {
pm8921_s2: s2 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
s3 {
pm8921_s3: s3 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1150000>;
qcom,switch-mode-frequency = <4800000>;
bias-pull-down;
};
s4 {
pm8921_s4: s4 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
......@@ -129,205 +154,207 @@ s4 {
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
};
s7 {
pm8921_s7: s7 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <3200000>;
};
s8 {
pm8921_s8: s8 {
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
qcom,switch-mode-frequency = <1600000>;
};
/* PMOS LDO */
l1 {
pm8921_l1: l1 {
regulator-always-on;
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
bias-pull-down;
};
l2 {
pm8921_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l3 {
pm8921_l3: l3 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
bias-pull-down;
};
l4 {
pm8921_l4: l4 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l5 {
pm8921_l5: l5 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
l6 {
pm8921_l6: l6 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
l7 {
pm8921_l7: l7 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
l8 {
pm8921_l8: l8 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
bias-pull-down;
};
l9 {
pm8921_l9: l9 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
l10 {
pm8921_l10: l10 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
bias-pull-down;
};
l11 {
pm8921_l11: l11 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
bias-pull-down;
};
l12 {
pm8921_l12: l12 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l14 {
pm8921_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l15 {
pm8921_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
l16 {
pm8921_l16: l16 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
bias-pull-down;
};
l17 {
pm8921_l17: l17 {
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
bias-pull-down;
};
l18 {
pm8921_l18: l18 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
l21 {
pm8921_l21: l21 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
l22 {
pm8921_l22: l22 {
regulator-min-microvolt = <2600000>;
regulator-max-microvolt = <2600000>;
bias-pull-down;
};
l23 {
pm8921_l23: l23 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
l24 {
pm8921_l24: l24 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1150000>;
bias-pull-down;
};
l25 {
pm8921_l25: l25 {
regulator-always-on;
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1250000>;
bias-pull-down;
};
l27 {
pm8921_l27: l27 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
l28 {
pm8921_l28: l28 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
l29 {
pm8921_l29: l29 {
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
bias-pull-down;
};
/* Low Voltage Switch */
lvs1 {
pm8921_lvs1: lvs1 {
bias-pull-down;
};
lvs2 {
pm8921_lvs2: lvs2 {
bias-pull-down;
};
lvs3 {
pm8921_lvs3: lvs3 {
bias-pull-down;
};
lvs4 {
pm8921_lvs4: lvs4 {
bias-pull-down;
};
lvs5 {
pm8921_lvs5: lvs5 {
bias-pull-down;
};
lvs6 {
pm8921_lvs6: lvs6 {
bias-pull-down;
};
lvs7 {
pm8921_lvs7: lvs7 {
bias-pull-down;
};
usb-switch {};
pm8921_usb_switch: usb-switch {};
hdmi-switch {};
pm8921_hdmi_switch: hdmi-switch {
bias-pull-down;
};
ncp {
pm8921_ncp: ncp {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
......
......@@ -284,23 +284,6 @@ scm {
};
};
/*
* These channels from the ADC are simply hardware monitors.
* That is why the ADC is referred to as "HKADC" - HouseKeeping
* ADC.
*/
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&xoadc 0x00 0x01>, /* Battery */
<&xoadc 0x00 0x02>, /* DC in (charger) */
<&xoadc 0x00 0x04>, /* VPH the main system voltage */
<&xoadc 0x00 0x0b>, /* Die temperature */
<&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
<&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
<&xoadc 0x00 0x0e>; /* Charger temperature */
};
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
......@@ -655,133 +638,16 @@ rng@1a500000 {
clock-names = "core";
};
ssbi@c00000 {
ssbi2: ssbi@c00000 {
compatible = "qcom,ssbi";
reg = <0x00c00000 0x1000>;
qcom,controller-type = "pmic-arbiter";
pm8821: pmic {
compatible = "qcom,pm8821";
interrupt-parent = <&tlmm_pinmux>;
interrupts = <76 IRQ_TYPE_LEVEL_LOW>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pm8821_mpps: mpps@50 {
compatible = "qcom,pm8821-mpp", "qcom,ssbi-mpp";
reg = <0x50>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8821_mpps 0 0 4>;
};
};
};
ssbi@500000 {
ssbi: ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x00500000 0x1000>;
qcom,controller-type = "pmic-arbiter";
pmicintc: pmic {
compatible = "qcom,pm8921";
interrupt-parent = <&tlmm_pinmux>;
interrupts = <74 8>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pm8921_gpio: gpio@150 {
compatible = "qcom,pm8921-gpio",
"qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
gpio-ranges = <&pm8921_gpio 0 0 44>;
#gpio-cells = <2>;
};
pm8921_mpps: mpps@50 {
compatible = "qcom,pm8921-mpp",
"qcom,ssbi-mpp";
reg = <0x50>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8921_mpps 0 0 12>;
interrupt-controller;
#interrupt-cells = <2>;
};
rtc@11d {
compatible = "qcom,pm8921-rtc";
interrupt-parent = <&pmicintc>;
interrupts = <39 1>;
reg = <0x11d>;
allow-set-time;
};
pwrkey@1c {
compatible = "qcom,pm8921-pwrkey";
reg = <0x1c>;
interrupt-parent = <&pmicintc>;
interrupts = <50 1>, <51 1>;
debounce = <15625>;
pull-up;
};
xoadc: xoadc@197 {
compatible = "qcom,pm8921-adc";
reg = <197>;
interrupts-extended = <&pmicintc 78 IRQ_TYPE_EDGE_RISING>;
#address-cells = <2>;
#size-cells = <0>;
#io-channel-cells = <2>;
vcoin: adc-channel@0 {
reg = <0x00 0x00>;
};
vbat: adc-channel@1 {
reg = <0x00 0x01>;
};
dcin: adc-channel@2 {
reg = <0x00 0x02>;
};
vph_pwr: adc-channel@4 {
reg = <0x00 0x04>;
};
batt_therm: adc-channel@8 {
reg = <0x00 0x08>;
};
batt_id: adc-channel@9 {
reg = <0x00 0x09>;
};
usb_vbus: adc-channel@a {
reg = <0x00 0x0a>;
};
die_temp: adc-channel@b {
reg = <0x00 0x0b>;
};
ref_625mv: adc-channel@c {
reg = <0x00 0x0c>;
};
ref_1250mv: adc-channel@d {
reg = <0x00 0x0d>;
};
chg_temp: adc-channel@e {
reg = <0x00 0x0e>;
};
ref_muxoff: adc-channel@f {
reg = <0x00 0x0f>;
};
};
};
};
qfprom: qfprom@700000 {
......@@ -891,60 +757,6 @@ rpmcc: clock-controller {
clocks = <&pxo_board>, <&cxo_board>;
clock-names = "pxo", "cxo";
};
regulators {
compatible = "qcom,rpm-pm8921-regulators";
pm8921_s1: s1 {};
pm8921_s2: s2 {};
pm8921_s3: s3 {};
pm8921_s4: s4 {};
pm8921_s7: s7 {};
pm8921_s8: s8 {};
pm8921_l1: l1 {};
pm8921_l2: l2 {};
pm8921_l3: l3 {};
pm8921_l4: l4 {};
pm8921_l5: l5 {};
pm8921_l6: l6 {};
pm8921_l7: l7 {};
pm8921_l8: l8 {};
pm8921_l9: l9 {};
pm8921_l10: l10 {};
pm8921_l11: l11 {};
pm8921_l12: l12 {};
pm8921_l14: l14 {};
pm8921_l15: l15 {};
pm8921_l16: l16 {};
pm8921_l17: l17 {};
pm8921_l18: l18 {};
pm8921_l21: l21 {};
pm8921_l22: l22 {};
pm8921_l23: l23 {};
pm8921_l24: l24 {};
pm8921_l25: l25 {};
pm8921_l26: l26 {};
pm8921_l27: l27 {};
pm8921_l28: l28 {};
pm8921_l29: l29 {};
pm8921_lvs1: lvs1 {};
pm8921_lvs2: lvs2 {};
pm8921_lvs3: lvs3 {};
pm8921_lvs4: lvs4 {};
pm8921_lvs5: lvs5 {};
pm8921_lvs6: lvs6 {};
pm8921_lvs7: lvs7 {};
pm8921_usb_switch: usb-switch {};
pm8921_hdmi_switch: hdmi-switch {
bias-pull-down;
};
pm8921_ncp: ncp {};
};
};
usb1: usb@12500000 {
......@@ -1472,7 +1284,7 @@ gfx3d1: iommu@7d00000 {
qcom,ncb = <3>;
};
pcie: pci@1b500000 {
pcie: pcie@1b500000 {
compatible = "qcom,pcie-apq8064";
reg = <0x1b500000 0x1000>,
<0x1b502000 0x80>,
......@@ -1623,10 +1435,6 @@ riva: riva-pil@3200800 {
memory-region = <&wcnss_mem>;
vddcx-supply = <&pm8921_s3>;
vddmx-supply = <&pm8921_l24>;
vddpx-supply = <&pm8921_s4>;
status = "disabled";
iris {
......@@ -1634,11 +1442,6 @@ iris {
clocks = <&cxo_board>;
clock-names = "xo";
vddxo-supply = <&pm8921_l4>;
vddrfa-supply = <&pm8921_s2>;
vddpa-supply = <&pm8921_l10>;
vdddig-supply = <&pm8921_lvs2>;
};
smd-edge {
......
......@@ -4,8 +4,8 @@
#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"
#include "pm8841.dtsi"
#include "pm8941.dtsi"
/delete-node/ &mpss_region;
......@@ -49,6 +49,33 @@ mpss_region: mpss@ac00000 {
no-map;
};
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
&blsp1_uart2 {
......@@ -403,6 +430,10 @@ &sdhc_2 {
pinctrl-1 = <&sdc2_off>;
};
&smbb {
status = "okay";
};
&tlmm {
sdc1_on: sdc1-on-state {
clk-pins {
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8084.dtsi"
#include "qcom-pma8084.dtsi"
#include "pma8084.dtsi"
/ {
model = "Qualcomm APQ8084/IFC6540";
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-apq8084.dtsi"
#include "qcom-pma8084.dtsi"
#include "pma8084.dtsi"
/ {
model = "Qualcomm APQ 8084-MTP";
......
......@@ -98,7 +98,7 @@ flash@0 {
};
};
pci@40000000 {
pcie@40000000 {
status = "okay";
perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
};
......
......@@ -224,7 +224,7 @@ vqmmc: regulator@1948000 {
};
sdhci: mmc@7824900 {
compatible = "qcom,sdhci-msm-v4";
compatible = "qcom,ipq4019-sdhci", "qcom,sdhci-msm-v4";
reg = <0x7824900 0x11c>, <0x7824000 0x800>;
reg-names = "hc", "core";
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
......@@ -417,7 +417,7 @@ restart@4ab000 {
reg = <0x4ab000 0x4>;
};
pcie0: pci@40000000 {
pcie0: pcie@40000000 {
compatible = "qcom,pcie-ipq4019";
reg = <0x40000000 0xf1d>,
<0x40000f20 0xa8>,
......
......@@ -366,7 +366,7 @@ rpmcc: clock-controller {
};
};
qcom,ssbi@500000 {
ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x00500000 0x1000>;
qcom,controller-type = "pmic-arbiter";
......@@ -1076,7 +1076,7 @@ sata_phy: sata-phy@1b400000 {
status = "disabled";
};
pcie0: pci@1b500000 {
pcie0: pcie@1b500000 {
compatible = "qcom,pcie-ipq8064";
reg = <0x1b500000 0x1000
0x1b502000 0x80
......@@ -1127,7 +1127,7 @@ pcie0: pci@1b500000 {
perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
};
pcie1: pci@1b700000 {
pcie1: pcie@1b700000 {
compatible = "qcom,pcie-ipq8064";
reg = <0x1b700000 0x1000
0x1b702000 0x80
......@@ -1178,7 +1178,7 @@ pcie1: pci@1b700000 {
perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
};
pcie2: pci@1b900000 {
pcie2: pcie@1b900000 {
compatible = "qcom,pcie-ipq8064";
reg = <0x1b900000 0x1000
0x1b902000 0x80
......
......@@ -6,11 +6,11 @@
* Author : Neil Armstrong <narmstrong@baylibre.com>
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "qcom-mdm9615-wp8548.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
/ {
model = "MangOH Green with WP8548 Module";
......
......@@ -7,6 +7,7 @@
*/
#include "qcom-mdm9615.dtsi"
#include "pm8018.dtsi"
/ {
model = "Sierra Wireless WP8548 Module";
......@@ -76,7 +77,11 @@ reset-out-pins {
};
};
&pmicgpio {
&pm8018 {
interrupts-extended = <&intc GIC_PPI 226 IRQ_TYPE_LEVEL_HIGH>;
};
&pm8018_gpio {
usb_vbus_5v_pins: usb-vbus-5v-state {
pins = "gpio4";
function = "normal";
......@@ -129,6 +134,142 @@ &gsbi5_serial {
pinctrl-names = "default";
};
&rpm {
regulators {
compatible = "qcom,rpm-pm8018-regulators";
vin_lvs1-supply = <&pm8018_s3>;
vdd_l7-supply = <&pm8018_s4>;
vdd_l8-supply = <&pm8018_s3>;
vdd_l9_l10_l11_l12-supply = <&pm8018_s5>;
/* Buck SMPS */
pm8018_s1: s1 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1150000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s2: s2 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s3: s3 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s4: s4 {
regulator-min-microvolt = <2100000>;
regulator-max-microvolt = <2200000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s5: s5 {
regulator-always-on;
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
/* PMOS LDO */
pm8018_l2: l2 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8018_l3: l3 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8018_l4: l4 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
pm8018_l5: l5 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
pm8018_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
pm8018_l7: l7 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1900000>;
bias-pull-down;
};
pm8018_l8: l8 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
pm8018_l9: l9 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1150000>;
bias-pull-down;
};
pm8018_l10: l10 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8018_l11: l11 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8018_l12: l12 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8018_l13: l13 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
pm8018_l14: l14 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
/* Low Voltage Switch */
pm8018_lvs1: lvs1 {
bias-pull-down;
};
};
};
&sdcc1 {
status = "okay";
};
......@@ -256,57 +256,10 @@ gsbi5_serial: serial@16440000 {
};
};
qcom,ssbi@500000 {
ssbi: ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x500000 0x1000>;
qcom,controller-type = "pmic-arbiter";
pmicintc: pmic {
compatible = "qcom,pm8018", "qcom,pm8921";
interrupts = <GIC_PPI 226 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pwrkey@1c {
compatible = "qcom,pm8018-pwrkey", "qcom,pm8921-pwrkey";
reg = <0x1c>;
interrupt-parent = <&pmicintc>;
interrupts = <50 IRQ_TYPE_EDGE_RISING>,
<51 IRQ_TYPE_EDGE_RISING>;
debounce = <15625>;
pull-up;
};
pmicmpp: mpps@50 {
compatible = "qcom,pm8018-mpp", "qcom,ssbi-mpp";
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x50>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pmicmpp 0 0 6>;
};
rtc@11d {
compatible = "qcom,pm8018-rtc", "qcom,pm8921-rtc";
interrupt-parent = <&pmicintc>;
interrupts = <39 IRQ_TYPE_EDGE_RISING>;
reg = <0x11d>;
allow-set-time;
};
pmicgpio: gpio@150 {
compatible = "qcom,pm8018-gpio", "qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
gpio-ranges = <&pmicgpio 0 0 6>;
#gpio-cells = <2>;
};
};
};
sdcc1bam: dma-controller@12182000 {
......@@ -383,140 +336,6 @@ rpm: rpm@108000 {
<GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "ack", "err", "wakeup";
regulators {
compatible = "qcom,rpm-pm8018-regulators";
vin_lvs1-supply = <&pm8018_s3>;
vdd_l7-supply = <&pm8018_s4>;
vdd_l8-supply = <&pm8018_s3>;
vdd_l9_l10_l11_l12-supply = <&pm8018_s5>;
/* Buck SMPS */
pm8018_s1: s1 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1150000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s2: s2 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1300000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s3: s3 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s4: s4 {
regulator-min-microvolt = <2100000>;
regulator-max-microvolt = <2200000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
pm8018_s5: s5 {
regulator-always-on;
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
qcom,switch-mode-frequency = <1600000>;
bias-pull-down;
};
/* PMOS LDO */
pm8018_l2: l2 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8018_l3: l3 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
bias-pull-down;
};
pm8018_l4: l4 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
bias-pull-down;
};
pm8018_l5: l5 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
pm8018_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
pm8018_l7: l7 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1900000>;
bias-pull-down;
};
pm8018_l8: l8 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
bias-pull-down;
};
pm8018_l9: l9 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1150000>;
bias-pull-down;
};
pm8018_l10: l10 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8018_l11: l11 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8018_l12: l12 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
bias-pull-down;
};
pm8018_l13: l13 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2950000>;
bias-pull-down;
};
pm8018_l14: l14 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
bias-pull-down;
};
/* Low Voltage Switch */
pm8018_lvs1: lvs1 {
bias-pull-down;
};
};
};
};
};
// SPDX-License-Identifier: BSD-3-Clause
/*
* Common Board Device Tree for Microsoft MSM8x26-based Lumias
*
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
*/
#include "qcom-msm8226.dtsi"
#include "pm8226.dtsi"
#include <dt-bindings/input/input.h>
/*
* Delete all generic (msm8226.dtsi) reserved
* memory mappings which are different on these devices.
*/
/delete-node/ &smem_region;
/ {
aliases {
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* microSD */
display0 = &framebuffer;
};
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
stdout-path = "display0";
framebuffer: framebuffer@3200000 {
compatible = "simple-framebuffer";
reg = <0x3200000 0x800000>;
format = "a8r8g8b8";
width = <720>;
height = <1280>;
stride = <(720 * 4)>;
clocks = <&mmcc MDSS_AHB_CLK>,
<&mmcc MDSS_AXI_CLK>,
<&mmcc MDSS_BYTE0_CLK>,
<&mmcc MDSS_MDP_CLK>,
<&mmcc MDSS_PCLK0_CLK>,
<&mmcc MDSS_VSYNC_CLK>;
power-domains = <&mmcc MDSS_GDSC>;
};
};
gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default>;
pinctrl-names = "default";
label = "GPIO Buttons";
key-volume-up {
label = "Volume Up";
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};
/*
* This device being a WP platform has a different
* memory layout than other Android based devices.
* This smem memory region is directly copied from
* the original UEFI firmware.
*/
reserved-memory {
display_reserved: framebuffer@3200000 {
reg = <0x03200000 0x800000>;
no-map;
};
smem_region: smem@fa00000 {
reg = <0x0fa00000 0x100000>;
no-map;
};
};
};
&blsp1_i2c5 {
status = "okay";
touchscreen: touchscreen@4b {
compatible = "syna,rmi4-i2c";
reg = <0x4b>;
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8226_l15>;
vio-supply = <&pm8226_l6>;
pinctrl-0 = <&touchscreen_default>;
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
rmi4-f01@1 {
reg = <0x01>;
syna,nosleep-mode = <1>;
};
rmi4-f11@11 {
reg = <0x11>;
syna,sensor-type = <1>;
};
};
};
&blsp1_uart3 {
status = "okay";
};
&pm8226_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&pm8226_vib {
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm8226-regulators";
/* These values were taken from the original firmware DSDT */
pm8226_s1: s1 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
pm8226_s3: s3 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
};
pm8226_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
pm8226_s5: s5 {
regulator-min-microvolt = <1150000>;
regulator-max-microvolt = <1150000>;
};
pm8226_l3: l3 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1150000>;
};
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>;
};
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 = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8226_l16: l16 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l17: l17 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
pm8226_l18: l18 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
pm8226_l19: l19 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8226_l20: l20 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8226_l21: l21 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l22: l22 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l23: l23 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l24: l24 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
};
pm8226_l25: l25 {
regulator-min-microvolt = <1775000>;
regulator-max-microvolt = <2075000>;
};
pm8226_l27: l27 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l28: l28 {
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <3000000>;
};
};
};
&sdhc_1 {
vmmc-supply = <&pm8226_l17>;
vqmmc-supply = <&pm8226_l6>;
status = "okay";
};
&sdhc_2 {
vmmc-supply = <&pm8226_l18>;
vqmmc-supply = <&pm8226_l21>;
status = "okay";
};
&usb {
extcon = <&smbb>;
dr_mode = "peripheral";
status = "okay";
};
&usb_hs_phy {
extcon = <&smbb>;
v1p8-supply = <&pm8226_l10>;
v3p3-supply = <&pm8226_l20>;
};
&tlmm {
gpio_keys_default: gpio-keys-default-state {
pins = "gpio106", "gpio107", "gpio108";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
touchscreen_default: touchscreen-default-state {
irq-pins {
pins = "gpio17";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
reset-pins {
pins = "gpio16";
function = "gpio";
drive-strength = <8>;
bias-disable;
output-high;
};
};
};
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
*/
/dts-v1/;
#include "qcom-msm8226-microsoft-common.dtsi"
/ {
model = "Microsoft Lumia 640";
compatible = "microsoft,dempsey", "qcom,msm8226";
chassis-type = "handset";
};
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
*/
/dts-v1/;
#include "qcom-msm8226-microsoft-common.dtsi"
/ {
model = "Microsoft Lumia 640 XL";
compatible = "microsoft,makepeace", "qcom,msm8226";
chassis-type = "handset";
};
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
*/
/dts-v1/;
#include "qcom-msm8226-microsoft-common.dtsi"
/ {
model = "Nokia Lumia 630";
compatible = "microsoft,moneypenny", "qcom,msm8226";
chassis-type = "handset";
};
&framebuffer {
width = <480>;
height = <854>;
stride = <(480 * 4)>;
};
......@@ -442,8 +442,8 @@ mmcc: clock-controller@fd8c0000 {
<&gcc GPLL0_VOTE>,
<&gcc GPLL1_VOTE>,
<&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
<0>,
<0>;
<&mdss_dsi0_phy 1>,
<&mdss_dsi0_phy 0>;
clock-names = "xo",
"mmss_gpll0_vote",
"gpll0_vote",
......@@ -875,8 +875,8 @@ reboot-mode {
offset = <0x65c>;
mode-bootloader = <0x77665500>;
mode-normal = <0x77665501>;
mode-recovery = <0x77665502>;
mode-normal = <0x77665501>;
mode-recovery = <0x77665502>;
};
};
......@@ -1006,6 +1006,46 @@ mdss_dsi0_phy: phy@fd922a00 {
"ref";
};
};
gpu: adreno@fdb00000 {
compatible = "qcom,adreno-305.18", "qcom,adreno";
reg = <0xfdb00000 0x10000>;
reg-names = "kgsl_3d0_reg_memory";
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "kgsl_3d0_irq";
clocks = <&mmcc OXILI_GFX3D_CLK>,
<&mmcc OXILICX_AHB_CLK>,
<&mmcc OXILICX_AXI_CLK>;
clock-names = "core", "iface", "mem_iface";
sram = <&gmu_sram>;
power-domains = <&mmcc OXILICX_GDSC>;
operating-points-v2 = <&gpu_opp_table>;
status = "disabled";
gpu_opp_table: opp-table {
compatible = "operating-points-v2";
opp-450000000 {
opp-hz = /bits/ 64 <450000000>;
};
opp-320000000 {
opp-hz = /bits/ 64 <320000000>;
};
opp-200000000 {
opp-hz = /bits/ 64 <200000000>;
};
opp-19000000 {
opp-hz = /bits/ 64 <19000000>;
};
};
};
};
thermal-zones {
......
......@@ -2,6 +2,7 @@
#include <dt-bindings/input/input.h>
#include "qcom-msm8660.dtsi"
#include "pm8058.dtsi"
/ {
model = "Qualcomm MSM8660 SURF";
......@@ -35,30 +36,42 @@ &gsbi12_serial {
};
&pm8058 {
keypad@148 {
linux,keymap = <
MATRIX_KEY(0, 0, KEY_FN_F1)
MATRIX_KEY(0, 1, KEY_UP)
MATRIX_KEY(0, 2, KEY_LEFT)
MATRIX_KEY(0, 3, KEY_VOLUMEUP)
MATRIX_KEY(1, 0, KEY_FN_F2)
MATRIX_KEY(1, 1, KEY_RIGHT)
MATRIX_KEY(1, 2, KEY_DOWN)
MATRIX_KEY(1, 3, KEY_VOLUMEDOWN)
MATRIX_KEY(2, 3, KEY_ENTER)
MATRIX_KEY(4, 0, KEY_CAMERA_FOCUS)
MATRIX_KEY(4, 1, KEY_UP)
MATRIX_KEY(4, 2, KEY_LEFT)
MATRIX_KEY(4, 3, KEY_HOME)
MATRIX_KEY(4, 4, KEY_FN_F3)
MATRIX_KEY(5, 0, KEY_CAMERA)
MATRIX_KEY(5, 1, KEY_RIGHT)
MATRIX_KEY(5, 2, KEY_DOWN)
MATRIX_KEY(5, 3, KEY_BACK)
MATRIX_KEY(5, 4, KEY_MENU)
>;
keypad,num-rows = <6>;
keypad,num-columns = <5>;
interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>;
};
&pm8058_keypad {
linux,keymap = <
MATRIX_KEY(0, 0, KEY_FN_F1)
MATRIX_KEY(0, 1, KEY_UP)
MATRIX_KEY(0, 2, KEY_LEFT)
MATRIX_KEY(0, 3, KEY_VOLUMEUP)
MATRIX_KEY(1, 0, KEY_FN_F2)
MATRIX_KEY(1, 1, KEY_RIGHT)
MATRIX_KEY(1, 2, KEY_DOWN)
MATRIX_KEY(1, 3, KEY_VOLUMEDOWN)
MATRIX_KEY(2, 3, KEY_ENTER)
MATRIX_KEY(4, 0, KEY_CAMERA_FOCUS)
MATRIX_KEY(4, 1, KEY_UP)
MATRIX_KEY(4, 2, KEY_LEFT)
MATRIX_KEY(4, 3, KEY_HOME)
MATRIX_KEY(4, 4, KEY_FN_F3)
MATRIX_KEY(5, 0, KEY_CAMERA)
MATRIX_KEY(5, 1, KEY_RIGHT)
MATRIX_KEY(5, 2, KEY_DOWN)
MATRIX_KEY(5, 3, KEY_BACK)
MATRIX_KEY(5, 4, KEY_MENU)
>;
keypad,num-rows = <6>;
keypad,num-columns = <5>;
};
&rpm {
regulators-0 {
compatible = "qcom,rpm-pm8901-regulators";
};
regulators-1 {
compatible = "qcom,rpm-pm8058-regulators";
};
};
......
......@@ -73,22 +73,6 @@ sleep-clk {
};
};
/*
* These channels from the ADC are simply hardware monitors.
* That is why the ADC is referred to as "HKADC" - HouseKeeping
* ADC.
*/
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&xoadc 0x00 0x01>, /* Battery */
<&xoadc 0x00 0x02>, /* DC in (charger) */
<&xoadc 0x00 0x04>, /* VPH the main system voltage */
<&xoadc 0x00 0x0b>, /* Die temperature */
<&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
<&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
<&xoadc 0x00 0x0e>; /* Reference voltage 0.325V */
};
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
......@@ -334,143 +318,10 @@ ebi2: external-bus@1a100000 {
status = "disabled";
};
ssbi@500000 {
ssbi: ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x500000 0x1000>;
qcom,controller-type = "pmic-arbiter";
pm8058: pmic {
compatible = "qcom,pm8058";
interrupt-parent = <&tlmm>;
interrupts = <88 8>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pm8058_gpio: gpio@150 {
compatible = "qcom,pm8058-gpio",
"qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
gpio-ranges = <&pm8058_gpio 0 0 44>;
#gpio-cells = <2>;
};
pm8058_mpps: mpps@50 {
compatible = "qcom,pm8058-mpp",
"qcom,ssbi-mpp";
reg = <0x50>;
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pm8058_mpps 0 0 12>;
interrupt-controller;
#interrupt-cells = <2>;
};
pwrkey@1c {
compatible = "qcom,pm8058-pwrkey";
reg = <0x1c>;
interrupt-parent = <&pm8058>;
interrupts = <50 1>, <51 1>;
debounce = <15625>;
pull-up;
};
pm8058_keypad: keypad@148 {
compatible = "qcom,pm8058-keypad";
reg = <0x148>;
interrupt-parent = <&pm8058>;
interrupts = <74 1>, <75 1>;
debounce = <15>;
scan-delay = <32>;
row-hold = <91500>;
};
xoadc: xoadc@197 {
compatible = "qcom,pm8058-adc";
reg = <0x197>;
interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>;
#address-cells = <2>;
#size-cells = <0>;
#io-channel-cells = <2>;
vcoin: adc-channel@0 {
reg = <0x00 0x00>;
};
vbat: adc-channel@1 {
reg = <0x00 0x01>;
};
dcin: adc-channel@2 {
reg = <0x00 0x02>;
};
ichg: adc-channel@3 {
reg = <0x00 0x03>;
};
vph_pwr: adc-channel@4 {
reg = <0x00 0x04>;
};
usb_vbus: adc-channel@a {
reg = <0x00 0x0a>;
};
die_temp: adc-channel@b {
reg = <0x00 0x0b>;
};
ref_625mv: adc-channel@c {
reg = <0x00 0x0c>;
};
ref_1250mv: adc-channel@d {
reg = <0x00 0x0d>;
};
ref_325mv: adc-channel@e {
reg = <0x00 0x0e>;
};
ref_muxoff: adc-channel@f {
reg = <0x00 0x0f>;
};
};
rtc@1e8 {
compatible = "qcom,pm8058-rtc";
reg = <0x1e8>;
interrupt-parent = <&pm8058>;
interrupts = <39 1>;
allow-set-time;
};
vibrator@4a {
compatible = "qcom,pm8058-vib";
reg = <0x4a>;
};
pm8058_led48: led@48 {
compatible = "qcom,pm8058-keypad-led";
reg = <0x48>;
status = "disabled";
};
pm8058_led131: led@131 {
compatible = "qcom,pm8058-led";
reg = <0x131>;
status = "disabled";
};
pm8058_led132: led@132 {
compatible = "qcom,pm8058-led";
reg = <0x132>;
status = "disabled";
};
pm8058_led133: led@133 {
compatible = "qcom,pm8058-led";
reg = <0x133>;
status = "disabled";
};
};
};
l2cc: clock-controller@2082000 {
......@@ -496,72 +347,6 @@ rpmcc: clock-controller {
clocks = <&pxo_board>;
clock-names = "pxo";
};
regulators-0 {
compatible = "qcom,rpm-pm8901-regulators";
pm8901_l0: l0 {};
pm8901_l1: l1 {};
pm8901_l2: l2 {};
pm8901_l3: l3 {};
pm8901_l4: l4 {};
pm8901_l5: l5 {};
pm8901_l6: l6 {};
/* S0 and S1 Handled as SAW regulators by SPM */
pm8901_s2: s2 {};
pm8901_s3: s3 {};
pm8901_s4: s4 {};
pm8901_lvs0: lvs0 {};
pm8901_lvs1: lvs1 {};
pm8901_lvs2: lvs2 {};
pm8901_lvs3: lvs3 {};
pm8901_mvs: mvs {};
};
regulators-1 {
compatible = "qcom,rpm-pm8058-regulators";
pm8058_l0: l0 {};
pm8058_l1: l1 {};
pm8058_l2: l2 {};
pm8058_l3: l3 {};
pm8058_l4: l4 {};
pm8058_l5: l5 {};
pm8058_l6: l6 {};
pm8058_l7: l7 {};
pm8058_l8: l8 {};
pm8058_l9: l9 {};
pm8058_l10: l10 {};
pm8058_l11: l11 {};
pm8058_l12: l12 {};
pm8058_l13: l13 {};
pm8058_l14: l14 {};
pm8058_l15: l15 {};
pm8058_l16: l16 {};
pm8058_l17: l17 {};
pm8058_l18: l18 {};
pm8058_l19: l19 {};
pm8058_l20: l20 {};
pm8058_l21: l21 {};
pm8058_l22: l22 {};
pm8058_l23: l23 {};
pm8058_l24: l24 {};
pm8058_l25: l25 {};
pm8058_s0: s0 {};
pm8058_s1: s1 {};
pm8058_s2: s2 {};
pm8058_s3: s3 {};
pm8058_s4: s4 {};
pm8058_lvs0: lvs0 {};
pm8058_lvs1: lvs1 {};
pm8058_ncp: ncp {};
};
};
amba {
......
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Luca Weiss <luca@z3ntu.xyz>
*/
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &adsp_region;
/delete-node/ &smem_region;
/ {
model = "HTC One Mini 2";
compatible = "htc,memul", "qcom,msm8926", "qcom,msm8226";
chassis-type = "handset";
aliases {
mmc1 = &sdhc_2; /* SDC2 SD card slot */
};
gpio-keys {
compatible = "gpio-keys";
key-power {
label = "Power";
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
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 108 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <15>;
};
};
reserved-memory {
unknown@5b00000 {
reg = <0x05b00000 0x200000>;
no-map;
};
unknown@7500000 {
reg = <0x07500000 0xb00000>;
no-map;
};
mpss_region: mpss@8000000 {
reg = <0x08000000 0x4f00000>;
no-map;
};
unknown@cf00000 {
reg = <0x0cf00000 0x200000>;
no-map;
};
mba_region: mba@d100000 {
reg = <0x0d100000 0x3a000>;
no-map;
};
unknown@d13a000 {
reg = <0x0d13a000 0xc6000>;
no-map;
};
wcnss_region: wcnss@d200000 {
reg = <0x0d200000 0x650000>;
no-map;
};
unknown@d850000 {
reg = <0x0d850000 0x3b0000>;
no-map;
};
adsp_region: adsp@dc00000 {
reg = <0x0dc00000 0x1400000>;
no-map;
};
unknown@f000000 {
reg = <0x0f000000 0x500000>;
no-map;
};
venus_region: venus@f500000 {
reg = <0x0f500000 0x500000>;
no-map;
};
smem_region: smem@fa00000 {
reg = <0x0fa00000 0x100000>;
no-map;
};
unknown@fb00000 {
reg = <0x0fb00000 0x1b00000>;
no-map;
};
};
};
&adsp {
firmware-name = "qcom/msm8926/memul/adsp.mbn";
status = "okay";
};
&blsp1_i2c2 {
status = "okay";
magnetometer@d {
compatible = "asahi-kasei,ak8963";
reg = <0x0d>;
interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8226_l19>;
vid-supply = <&pm8226_l28>;
};
accelerometer@18 {
compatible = "bosch,bma250e";
reg = <0x18>;
interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&pm8226_l19>;
vddio-supply = <&pm8226_l28>;
};
};
&blsp1_i2c4 {
status = "okay";
/* TFA9887 @ 34 */
/* TFA9887 @ 35 */
};
&blsp1_i2c5 {
status = "okay";
touchscreen@20 {
compatible = "syna,rmi4-i2c";
reg = <0x20>;
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8226_l19>;
syna,startup-delay-ms = <160>;
#address-cells = <1>;
#size-cells = <0>;
rmi4-f01@1 {
reg = <0x1>;
syna,nosleep-mode = <1>;
};
rmi4-f12@12 {
reg = <0x12>;
syna,sensor-type = <1>;
};
};
};
&blsp1_i2c6 {
status = "okay";
/* NCP6924 Camera Regulators @ 10 */
/* PN544 NFC @ 28 */
/* TPS61310 Flash/Torch @ 33 */
};
&pm8226_vib {
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm8226-regulators";
pm8226_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1350000>;
};
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>;
};
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 = <3000000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l16: l16 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3350000>;
};
pm8226_l17: l17 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l18: l18 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l19: l19 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
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 = <3000000>;
};
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 = <1225000>;
};
pm8226_l27: l27 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l28: l28 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_lvs1: lvs1 {};
};
};
&sdhc_2 {
vmmc-supply = <&pm8226_l18>;
vqmmc-supply = <&pm8226_l21>;
bus-width = <4>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
status = "okay";
};
&smbb {
qcom,fast-charge-safe-current = <1750000>;
qcom,fast-charge-current-limit = <1750000>;
qcom,fast-charge-safe-voltage = <4360000>;
qcom,fast-charge-high-threshold-voltage = <4350000>;
qcom,auto-recharge-threshold-voltage = <4300000>;
qcom,minimum-input-voltage = <4300000>;
status = "okay";
};
&usb {
extcon = <&smbb>;
dr_mode = "peripheral";
status = "okay";
};
&usb_hs_phy {
extcon = <&smbb>;
v1p8-supply = <&pm8226_l10>;
v3p3-supply = <&pm8226_l20>;
};
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
*/
/dts-v1/;
#include "qcom-msm8226-microsoft-common.dtsi"
/* This device has touchscreen on i2c3 instead */
/delete-node/ &touchscreen;
/ {
model = "Nokia Lumia 735";
compatible = "microsoft,superman-lte", "qcom,msm8926", "qcom,msm8226";
chassis-type = "handset";
};
&blsp1_i2c3 {
status = "okay";
touchscreen: touchscreen@4b {
compatible = "syna,rmi4-i2c";
reg = <0x4b>;
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8226_l15>;
vio-supply = <&pm8226_l6>;
pinctrl-0 = <&touchscreen_default>;
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
rmi4-f01@1 {
reg = <0x01>;
syna,nosleep-mode = <1>;
};
rmi4-f11@11 {
reg = <0x11>;
syna,sensor-type = <1>;
};
};
};
&blsp1_i2c5 {
status = "disabled";
};
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
*/
/dts-v1/;
#include "qcom-msm8226-microsoft-common.dtsi"
/* This device has touchscreen on i2c1 instead */
/delete-node/ &touchscreen;
/ {
model = "Nokia Lumia 830";
compatible = "microsoft,tesla", "qcom,msm8926", "qcom,msm8226";
chassis-type = "handset";
};
&blsp1_i2c1 {
status = "okay";
touchscreen: touchscreen@4b {
compatible = "syna,rmi4-i2c";
reg = <0x4b>;
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&pm8226_l15>;
vio-supply = <&pm8226_l6>;
pinctrl-0 = <&touchscreen_default>;
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
rmi4-f01@1 {
reg = <0x01>;
syna,nosleep-mode = <1>;
};
rmi4-f12@12 {
reg = <0x12>;
syna,sensor-type = <1>;
};
};
};
&blsp1_i2c5 {
status = "disabled";
};
&gpio_keys {
key-camera-snapshot {
label = "Camera Snapshot";
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_CAMERA>;
};
key-camera-focus {
label = "Camera Focus";
gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
linux,code = <KEY_CAMERA_FOCUS>;
};
};
// SPDX-License-Identifier: BSD-3-Clause
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "pm8226.dtsi"
/delete-node/ &smem_region;
/ {
model = "Motorola Moto G 4G (2013)";
compatible = "motorola,peregrine", "qcom,msm8926", "qcom,msm8226";
chassis-type = "handset";
aliases {
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
mmc1 = &sdhc_2; /* SDC2 SD card slot */
};
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
framebuffer0: framebuffer@3200000 {
compatible = "simple-framebuffer";
reg = <0x03200000 0x800000>;
width = <720>;
height = <1280>;
stride = <(720 * 3)>;
format = "r8g8b8";
};
};
gpio-keys {
compatible = "gpio-keys";
event-hall-sensor {
label = "Hall Effect Sensor";
gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
};
key-volume-up {
label = "Volume Up";
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <15>;
};
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
framebuffer@3200000 {
reg = <0x03200000 0x800000>;
no-map;
};
smem_region: smem@fa00000 {
reg = <0x0fa00000 0x100000>;
no-map;
};
};
};
&blsp1_i2c3 {
status = "okay";
sensor@48 {
compatible = "ti,tmp108";
reg = <0x48>;
};
};
&blsp1_uart3 {
status = "okay";
};
&pm8226_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&pm8226_vib {
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;
};
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>;
};
pm8226_l18: l18 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l19: l19 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
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 = <2950000>;
};
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 = <1225000>;
};
pm8226_l27: l27 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l28: l28 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
};
pm8226_lvs1: lvs1 {
/* Pull-up for I2C lines */
regulator-always-on;
};
};
};
&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 115 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&smbb {
qcom,fast-charge-safe-current = <2000000>;
qcom,fast-charge-current-limit = <1900000>;
qcom,fast-charge-safe-voltage = <4400000>;
qcom,minimum-input-voltage = <4300000>;
status = "okay";
};
&usb {
extcon = <&smbb>;
dr_mode = "peripheral";
status = "okay";
};
&usb_hs_phy {
extcon = <&smbb>;
v1p8-supply = <&pm8226_l10>;
v3p3-supply = <&pm8226_l20>;
};
......@@ -2,6 +2,7 @@
#include <dt-bindings/input/input.h>
#include "qcom-msm8960.dtsi"
#include "pm8921.dtsi"
/ {
model = "Qualcomm MSM8960 CDP";
......@@ -88,17 +89,21 @@ clk-pins {
};
};
&pmicintc {
keypad@148 {
linux,keymap = <
MATRIX_KEY(0, 0, KEY_VOLUMEUP)
MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
MATRIX_KEY(0, 3, KEY_CAMERA)
>;
keypad,num-rows = <1>;
keypad,num-columns = <5>;
};
&pm8921 {
interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>;
};
&pm8921_keypad {
linux,keymap = <
MATRIX_KEY(0, 0, KEY_VOLUMEUP)
MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
MATRIX_KEY(0, 3, KEY_CAMERA)
>;
keypad,num-rows = <1>;
keypad,num-columns = <5>;
status = "okay";
};
&rpm {
......
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/input/input.h>
#include <dt-bindings/reset/qcom,gcc-msm8960.h>
#include "qcom-msm8960.dtsi"
#include <dt-bindings/reset/qcom,gcc-msm8960.h>
#include "pm8921.dtsi"
/ {
model = "Samsung Galaxy Express SGH-I437";
......@@ -84,6 +85,10 @@ clk-pins {
};
};
&pm8921 {
interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>;
};
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
......
......@@ -200,10 +200,6 @@ rpm: rpm@108000 {
<GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "ack", "err", "wakeup";
regulators {
compatible = "qcom,rpm-pm8921-regulators";
};
};
acc0: clock-controller@2088000 {
......@@ -259,49 +255,10 @@ gsbi5_serial: serial@16440000 {
};
};
ssbi@500000 {
ssbi: ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x500000 0x1000>;
qcom,controller-type = "pmic-arbiter";
pmicintc: pmic {
compatible = "qcom,pm8921";
interrupt-parent = <&msmgpio>;
interrupts = <104 IRQ_TYPE_LEVEL_LOW>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
#size-cells = <0>;
pwrkey@1c {
compatible = "qcom,pm8921-pwrkey";
reg = <0x1c>;
interrupt-parent = <&pmicintc>;
interrupts = <50 IRQ_TYPE_EDGE_RISING>,
<51 IRQ_TYPE_EDGE_RISING>;
debounce = <15625>;
pull-up;
};
keypad@148 {
compatible = "qcom,pm8921-keypad";
reg = <0x148>;
interrupt-parent = <&pmicintc>;
interrupts = <74 IRQ_TYPE_EDGE_RISING>,
<75 IRQ_TYPE_EDGE_RISING>;
debounce = <15>;
scan-delay = <32>;
row-hold = <91500>;
};
rtc@11d {
compatible = "qcom,pm8921-rtc";
interrupt-parent = <&pmicintc>;
interrupts = <39 IRQ_TYPE_EDGE_RISING>;
reg = <0x11d>;
allow-set-time;
};
};
};
rng@1a500000 {
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-pm8941.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>
......@@ -60,6 +60,33 @@ vibrator {
enable-gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
vreg_wlan: wlan-regulator {
compatible = "regulator-fixed";
......@@ -340,6 +367,7 @@ led@5 {
&remoteproc_adsp {
cx-supply = <&pm8841_s2>;
status = "okay";
};
&remoteproc_mss {
......@@ -347,6 +375,7 @@ &remoteproc_mss {
mss-supply = <&pm8841_s3>;
mx-supply = <&pm8841_s1>;
pll-supply = <&pm8941_l12>;
status = "okay";
};
&rpm_requests {
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-pm8941.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>
......@@ -65,6 +65,33 @@ ramoops@3e8e0000 {
pmsg-size = <0x80000>;
};
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
&blsp1_i2c2 {
......@@ -190,6 +217,7 @@ &pm8941_wled {
&remoteproc_adsp {
cx-supply = <&pm8841_s2>;
status = "okay";
};
&remoteproc_mss {
......@@ -197,6 +225,7 @@ &remoteproc_mss {
mss-supply = <&pm8841_s3>;
mx-supply = <&pm8841_s1>;
pll-supply = <&pm8941_l12>;
status = "okay";
};
&rpm_requests {
......@@ -425,6 +454,8 @@ &smbb {
qcom,fast-charge-low-threshold-voltage = <3400000>;
qcom,auto-recharge-threshold-voltage = <4200000>;
qcom,minimum-input-voltage = <4300000>;
status = "okay";
};
&tlmm {
......
......@@ -346,6 +346,20 @@ apcs: syscon@f9011000 {
reg = <0xf9011000 0x1000>;
};
saw_l2: power-controller@f9012000 {
compatible = "qcom,saw2";
reg = <0xf9012000 0x1000>;
regulator;
};
watchdog@f9017000 {
compatible = "qcom,apss-wdt-msm8974", "qcom,kpss-wdt";
reg = <0xf9017000 0x1000>;
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
clocks = <&sleep_clk>;
};
timer@f9020000 {
#address-cells = <1>;
#size-cells = <1>;
......@@ -405,52 +419,46 @@ frame@f9028000 {
};
};
saw0: power-controller@f9089000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
};
saw1: power-controller@f9099000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
};
saw2: power-controller@f90a9000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
};
saw3: power-controller@f90b9000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
};
saw_l2: power-controller@f9012000 {
compatible = "qcom,saw2";
reg = <0xf9012000 0x1000>;
regulator;
};
acc0: power-manager@f9088000 {
compatible = "qcom,kpss-acc-v2";
reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
};
saw0: power-controller@f9089000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
};
acc1: power-manager@f9098000 {
compatible = "qcom,kpss-acc-v2";
reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
};
saw1: power-controller@f9099000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
};
acc2: power-manager@f90a8000 {
compatible = "qcom,kpss-acc-v2";
reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
};
saw2: power-controller@f90a9000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
};
acc3: power-manager@f90b8000 {
compatible = "qcom,kpss-acc-v2";
reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
};
saw3: power-controller@f90b9000 {
compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
};
sdhc_1: mmc@f9824900 {
compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4";
reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
......@@ -1063,6 +1071,15 @@ kpss_out: endpoint {
};
};
bimc: interconnect@fc380000 {
reg = <0xfc380000 0x6a000>;
compatible = "qcom,msm8974-bimc";
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
<&rpmcc RPM_SMD_BIMC_A_CLK>;
};
gcc: clock-controller@fc400000 {
compatible = "qcom,gcc-msm8974";
#clock-cells = <1>;
......@@ -1101,22 +1118,13 @@ pronto_master_stats: sram@1f50 {
};
};
bimc: interconnect@fc380000 {
reg = <0xfc380000 0x6a000>;
compatible = "qcom,msm8974-bimc";
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
<&rpmcc RPM_SMD_BIMC_A_CLK>;
};
snoc: interconnect@fc460000 {
reg = <0xfc460000 0x4000>;
compatible = "qcom,msm8974-snoc";
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
<&rpmcc RPM_SMD_SNOC_A_CLK>;
<&rpmcc RPM_SMD_SNOC_A_CLK>;
};
pnoc: interconnect@fc468000 {
......@@ -1125,7 +1133,7 @@ pnoc: interconnect@fc468000 {
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&rpmcc RPM_SMD_PNOC_CLK>,
<&rpmcc RPM_SMD_PNOC_A_CLK>;
<&rpmcc RPM_SMD_PNOC_A_CLK>;
};
ocmemnoc: interconnect@fc470000 {
......@@ -1134,7 +1142,7 @@ ocmemnoc: interconnect@fc470000 {
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
<&rpmcc RPM_SMD_OCMEMGX_A_CLK>;
<&rpmcc RPM_SMD_OCMEMGX_A_CLK>;
};
mmssnoc: interconnect@fc478000 {
......@@ -1143,7 +1151,7 @@ mmssnoc: interconnect@fc478000 {
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&mmcc MMSS_S0_AXI_CLK>,
<&mmcc MMSS_S0_AXI_CLK>;
<&mmcc MMSS_S0_AXI_CLK>;
};
cnoc: interconnect@fc480000 {
......@@ -1152,7 +1160,7 @@ cnoc: interconnect@fc480000 {
#interconnect-cells = <1>;
clock-names = "bus", "bus_a";
clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
<&rpmcc RPM_SMD_CNOC_A_CLK>;
<&rpmcc RPM_SMD_CNOC_A_CLK>;
};
tsens: thermal-sensor@fc4a9000 {
......@@ -1633,13 +1641,6 @@ data-pins {
bias-pull-up;
drive-strength = <2>;
};
cd-pins {
pins = "gpio54";
function = "gpio";
bias-disable;
drive-strength = <2>;
};
};
blsp1_uart2_default: blsp1-uart2-default-state {
......@@ -2408,31 +2409,4 @@ timer {
<GIC_PPI 1 0xf08>;
clock-frequency = <19200000>;
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-pm8941.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>
......@@ -57,6 +57,33 @@ vibrator {
enable-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
vcc-supply = <&pm8941_l18>;
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
&blsp1_i2c2 {
......@@ -381,6 +408,8 @@ &smbb {
qcom,fast-charge-high-threshold-voltage = <4350000>;
qcom,auto-recharge-threshold-voltage = <4240000>;
qcom,minimum-input-voltage = <4450000>;
status = "okay";
};
&tlmm {
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-pm8941.dtsi"
#include "pm8841.dtsi"
#include "pm8941.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
......@@ -51,6 +51,33 @@ event-hall-sensor {
debounce-interval = <150>;
};
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
&blsp1_i2c1 {
......@@ -433,6 +460,10 @@ &sdhc_1 {
status = "okay";
};
&smbb {
status = "okay";
};
&tlmm {
gpio_hall_sensor_default: gpio-hall-sensor-default-state {
pins = "gpio68";
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "qcom-pma8084.dtsi"
#include "pma8084.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/leds/common.h>
......@@ -155,7 +155,15 @@ vreg_panel: panel-regulator {
enable-active-high;
};
/delete-node/ vreg-boost;
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
&blsp1_i2c2 {
......@@ -355,7 +363,6 @@ panel: panel@0 {
vddr-supply = <&vreg_panel>;
reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
te-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
port {
panel_in: endpoint {
......
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-pm8941.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>
......@@ -84,6 +84,33 @@ vreg_vsp: lcd-dcdc-regulator {
pinctrl-0 = <&lcd_dcdc_en_pin_a>;
};
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-names = "default";
pinctrl-0 = <&boost_bypass_n_pin>;
};
vreg_vph_pwr: vreg-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph-pwr";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
vreg_wlan: wlan-regulator {
compatible = "regulator-fixed";
......@@ -297,6 +324,7 @@ led@7 {
&remoteproc_adsp {
cx-supply = <&pm8841_s2>;
status = "okay";
};
&remoteproc_mss {
......@@ -304,6 +332,7 @@ &remoteproc_mss {
mss-supply = <&pm8841_s3>;
mx-supply = <&pm8841_s1>;
pll-supply = <&pm8941_l12>;
status = "okay";
};
&rpm_requests {
......@@ -558,6 +587,8 @@ &smbb {
qcom,fast-charge-low-threshold-voltage = <3400000>;
qcom,auto-recharge-threshold-voltage = <4200000>;
qcom,minimum-input-voltage = <4300000>;
status = "okay";
};
&tlmm {
......
......@@ -9,7 +9,7 @@
#include "qcom-sdx55.dtsi"
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <arm64/qcom/pm8150b.dtsi>
#include "qcom-pmx55.dtsi"
#include "pmx55.dtsi"
/ {
model = "Qualcomm Technologies, Inc. SDX55 MTP";
......
......@@ -8,7 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "qcom-sdx55.dtsi"
#include "qcom-pmx55.dtsi"
#include "pmx55.dtsi"
/ {
model = "Thundercomm T55 Development Kit";
......
......@@ -8,7 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "qcom-sdx55.dtsi"
#include "qcom-pmx55.dtsi"
#include "pmx55.dtsi"
/ {
model = "Telit FN980 TLB";
......
......@@ -228,31 +228,26 @@ usb_hsphy: phy@ff4000 {
usb_qmpphy: phy@ff6000 {
compatible = "qcom,sdx55-qmp-usb3-uni-phy";
reg = <0x00ff6000 0x1c0>;
status = "disabled";
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x00ff6000 0x1000>;
clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
<&gcc GCC_USB3_PRIM_CLKREF_CLK>,
<&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
<&gcc GCC_USB3_PRIM_CLKREF_CLK>;
clock-names = "aux", "cfg_ahb", "ref";
resets = <&gcc GCC_USB3PHY_PHY_BCR>,
<&gcc GCC_USB3_PHY_BCR>;
reset-names = "phy", "common";
usb_ssphy: phy@ff6200 {
reg = <0x00ff6200 0x170>,
<0x00ff6400 0x200>,
<0x00ff6800 0x800>;
#phy-cells = <0>;
#clock-cells = <0>;
clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "usb3_uni_phy_pipe_clk_src";
};
<&gcc GCC_USB3_PHY_PIPE_CLK>;
clock-names = "aux",
"ref",
"cfg_ahb",
"pipe";
clock-output-names = "usb3_uni_phy_pipe_clk_src";
#clock-cells = <0>;
#phy-cells = <0>;
resets = <&gcc GCC_USB3_PHY_BCR>,
<&gcc GCC_USB3PHY_PHY_BCR>;
reset-names = "phy",
"phy_phy";
status = "disabled";
};
mc_virt: interconnect@1100000 {
......@@ -587,8 +582,8 @@ usb: usb@a6f8800 {
interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
<GIC_SPI 158 IRQ_TYPE_EDGE_BOTH>,
<GIC_SPI 157 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "hs_phy_irq", "ss_phy_irq",
"dm_hs_phy_irq", "dp_hs_phy_irq";
......@@ -603,7 +598,7 @@ usb_dwc3: usb@a600000 {
iommus = <&apps_smmu 0x1a0 0x0>;
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;
phys = <&usb_hsphy>, <&usb_ssphy>;
phys = <&usb_hsphy>, <&usb_qmpphy>;
phy-names = "usb2-phy", "usb3-phy";
};
};
......
......@@ -12,7 +12,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <arm64/qcom/pmk8350.dtsi>
#include <arm64/qcom/pm7250b.dtsi>
#include "qcom-pmx65.dtsi"
#include "pmx65.dtsi"
/ {
model = "Qualcomm Technologies, Inc. SDX65 MTP";
......
......@@ -204,8 +204,16 @@ soc: soc {
gcc: clock-controller@100000 {
compatible = "qcom,gcc-sdx65";
reg = <0x00100000 0x001f7400>;
clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>;
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
clocks = <&rpmhcc RPMH_CXO_CLK>,
<&rpmhcc RPMH_CXO_CLK_A>,
<&sleep_clk>,
<&pcie_phy>,
<0>;
clock-names = "bi_tcxo",
"bi_tcxo_ao",
"sleep_clk",
"pcie_pipe_clk",
"usb3_phy_wrapper_gcc_usb30_pipe_clk";
#power-domain-cells = <1>;
#clock-cells = <1>;
#reset-cells = <1>;
......@@ -233,32 +241,27 @@ usb_hsphy: phy@ff4000 {
usb_qmpphy: phy@ff6000 {
compatible = "qcom,sdx65-qmp-usb3-uni-phy";
reg = <0x00ff6000 0x1c8>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x00ff6000 0x2000>;
clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
<&gcc GCC_USB3_PRIM_CLKREF_EN>,
<&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
<&gcc GCC_USB3_PRIM_CLKREF_EN>;
clock-names = "aux", "cfg_ahb", "ref";
<&gcc GCC_USB3_PHY_PIPE_CLK>;
clock-names = "aux",
"ref",
"cfg_ahb",
"pipe";
clock-output-names = "usb3_uni_phy_pipe_clk_src";
#clock-cells = <0>;
#phy-cells = <0>;
resets = <&gcc GCC_USB3PHY_PHY_BCR>,
<&gcc GCC_USB3_PHY_BCR>;
reset-names = "phy", "common";
resets = <&gcc GCC_USB3_PHY_BCR>,
<&gcc GCC_USB3PHY_PHY_BCR>;
reset-names = "phy",
"phy_phy";
status = "disabled";
usb_ssphy: phy@ff6200 {
reg = <0x00ff6e00 0x160>,
<0x00ff7000 0x1ec>,
<0x00ff6200 0x1e00>;
#phy-cells = <0>;
#clock-cells = <0>;
clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "usb3_uni_phy_pipe_clk_src";
};
};
system_noc: interconnect@1620000 {
......@@ -338,7 +341,7 @@ pcie_ep: pcie-ep@1c00000 {
power-domains = <&gcc PCIE_GDSC>;
phys = <&pcie_phy>;
phy-names = "pcie-phy";
phy-names = "pciephy";
max-link-speed = <3>;
num-lanes = <2>;
......@@ -520,7 +523,7 @@ usb_dwc3: usb@a600000 {
iommus = <&apps_smmu 0x1a0 0x0>;
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;
phys = <&usb_hsphy>, <&usb_ssphy>;
phys = <&usb_hsphy>, <&usb_qmpphy>;
phy-names = "usb2-phy", "usb3-phy";
};
};
......@@ -530,7 +533,7 @@ restart@c264000 {
reg = <0x0c264000 0x1000>;
};
spmi_bus: qcom,spmi@c440000 {
spmi_bus: spmi@c440000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xc440000 0xd00>,
<0xc600000 0x2000000>,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment