Qualcomm ARM Based Device Tree Updates for v4.5
* Add support for Sony Xperia Z * Updates for Sony Honami board * Updates for APQ8064 generic platform * Updates for MSM8974 generic platform * Add fixed rate oscillators for MSM8960 and APQ8064 * Add documentation for SMSM and SMP2P * Fixup PMIC compat strings * Add support for SMEM, RPM/SMD on APQ8084 * Fixup compat on IFC5640 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJWcPySAAoJEFKiBbHx2RXVIq8P/3heOjXawoLnb6/xbiKzZ/fM T9weGZ4ISTT3LIWRgj2MjWh/Nl7dVDF7PnFzXibwoUefsaM30q+EXmKOZcM8VfRC dmnP7KEI80E7Y3sFknih9sYBvBsosq77rw8s148nMgliFFwKB06bboKzvz5lV3X6 0Vq6TPvVR2mwJcs9qnOI2k3wy7myZ59MpcQQceQPsgWz571a43j1bI/C5nVWRFuK QHJhOIwCTF2F8rVeWEAZ7avi4ATbkAv/523sy+kmbNQ61NlJGTsYit1ED4KM/D26 JfrHgtavsIY5cPgAR5om3+xE7XkRZunen+k5xKWYrsk1aOZK2ETZf0H39sZLE2tN 6U08J+Lylma+Vr2oA9oMsnuSMroi95+/qqML9mCARwZwZwjYwE3mj0OY6PcLly3a QbNShKf2wrY4gyY1GI4gZ86BwgDe5SVbgcd1sTLHFfXt0dW2tQuvJf0rxEtzCv3S xivMjNVJ4dpUILUmguWSmfpVi1h5b4poajBZEFR7qsXG1W0lvJJyIz+pp2gOYdT0 Pt2amBAj6Izi6bBojJfyA3SZ2+wYEqUyZOh1CyCYxdlwF8kE2Pv3ODsSRP+HlUnO Yk95gZqXT3s0qZR0QH3LXBNXReid416uqubgQ2knI+PWcqMonk7T/7KrKXSVSqko ZtuWPS3DErPGfdTE3yKv =1ERX -----END PGP SIGNATURE----- Merge tag 'qcom-dt-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm ARM Based Device Tree Updates for v4.5 * Add support for Sony Xperia Z * Updates for Sony Honami board * Updates for APQ8064 generic platform * Updates for MSM8974 generic platform * Add fixed rate oscillators for MSM8960 and APQ8064 * Add documentation for SMSM and SMP2P * Fixup PMIC compat strings * Add support for SMEM, RPM/SMD on APQ8084 * Fixup compat on IFC5640 * tag 'qcom-dt-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (24 commits) arm: dts: Add support for PMA8084 on APQ8084 arm: dts: Add RPM/SMD support on APQ8084 arm: dts: Add APQ8084 SMEM nodes ARM: dts: qcom: apq8064-ifc6410 Use hardware flow control for GSBI6 arm: dts: qcom: apq8064: Add fixed rate on-board oscillators ARM: dts: qcom: msm8974: Add i2c8 node ARM: dts: qcom: msm8974: Disable wled and move it to honami arm: dts: qcom: Add generic PMIC gpio/MPP compat strings arm: dts: qcom: Add aliases for PMICs arm: dts: qcom: Update ifc6540 compat for qcom boot format arm: dts: qcom: Add board clocks ARM: dts: qcom: apq8064: Introduce Sony Xperia Z dts ARM: dts: qcom: apq8064: Introduce gsbi5 and gsbi5 serial node ARM: dts: qcom: apq8064: Declare all pm8921 regulators ARM: dts: qcom: apq8064: Add hwmutex and SMEM nodes dt-binding: soc: qcom: Introduce qcom, smp2p binding documentation dt-binding: soc: qcom: Add Qualcomm SMSM device tree documentation devicetree: Add hardware rng entry to qcom-apq8064.dtsi ARM: dts: qcom: msm8974-honami: Specify charging parameters ARM: dts: qcom: msm8974-honami: Add uSD slot nodes ... Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
8eb1f10ee9
|
@ -0,0 +1,104 @@
|
|||
Qualcomm Shared Memory Point 2 Point binding
|
||||
|
||||
The Shared Memory Point to Point (SMP2P) protocol facilitates communication of
|
||||
a single 32-bit value between two processors. Each value has a single writer
|
||||
(the local side) and a single reader (the remote side). Values are uniquely
|
||||
identified in the system by the directed edge (local processor ID to remote
|
||||
processor ID) and a string identifier.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,smp2p"
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: one entry specifying the smp2p notification interrupt
|
||||
|
||||
- qcom,ipc:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: three entries specifying the outgoing ipc bit used for
|
||||
signaling the remote end of the smp2p edge:
|
||||
- phandle to a syscon node representing the apcs registers
|
||||
- u32 representing offset to the register within the syscon
|
||||
- u32 representing the ipc bit within the register
|
||||
|
||||
- qcom,smem:
|
||||
Usage: required
|
||||
Value type: <u32 array>
|
||||
Definition: two identifiers of the inbound and outbound smem items used
|
||||
for this edge
|
||||
|
||||
- qcom,local-pid:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: specifies the identfier of the local endpoint of this edge
|
||||
|
||||
- qcom,remote-pid:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: specifies the identfier of the remote endpoint of this edge
|
||||
|
||||
= SUBNODES
|
||||
Each SMP2P pair contain a set of inbound and outbound entries, these are
|
||||
described in subnodes of the smp2p device node. The node names are not
|
||||
important.
|
||||
|
||||
- qcom,entry-name:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: specifies the name of this entry, for inbound entries this
|
||||
will be used to match against the remotely allocated entry
|
||||
and for outbound entries this name is used for allocating
|
||||
entries
|
||||
|
||||
- interrupt-controller:
|
||||
Usage: required for incoming entries
|
||||
Value type: <empty>
|
||||
Definition: marks the entry as inbound; the node should be specified
|
||||
as a two cell interrupt-controller as defined in
|
||||
"../interrupt-controller/interrupts.txt"
|
||||
If not specified this node will denote the outgoing entry
|
||||
|
||||
- #interrupt-cells:
|
||||
Usage: required for incoming entries
|
||||
Value type: <u32>
|
||||
Definition: must be 2 - denoting the bit in the entry and IRQ flags
|
||||
|
||||
- #qcom,state-cells:
|
||||
Usage: required for outgoing entries
|
||||
Value type: <u32>
|
||||
Definition: must be 1 - denoting the bit in the entry
|
||||
|
||||
= EXAMPLE
|
||||
The following example shows the SMP2P setup with the wireless processor,
|
||||
defined from the 8974 apps processor's point-of-view. It encompasses one
|
||||
inbound and one outbound entry:
|
||||
|
||||
wcnss-smp2p {
|
||||
compatible = "qcom,smp2p";
|
||||
qcom,smem = <431>, <451>;
|
||||
|
||||
interrupts = <0 143 1>;
|
||||
|
||||
qcom,ipc = <&apcs 8 18>;
|
||||
|
||||
qcom,local-pid = <0>;
|
||||
qcom,remote-pid = <4>;
|
||||
|
||||
wcnss_smp2p_out: master-kernel {
|
||||
qcom,entry-name = "master-kernel";
|
||||
|
||||
#qcom,state-cells = <1>;
|
||||
};
|
||||
|
||||
wcnss_smp2p_in: slave-kernel {
|
||||
qcom,entry-name = "slave-kernel";
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,104 @@
|
|||
Qualcomm Shared Memory State Machine
|
||||
|
||||
The Shared Memory State Machine facilitates broadcasting of single bit state
|
||||
information between the processors in a Qualcomm SoC. Each processor is
|
||||
assigned 32 bits of state that can be modified. A processor can through a
|
||||
matrix of bitmaps signal subscription of notifications upon changes to a
|
||||
certain bit owned by a certain remote processor.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,smsm"
|
||||
|
||||
- qcom,ipc-N:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: three entries specifying the outgoing ipc bit used for
|
||||
signaling the N:th remote processor
|
||||
- phandle to a syscon node representing the apcs registers
|
||||
- u32 representing offset to the register within the syscon
|
||||
- u32 representing the ipc bit within the register
|
||||
|
||||
- qcom,local-host:
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: identifier of the local processor in the list of hosts, or
|
||||
in other words specifier of the column in the subscription
|
||||
matrix representing the local processor
|
||||
defaults to host 0
|
||||
|
||||
- #address-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 1
|
||||
|
||||
- #size-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 0
|
||||
|
||||
= SUBNODES
|
||||
Each processor's state bits are described by a subnode of the smsm device node.
|
||||
Nodes can either be flagged as an interrupt-controller to denote a remote
|
||||
processor's state bits or the local processors bits. The node names are not
|
||||
important.
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: specifies the offset, in words, of the first bit for this
|
||||
entry
|
||||
|
||||
- #qcom,state-cells:
|
||||
Usage: required for local entry
|
||||
Value type: <u32>
|
||||
Definition: must be 1 - denotes bit number
|
||||
|
||||
- interrupt-controller:
|
||||
Usage: required for remote entries
|
||||
Value type: <empty>
|
||||
Definition: marks the entry as a interrupt-controller and the state bits
|
||||
to belong to a remote processor
|
||||
|
||||
- #interrupt-cells:
|
||||
Usage: required for remote entries
|
||||
Value type: <u32>
|
||||
Definition: must be 2 - denotes bit number and IRQ flags
|
||||
|
||||
- interrupts:
|
||||
Usage: required for remote entries
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: one entry specifying remote IRQ used by the remote processor
|
||||
to signal changes of its state bits
|
||||
|
||||
|
||||
= EXAMPLE
|
||||
The following example shows the SMEM setup for controlling properties of the
|
||||
wireless processor, defined from the 8974 apps processor's point-of-view. It
|
||||
encompasses one outbound entry and the outgoing interrupt for the wireless
|
||||
processor.
|
||||
|
||||
smsm {
|
||||
compatible = "qcom,smsm";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ipc-3 = <&apcs 8 19>;
|
||||
|
||||
apps_smsm: apps@0 {
|
||||
reg = <0>;
|
||||
|
||||
#qcom,state-cells = <1>;
|
||||
};
|
||||
|
||||
wcnss_smsm: wcnss@7 {
|
||||
reg = <7>;
|
||||
interrupts = <0 144 1>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
|
@ -512,6 +512,7 @@ dtb-$(CONFIG_ARCH_PRIMA2) += \
|
|||
dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
qcom-apq8064-cm-qs600.dtb \
|
||||
qcom-apq8064-ifc6410.dtb \
|
||||
qcom-apq8064-sony-xperia-yuga.dtb \
|
||||
qcom-apq8074-dragonboard.dtb \
|
||||
qcom-apq8084-ifc6540.dtb \
|
||||
qcom-apq8084-mtp.dtb \
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
|
||||
|
||||
/* Buck SMPS */
|
||||
pm8921_s1: s1 {
|
||||
s1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
|
@ -62,43 +62,43 @@
|
|||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_s3: s3 {
|
||||
s3 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
qcom,switch-mode-frequency = <4800000>;
|
||||
};
|
||||
|
||||
pm8921_s4: s4 {
|
||||
s4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
};
|
||||
|
||||
pm8921_s7: s7 {
|
||||
s7 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
};
|
||||
|
||||
pm8921_l3: l3 {
|
||||
l3 {
|
||||
regulator-min-microvolt = <3050000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l4: l4 {
|
||||
l4 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l5: l5 {
|
||||
l5 {
|
||||
regulator-min-microvolt = <2750000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l23: l23 {
|
||||
l23 {
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
bias-pull-down;
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
|
||||
/* Buck SMPS */
|
||||
pm8921_s1: s1 {
|
||||
s1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
|
@ -72,55 +72,55 @@
|
|||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_s3: s3 {
|
||||
s3 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
qcom,switch-mode-frequency = <4800000>;
|
||||
};
|
||||
|
||||
pm8921_s4: s4 {
|
||||
s4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
};
|
||||
|
||||
pm8921_s7: s7 {
|
||||
s7 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
};
|
||||
|
||||
pm8921_l3: l3 {
|
||||
l3 {
|
||||
regulator-min-microvolt = <3050000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l4: l4 {
|
||||
l4 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l5: l5 {
|
||||
l5 {
|
||||
regulator-min-microvolt = <2750000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l6: l6 {
|
||||
l6 {
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_l23: l23 {
|
||||
l23 {
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
pm8921_lvs1: lvs1 {
|
||||
lvs1 {
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
@ -164,7 +164,7 @@
|
|||
|
||||
gsbi@16500000 {
|
||||
status = "ok";
|
||||
qcom,mode = <GSBI_PROT_I2C_UART>;
|
||||
qcom,mode = <GSBI_PROT_UART_W_FC>;
|
||||
|
||||
serial@16540000 {
|
||||
status = "ok";
|
||||
|
|
|
@ -0,0 +1,436 @@
|
|||
#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>
|
||||
|
||||
/ {
|
||||
model = "Sony Xperia Z";
|
||||
compatible = "sony,xperia-yuga", "qcom,apq8064";
|
||||
|
||||
aliases {
|
||||
serial0 = &gsbi5_serial;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
input-name = "gpio-keys";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gpio_keys_pin_a>;
|
||||
|
||||
camera-focus {
|
||||
label = "camera_focus";
|
||||
gpios = <&pm8921_gpio 3 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_CAMERA_FOCUS>;
|
||||
};
|
||||
|
||||
camera-snapshot {
|
||||
label = "camera_snapshot";
|
||||
gpios = <&pm8921_gpio 4 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_CAMERA>;
|
||||
};
|
||||
|
||||
volume-down {
|
||||
label = "volume_down";
|
||||
gpios = <&pm8921_gpio 29 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
volume-up {
|
||||
label = "volume_up";
|
||||
gpios = <&pm8921_gpio 35 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
pinctrl@800000 {
|
||||
gsbi5_uart_pin_a: gsbi5-uart-pin-active {
|
||||
rx {
|
||||
pins = "gpio52";
|
||||
function = "gsbi5";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
tx {
|
||||
pins = "gpio51";
|
||||
function = "gsbi5";
|
||||
drive-strength = <4>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
sdcc1_pin_a: sdcc1-pin-active {
|
||||
clk {
|
||||
pins = "sdc1_clk";
|
||||
drive-strengh = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
cmd {
|
||||
pins = "sdc1_cmd";
|
||||
drive-strengh = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
data {
|
||||
pins = "sdc1_data";
|
||||
drive-strengh = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
sdcc3_pin_a: sdcc3-pin-active {
|
||||
clk {
|
||||
pins = "sdc3_clk";
|
||||
drive-strengh = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
cmd {
|
||||
pins = "sdc3_cmd";
|
||||
drive-strengh = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
data {
|
||||
pins = "sdc3_data";
|
||||
drive-strengh = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
sdcc3_cd_pin_a: sdcc3-cd-pin-active {
|
||||
pins = "gpio26";
|
||||
function = "gpio";
|
||||
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
rpm@108000 {
|
||||
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>;
|
||||
vin_ncp-supply = <&pm8921_l6>;
|
||||
vin_lvs2-supply = <&pm8921_s4>;
|
||||
vin_l24-supply = <&pm8921_s1>;
|
||||
vin_l25-supply = <&pm8921_s1>;
|
||||
vin_l27-supply = <&pm8921_s7>;
|
||||
vin_l28-supply = <&pm8921_s7>;
|
||||
|
||||
/* Buck SMPS */
|
||||
s1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
s2 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
s3 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
qcom,switch-mode-frequency = <4800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
s4 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
|
||||
};
|
||||
|
||||
s7 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
};
|
||||
|
||||
s8 {
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
};
|
||||
|
||||
/* PMOS LDO */
|
||||
l1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l2 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l3 {
|
||||
regulator-min-microvolt = <3075000>;
|
||||
regulator-max-microvolt = <3075000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l4 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l5 {
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l6 {
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l7 {
|
||||
regulator-min-microvolt = <1850000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l8 {
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l9 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l10 {
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <2900000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l11 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l12 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l14 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l15 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l16 {
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l17 {
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l18 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l21 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l22 {
|
||||
regulator-min-microvolt = <2600000>;
|
||||
regulator-max-microvolt = <2600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l23 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l24 {
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l25 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1250000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l27 {
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
l28 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
l29 {
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
/* Low Voltage Switch */
|
||||
lvs1 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
lvs2 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
lvs3 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
lvs4 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
lvs5 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
lvs6 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
lvs7 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
usb-switch {};
|
||||
|
||||
hdmi-switch {};
|
||||
|
||||
ncp {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qcom,ssbi@500000 {
|
||||
pmic@0 {
|
||||
gpio@150 {
|
||||
gpio_keys_pin_a: gpio-keys-pin-active {
|
||||
pins = "gpio3", "gpio4", "gpio29", "gpio35";
|
||||
function = "normal";
|
||||
|
||||
bias-pull-up;
|
||||
drive-push-pull;
|
||||
input-enable;
|
||||
power-source = <2>;
|
||||
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
|
||||
qcom,pull-up-strength = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phy@12500000 {
|
||||
status = "okay";
|
||||
vddcx-supply = <&pm8921_s3>;
|
||||
v3p3-supply = <&pm8921_l3>;
|
||||
v1p8-supply = <&pm8921_l4>;
|
||||
};
|
||||
|
||||
gadget@12500000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
gsbi@1a200000 {
|
||||
status = "ok";
|
||||
qcom,mode = <GSBI_PROT_I2C_UART>;
|
||||
|
||||
serial@1a240000 {
|
||||
status = "ok";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gsbi5_uart_pin_a>;
|
||||
};
|
||||
};
|
||||
|
||||
amba {
|
||||
sdcc1: sdcc@12400000 {
|
||||
status = "okay";
|
||||
|
||||
vmmc-supply = <&pm8921_l5>;
|
||||
vqmmc-supply = <&pm8921_s4>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdcc1_pin_a>;
|
||||
};
|
||||
|
||||
sdcc3: sdcc@12180000 {
|
||||
status = "okay";
|
||||
|
||||
vmmc-supply = <&pm8921_l6>;
|
||||
cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdcc3_pin_a>, <&sdcc3_cd_pin_a>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
|
@ -11,6 +11,17 @@
|
|||
compatible = "qcom,apq8064";
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
smem_region: smem@80000000 {
|
||||
reg = <0x80000000 0x200000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -80,6 +91,39 @@
|
|||
interrupts = <1 10 0x304>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
cxo_board {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <19200000>;
|
||||
};
|
||||
|
||||
pxo_board {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <27000000>;
|
||||
};
|
||||
|
||||
sleep_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
sfpb_mutex: hwmutex {
|
||||
compatible = "qcom,sfpb-mutex";
|
||||
syscon = <&sfpb_wrapper_mutex 0x604 0x4>;
|
||||
#hwlock-cells = <1>;
|
||||
};
|
||||
|
||||
smem {
|
||||
compatible = "qcom,smem";
|
||||
memory-region = <&smem_region>;
|
||||
|
||||
hwlocks = <&sfpb_mutex 3>;
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -156,6 +200,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
sfpb_wrapper_mutex: syscon@1200000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x01200000 0x8000>;
|
||||
};
|
||||
|
||||
intc: interrupt-controller@2000000 {
|
||||
compatible = "qcom,msm-qgic2";
|
||||
interrupt-controller;
|
||||
|
@ -291,6 +340,28 @@
|
|||
};
|
||||
};
|
||||
|
||||
gsbi5: gsbi@1a200000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,gsbi-v1.0.0";
|
||||
cell-index = <5>;
|
||||
reg = <0x1a200000 0x03>;
|
||||
clocks = <&gcc GSBI5_H_CLK>;
|
||||
clock-names = "iface";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
gsbi5_serial: serial@1a240000 {
|
||||
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
|
||||
reg = <0x1a240000 0x100>,
|
||||
<0x1a200000 0x03>;
|
||||
interrupts = <0 154 0x0>;
|
||||
clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
gsbi6: gsbi@16500000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,gsbi-v1.0.0";
|
||||
|
@ -336,6 +407,13 @@
|
|||
};
|
||||
};
|
||||
|
||||
rng@1a500000 {
|
||||
compatible = "qcom,prng";
|
||||
reg = <0x1a500000 0x200>;
|
||||
clocks = <&gcc PRNG_CLK>;
|
||||
clock-names = "core";
|
||||
};
|
||||
|
||||
qcom,ssbi@500000 {
|
||||
compatible = "qcom,ssbi";
|
||||
reg = <0x00500000 0x1000>;
|
||||
|
@ -352,7 +430,8 @@
|
|||
|
||||
pm8921_gpio: gpio@150 {
|
||||
|
||||
compatible = "qcom,pm8921-gpio";
|
||||
compatible = "qcom,pm8921-gpio",
|
||||
"qcom,ssbi-gpio";
|
||||
reg = <0x150>;
|
||||
interrupts = <192 1>, <193 1>, <194 1>,
|
||||
<195 1>, <196 1>, <197 1>,
|
||||
|
@ -376,7 +455,8 @@
|
|||
};
|
||||
|
||||
pm8921_mpps: mpps@50 {
|
||||
compatible = "qcom,pm8921-mpp";
|
||||
compatible = "qcom,pm8921-mpp",
|
||||
"qcom,ssbi-mpp";
|
||||
reg = <0x50>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -444,9 +524,55 @@
|
|||
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 {};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart2;
|
||||
usid0 = &pm8941_0;
|
||||
usid4 = &pm8841_0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
|
|
@ -3,10 +3,11 @@
|
|||
|
||||
/ {
|
||||
model = "Qualcomm APQ8084/IFC6540";
|
||||
compatible = "qcom,apq8084-ifc6540", "qcom,apq8084";
|
||||
compatible = "qcom,apq8084-sbc", "qcom,apq8084";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp2_uart2;
|
||||
usid0 = &pma8084_0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
aliases {
|
||||
serial0 = &blsp2_uart2;
|
||||
usid0 = &pma8084_0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
|
|
@ -10,6 +10,17 @@
|
|||
compatible = "qcom,apq8084";
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
smem_mem: smem_region@fa00000 {
|
||||
reg = <0xfa00000 0x200000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -89,6 +100,15 @@
|
|||
clock-frequency = <19200000>;
|
||||
};
|
||||
|
||||
smem {
|
||||
compatible = "qcom,smem";
|
||||
|
||||
qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
memory-region = <&smem_mem>;
|
||||
|
||||
hwlocks = <&tcsr_mutex 3>;
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -103,6 +123,11 @@
|
|||
<0xf9002000 0x1000>;
|
||||
};
|
||||
|
||||
apcs: syscon@f9011000 {
|
||||
compatible = "syscon";
|
||||
reg = <0xf9011000 0x1000>;
|
||||
};
|
||||
|
||||
timer@f9020000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -225,6 +250,22 @@
|
|||
reg = <0xfc400000 0x4000>;
|
||||
};
|
||||
|
||||
tcsr_mutex_regs: syscon@fd484000 {
|
||||
compatible = "syscon";
|
||||
reg = <0xfd484000 0x2000>;
|
||||
};
|
||||
|
||||
tcsr_mutex: hwlock {
|
||||
compatible = "qcom,tcsr-mutex";
|
||||
syscon = <&tcsr_mutex_regs 0 0x80>;
|
||||
#hwlock-cells = <1>;
|
||||
};
|
||||
|
||||
rpm_msg_ram: memory@fc428000 {
|
||||
compatible = "qcom,rpm-msg-ram";
|
||||
reg = <0xfc428000 0x4000>;
|
||||
};
|
||||
|
||||
tlmm: pinctrl@fd510000 {
|
||||
compatible = "qcom,apq8084-pinctrl";
|
||||
reg = <0xfd510000 0x4000>;
|
||||
|
@ -282,4 +323,71 @@
|
|||
#interrupt-cells = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
smd {
|
||||
compatible = "qcom,smd";
|
||||
|
||||
rpm {
|
||||
interrupts = <0 168 1>;
|
||||
qcom,ipc = <&apcs 8 0>;
|
||||
qcom,smd-edge = <15>;
|
||||
|
||||
rpm_requests {
|
||||
compatible = "qcom,rpm-apq8084";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
pma8084-regulators {
|
||||
compatible = "qcom,rpm-pma8084-regulators";
|
||||
|
||||
pma8084_s1: s1 {};
|
||||
pma8084_s2: s2 {};
|
||||
pma8084_s3: s3 {};
|
||||
pma8084_s4: s4 {};
|
||||
pma8084_s5: s5 {};
|
||||
pma8084_s6: s6 {};
|
||||
pma8084_s7: s7 {};
|
||||
pma8084_s8: s8 {};
|
||||
pma8084_s9: s9 {};
|
||||
pma8084_s10: s10 {};
|
||||
pma8084_s11: s11 {};
|
||||
pma8084_s12: s12 {};
|
||||
|
||||
pma8084_l1: l1 {};
|
||||
pma8084_l2: l2 {};
|
||||
pma8084_l3: l3 {};
|
||||
pma8084_l4: l4 {};
|
||||
pma8084_l5: l5 {};
|
||||
pma8084_l6: l6 {};
|
||||
pma8084_l7: l7 {};
|
||||
pma8084_l8: l8 {};
|
||||
pma8084_l9: l9 {};
|
||||
pma8084_l10: l10 {};
|
||||
pma8084_l11: l11 {};
|
||||
pma8084_l12: l12 {};
|
||||
pma8084_l13: l13 {};
|
||||
pma8084_l14: l14 {};
|
||||
pma8084_l15: l15 {};
|
||||
pma8084_l16: l16 {};
|
||||
pma8084_l17: l17 {};
|
||||
pma8084_l18: l18 {};
|
||||
pma8084_l19: l19 {};
|
||||
pma8084_l20: l20 {};
|
||||
pma8084_l21: l21 {};
|
||||
pma8084_l22: l22 {};
|
||||
pma8084_l23: l23 {};
|
||||
pma8084_l24: l24 {};
|
||||
pma8084_l25: l25 {};
|
||||
pma8084_l26: l26 {};
|
||||
pma8084_l27: l27 {};
|
||||
|
||||
pma8084_lvs1: lvs1 {};
|
||||
pma8084_lvs2: lvs2 {};
|
||||
pma8084_lvs3: lvs3 {};
|
||||
pma8084_lvs4: lvs4 {};
|
||||
|
||||
pma8084_5vs1: 5vs1 {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -49,6 +49,29 @@
|
|||
qcom,no-pc-write;
|
||||
};
|
||||
|
||||
clocks {
|
||||
cxo_board {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <19200000>;
|
||||
clock-output-names = "cxo_board";
|
||||
};
|
||||
|
||||
pxo_board {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <27000000>;
|
||||
clock-output-names = "pxo_board";
|
||||
};
|
||||
|
||||
sleep_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "sleep_clk";
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#include "qcom-msm8974.dtsi"
|
||||
#include "qcom-pm8841.dtsi"
|
||||
#include "qcom-pm8941.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Sony Xperia Z1";
|
||||
|
@ -14,24 +17,403 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
input-name = "gpio-keys";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gpio_keys_pin_a>;
|
||||
|
||||
volume-down {
|
||||
label = "volume_down";
|
||||
gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
camera-snapshot {
|
||||
label = "camera_snapshot";
|
||||
gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_CAMERA>;
|
||||
};
|
||||
|
||||
camera-focus {
|
||||
label = "camera_focus";
|
||||
gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_CAMERA_FOCUS>;
|
||||
};
|
||||
|
||||
volume-up {
|
||||
label = "volume_up";
|
||||
gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
reg = <0 0x40000000>, <0x40000000 0x40000000>;
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
smd {
|
||||
rpm {
|
||||
rpm_requests {
|
||||
pm8841-regulators {
|
||||
s1 {
|
||||
regulator-min-microvolt = <675000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
s3 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
s4 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
};
|
||||
|
||||
pm8941-regulators {
|
||||
vdd_l1_l3-supply = <&pm8941_s1>;
|
||||
vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
|
||||
vdd_l4_l11-supply = <&pm8941_s1>;
|
||||
vdd_l5_l7-supply = <&pm8941_s2>;
|
||||
vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
|
||||
vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
|
||||
vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
|
||||
vdd_l21-supply = <&vreg_boost>;
|
||||
vin_5vs-supply = <&pm8941_5v>;
|
||||
|
||||
s1 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
s2 {
|
||||
regulator-min-microvolt = <2150000>;
|
||||
regulator-max-microvolt = <2150000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
s3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
s4 {
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
l1 {
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
l2 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
l3 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
l4 {
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
};
|
||||
|
||||
l5 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
l6 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
l7 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
l8 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
l9 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
};
|
||||
|
||||
l11 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
};
|
||||
|
||||
l12 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
l13 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
l14 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
l15 {
|
||||
regulator-min-microvolt = <2050000>;
|
||||
regulator-max-microvolt = <2050000>;
|
||||
};
|
||||
|
||||
l16 {
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <2700000>;
|
||||
};
|
||||
|
||||
l17 {
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <2700000>;
|
||||
};
|
||||
|
||||
l18 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
};
|
||||
|
||||
l19 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
l20 {
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
|
||||
regulator-allow-set-load;
|
||||
regulator-boot-on;
|
||||
regulator-system-load = <200000>;
|
||||
};
|
||||
|
||||
l21 {
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
l22 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
l23 {
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
l24 {
|
||||
regulator-min-microvolt = <3075000>;
|
||||
regulator-max-microvolt = <3075000>;
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
sdhci@f9824900 {
|
||||
status = "ok";
|
||||
|
||||
vmmc-supply = <&pm8941_l20>;
|
||||
vqmmc-supply = <&pm8941_s3>;
|
||||
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdhc1_pin_a>;
|
||||
};
|
||||
|
||||
sdhci@f98a4900 {
|
||||
status = "ok";
|
||||
|
||||
bus-width = <4>;
|
||||
|
||||
vmmc-supply = <&pm8941_l21>;
|
||||
vqmmc-supply = <&pm8941_l13>;
|
||||
|
||||
cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
|
||||
};
|
||||
|
||||
serial@f991e000 {
|
||||
status = "ok";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&blsp1_uart2_pin_a>;
|
||||
};
|
||||
|
||||
pinctrl@fd510000 {
|
||||
blsp1_uart2_pin_a: blsp1-uart2-pin-active {
|
||||
rx {
|
||||
pins = "gpio5";
|
||||
function = "blsp_uart2";
|
||||
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
tx {
|
||||
pins = "gpio4";
|
||||
function = "blsp_uart2";
|
||||
|
||||
drive-strength = <4>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
sdhc1_pin_a: sdhc1-pin-active {
|
||||
clk {
|
||||
pins = "sdc1_clk";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
cmd-data {
|
||||
pins = "sdc1_cmd", "sdc1_data";
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
sdhc2_cd_pin_a: sdhc2-cd-pin-active {
|
||||
pins = "gpio62";
|
||||
function = "gpio";
|
||||
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
sdhc2_pin_a: sdhc2-pin-active {
|
||||
clk {
|
||||
pins = "sdc2_clk";
|
||||
drive-strength = <10>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
cmd-data {
|
||||
pins = "sdc2_cmd", "sdc2_data";
|
||||
drive-strength = <6>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
&spmi_bus {
|
||||
pm8941@0 {
|
||||
charger@1000 {
|
||||
qcom,fast-charge-safe-current = <1500000>;
|
||||
qcom,fast-charge-current-limit = <1500000>;
|
||||
qcom,dc-current-limit = <1800000>;
|
||||
qcom,fast-charge-safe-voltage = <4400000>;
|
||||
qcom,fast-charge-high-threshold-voltage = <4350000>;
|
||||
qcom,fast-charge-low-threshold-voltage = <3400000>;
|
||||
qcom,auto-recharge-threshold-voltage = <4200000>;
|
||||
qcom,minimum-input-voltage = <4300000>;
|
||||
};
|
||||
|
||||
gpios@c000 {
|
||||
boost_bypass_n_pin: boost-bypass {
|
||||
pins = "gpio21";
|
||||
function = "normal";
|
||||
};
|
||||
|
||||
gpio_keys_pin_a: gpio-keys-active {
|
||||
pins = "gpio2", "gpio3", "gpio4", "gpio5";
|
||||
function = "normal";
|
||||
|
||||
bias-pull-up;
|
||||
power-source = <PM8941_GPIO_S3>;
|
||||
};
|
||||
};
|
||||
|
||||
coincell@2800 {
|
||||
status = "ok";
|
||||
qcom,rset-ohms = <2100>;
|
||||
qcom,vset-millivolts = <3000>;
|
||||
};
|
||||
};
|
||||
|
||||
pm8941@1 {
|
||||
wled@d800 {
|
||||
status = "ok";
|
||||
|
||||
qcom,cs-out;
|
||||
qcom,current-limit = <20>;
|
||||
qcom,current-boost-limit = <805>;
|
||||
qcom,switching-freq = <1600>;
|
||||
qcom,ovp = <29>;
|
||||
qcom,num-strings = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -319,6 +319,17 @@
|
|||
interrupts = <0 208 0>;
|
||||
};
|
||||
|
||||
blsp_i2c8: i2c@f9964000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,i2c-qup-v2.1.1";
|
||||
reg = <0xf9964000 0x1000>;
|
||||
interrupts = <0 102 IRQ_TYPE_NONE>;
|
||||
clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
blsp_i2c11: i2c@f9967000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,i2c-qup-v2.1.1";
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
|
||||
&spmi_bus {
|
||||
|
||||
usid4: pm8841@4 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
pm8841_0: pm8841@4 {
|
||||
compatible = "qcom,pm8841", "qcom,spmi-pmic";
|
||||
reg = <0x4 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm8841_mpps: mpps@a000 {
|
||||
compatible = "qcom,pm8841-mpp";
|
||||
compatible = "qcom,pm8841-mpp", "qcom,spmi-mpp";
|
||||
reg = <0xa000 0x400>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -27,8 +27,8 @@
|
|||
};
|
||||
};
|
||||
|
||||
usid5: pm8841@5 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
pm8841_1: pm8841@5 {
|
||||
compatible = "qcom,pm8841", "qcom,spmi-pmic";
|
||||
reg = <0x5 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
&spmi_bus {
|
||||
|
||||
usid0: pm8941@0 {
|
||||
compatible ="qcom,spmi-pmic";
|
||||
pm8941_0: pm8941@0 {
|
||||
compatible = "qcom,pm8941", "qcom,spmi-pmic";
|
||||
reg = <0x0 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -48,7 +48,7 @@
|
|||
};
|
||||
|
||||
pm8941_gpios: gpios@c000 {
|
||||
compatible = "qcom,pm8941-gpio";
|
||||
compatible = "qcom,pm8941-gpio", "qcom,spmi-gpio";
|
||||
reg = <0xc000 0x2400>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -91,7 +91,7 @@
|
|||
};
|
||||
|
||||
pm8941_mpps: mpps@a000 {
|
||||
compatible = "qcom,pm8941-mpp";
|
||||
compatible = "qcom,pm8941-mpp", "qcom,spmi-mpp";
|
||||
reg = <0xa000 0x800>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -153,23 +153,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
usid1: pm8941@1 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
pm8941_1: pm8941@1 {
|
||||
compatible = "qcom,pm8941", "qcom,spmi-pmic";
|
||||
reg = <0x1 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wled@d800 {
|
||||
pm8941_wled: wled@d800 {
|
||||
compatible = "qcom,pm8941-wled";
|
||||
reg = <0xd800 0x100>;
|
||||
label = "backlight";
|
||||
|
||||
qcom,cs-out;
|
||||
qcom,current-limit = <20>;
|
||||
qcom,current-boost-limit = <805>;
|
||||
qcom,switching-freq = <1600>;
|
||||
qcom,ovp = <29>;
|
||||
qcom,num-strings = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
&spmi_bus {
|
||||
|
||||
usid0: pma8084@0 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
pma8084_0: pma8084@0 {
|
||||
compatible = "qcom,pma8084", "qcom,spmi-pmic";
|
||||
reg = <0x0 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -19,7 +19,7 @@
|
|||
};
|
||||
|
||||
pma8084_gpios: gpios@c000 {
|
||||
compatible = "qcom,pma8084-gpio";
|
||||
compatible = "qcom,pma8084-gpio", "qcom,spmi-gpio";
|
||||
reg = <0xc000 0x1600>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -48,7 +48,7 @@
|
|||
};
|
||||
|
||||
pma8084_mpps: mpps@a000 {
|
||||
compatible = "qcom,pma8084-mpp";
|
||||
compatible = "qcom,pma8084-mpp", "qcom,spmi-mpp";
|
||||
reg = <0xa000 0x800>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -101,8 +101,8 @@
|
|||
};
|
||||
};
|
||||
|
||||
usid1: pma8084@1 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
pma8084_1: pma8084@1 {
|
||||
compatible = "qcom,pma8084", "qcom,spmi-pmic";
|
||||
reg = <0x1 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
Loading…
Reference in New Issue