forked from Minki/linux
Qualcomm Device Tree Changes for v4.8
* Reverse BAM dma node reverts * Add BAM remote control options for affected platforms * Enable peripherals on APQ8074 dragonboard * Enable PMA8084 pwrky * Fix PMIC reg entries by removing unnecessary size element * Add SCM binding and support for all currently supported boards * Add Qualcomm WCNSS binding documentation * Rename db600c to SD_600eval and add peripheral nodes * Remove gpio key entry from Nexus7 * Add APQ8060 based dragonboard and associated peripherals * Add ARMv7 PMU for IPQ4019 * Update smem state cells to match documentation -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJXcarRAAoJEFKiBbHx2RXVWsMQAJuNe5NNiNQlbI2oqT1sjanu CUq0Wlt1JxDJd/TZM7/Mb47JCUus6jWZsjuH6G4h8EnIHJqiRfgtW0QBL8pIE6Sh qZkFZgnXkdIr2paW8Ut0Pt6Dg+23tAM5+LxO6ouYAsQy8iDPhyqqUTI/KOCFsQte j0JjoiSsC9OwCYfU3M5gVxInS6TeWF5k9+NJ0EFc0MC/ta1hKuHu1j3XVzBB7Ncv CS+rneijpNRdCELvCaRMzmfNoK9rPNO4Z2E8OB+qjm5aXOk2REFAEYBSk7T8leLI NUGQiXfYfKwO0Y+MqORtCTmJ5AGkCqlTRglZROsQ2mVcgSvpbscJaauQLSn4r1w7 JRHC+T6LqxaAAqZcw1uYDgO5GHKHJ8nLC9+1oXmc5Ztx8mmeuNHAOgsiIrgyBjOu oXcZmrgp/iLFTVWHCqOGusXoN2J85TcsHvzXH0p0gG/SK0SOS+l/z8dZ+gqYq5TA KMzx6yNm4d9f4NoGjdlwRyVLB2+4UrEz2aiVlitizMNWfN9kWxTQxFpeSm+pstzy YtyuVo1t4MmaUZVeqFh5DwlHe6POnJ1chU2XwTTJyiYit4rKYkGNSdAVn4EP1b3H bHJTQgrbt6wG6H/FAFzxVp8+t41/VIPqslidVUDVhyInQnpbBsa6uQr2J42Yi7L5 G+O0abSwLiPBy7XLBZS8 =WKcG -----END PGP SIGNATURE----- Merge tag 'qcom-dt-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm Device Tree Changes for v4.8 * Reverse BAM dma node reverts * Add BAM remote control options for affected platforms * Enable peripherals on APQ8074 dragonboard * Enable PMA8084 pwrky * Fix PMIC reg entries by removing unnecessary size element * Add SCM binding and support for all currently supported boards * Add Qualcomm WCNSS binding documentation * Rename db600c to SD_600eval and add peripheral nodes * Remove gpio key entry from Nexus7 * Add APQ8060 based dragonboard and associated peripherals * Add ARMv7 PMU for IPQ4019 * Update smem state cells to match documentation * tag 'qcom-dt-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (26 commits) dts: ipq4019: support ARMv7 PMU ARM: dts: add Qualcomm APQ8060-based Dragonboard ARM: dts: move the fixed MMC regulator to SURF board ARM: dts: fix the MSM8660 RTC base address ARM: dts: add I2C block in GSBI12 ARM: dts: add L2CC and RPM with regulators for MSM8660 ARM: dts: add SDCC5 to Qualcomm MSM8660 ARM: dts: add GPIO and MPP to MSM8660 PMIC device-tree: nexus7: Remove power gpio key entry and use pmic8xxx-pwrkey arm: dts: qcom: Update smem state cells usage ARM: dts: qcom: msm8974-honami: Set DMA as remotely controlled ARM: dts: sd_600eval: Fix eMMC lockup issue ARM: dts: apq8064: rename db600c to SD_600eval ARM: dts: apq8064: move sdcc3 pinctrls out of baord file ARM: dts: apq8064: move sdcc1 pinctrl nodes to soc file dt: binding: Add Qualcomm WCNSS control binding dts: qcom: apq8064: Add SCM firmware node dts: qcom: msm8974: Add SCM firmware node dts: qcom: apq8084: Add SCM firmware node dt/bindings: firmware: Add Qualcomm SCM binding ... Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
24cf731637
Documentation/devicetree/bindings
arch/arm/boot/dts
Makefileqcom-apq8060-dragonboard.dtsqcom-apq8064-arrow-sd-600eval-pins.dtsiqcom-apq8064-arrow-sd-600eval.dtsqcom-apq8064-asus-nexus7-flo.dtsqcom-apq8064-pins.dtsiqcom-apq8064-sony-xperia-yuga.dtsqcom-apq8064.dtsiqcom-apq8074-dragonboard.dtsqcom-apq8084.dtsiqcom-ipq4019.dtsiqcom-msm8660-surf.dtsqcom-msm8660.dtsiqcom-msm8974-sony-xperia-honami.dtsqcom-msm8974.dtsiqcom-pma8084.dtsi
28
Documentation/devicetree/bindings/firmware/qcom,scm.txt
Normal file
28
Documentation/devicetree/bindings/firmware/qcom,scm.txt
Normal file
@ -0,0 +1,28 @@
|
||||
QCOM Secure Channel Manager (SCM)
|
||||
|
||||
Qualcomm processors include an interface to communicate to the secure firmware.
|
||||
This interface allows for clients to request different types of actions. These
|
||||
can include CPU power up/down, HDCP requests, loading of firmware, and other
|
||||
assorted actions.
|
||||
|
||||
Required properties:
|
||||
- compatible: must contain one of the following:
|
||||
* "qcom,scm-apq8064" for APQ8064 platforms
|
||||
* "qcom,scm-msm8660" for MSM8660 platforms
|
||||
* "qcom,scm-msm8690" for MSM8690 platforms
|
||||
* "qcom,scm" for later processors (MSM8916, APQ8084, MSM8974, etc)
|
||||
- clocks: One to three clocks may be required based on compatible.
|
||||
* Only core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660", and "qcom,scm-msm8960"
|
||||
* Core, iface, and bus clocks required for "qcom,scm"
|
||||
- clock-names: Must contain "core" for the core clock, "iface" for the interface
|
||||
clock and "bus" for the bus clock per the requirements of the compatible.
|
||||
|
||||
Example for MSM8916:
|
||||
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm";
|
||||
clocks = <&gcc GCC_CRYPTO_CLK> , <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
|
||||
clock-names = "core", "bus", "iface";
|
||||
};
|
||||
};
|
116
Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.txt
Normal file
116
Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.txt
Normal file
@ -0,0 +1,116 @@
|
||||
Qualcomm WCNSS Binding
|
||||
|
||||
This binding describes the Qualcomm WCNSS hardware. It consists of control
|
||||
block and a BT, WiFi and FM radio block, all using SMD as command channels.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be: "qcom,wcnss",
|
||||
|
||||
- qcom,smd-channel:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: standard SMD property specifying the SMD channel used for
|
||||
communication with the WiFi firmware.
|
||||
Should be "WCNSS_CTRL".
|
||||
|
||||
- qcom,mmio:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: reference to a node specifying the wcnss "ccu" and "dxe"
|
||||
register blocks. The node must be compatible with one of
|
||||
the following:
|
||||
"qcom,riva",
|
||||
"qcom,pronto"
|
||||
|
||||
= SUBNODES
|
||||
The subnodes of the wcnss node are optional and describe the individual blocks in
|
||||
the WCNSS.
|
||||
|
||||
== Bluetooth
|
||||
The following properties are defined to the bluetooth node:
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be:
|
||||
"qcom,wcnss-bt"
|
||||
|
||||
== WiFi
|
||||
The following properties are defined to the WiFi node:
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,wcnss-wlan",
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify the "rx" and "tx" interrupts
|
||||
|
||||
- interrupt-names:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must contain "rx" and "tx"
|
||||
|
||||
- qcom,smem-state:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should reference the tx-enable and tx-rings-empty SMEM states
|
||||
|
||||
- qcom,smem-state-names:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must contain "tx-enable" and "tx-rings-empty"
|
||||
|
||||
= EXAMPLE
|
||||
The following example represents a SMD node, with one edge representing the
|
||||
"pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks
|
||||
described; as found on the 8974 platform.
|
||||
|
||||
smd {
|
||||
compatible = "qcom,smd";
|
||||
|
||||
pronto-edge {
|
||||
interrupts = <0 142 1>;
|
||||
|
||||
qcom,ipc = <&apcs 8 17>;
|
||||
qcom,smd-edge = <6>;
|
||||
|
||||
wcnss {
|
||||
compatible = "qcom,wcnss";
|
||||
qcom,smd-channels = "WCNSS_CTRL";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
qcom,mmio = <&pronto>;
|
||||
|
||||
bt {
|
||||
compatible = "qcom,wcnss-bt";
|
||||
};
|
||||
|
||||
wlan {
|
||||
compatible = "qcom,wcnss-wlan";
|
||||
|
||||
interrupts = <0 145 0>, <0 146 0>;
|
||||
interrupt-names = "tx", "rx";
|
||||
|
||||
qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>;
|
||||
qcom,smem-state-names = "tx-enable", "tx-rings-empty";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
pronto: pronto {
|
||||
compatible = "qcom,pronto";
|
||||
|
||||
reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
|
||||
reg-names = "ccu", "dxe", "pmu";
|
||||
};
|
||||
};
|
@ -578,7 +578,8 @@ dtb-$(CONFIG_ARCH_PRIMA2) += \
|
||||
dtb-$(CONFIG_ARCH_OXNAS) += \
|
||||
wd-mbwe.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
qcom-apq8064-arrow-db600c.dtb \
|
||||
qcom-apq8060-dragonboard.dtb \
|
||||
qcom-apq8064-arrow-sd-600eval.dtb \
|
||||
qcom-apq8064-cm-qs600.dtb \
|
||||
qcom-apq8064-ifc6410.dtb \
|
||||
qcom-apq8064-sony-xperia-yuga.dtb \
|
||||
|
626
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
Normal file
626
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
Normal file
@ -0,0 +1,626 @@
|
||||
/*
|
||||
* Copyright 2016 Linaro Ltd
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
||||
#include "qcom-msm8660.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm APQ8060 Dragonboard";
|
||||
compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
|
||||
|
||||
aliases {
|
||||
serial0 = &gsbi12_serial;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
|
||||
/* Main power of the board: 3.7V */
|
||||
vph: regulator-fixed {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-min-microvolt = <3700000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
regulator-name = "VPH";
|
||||
regulator-type = "voltage";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
/* This is a levelshifter for SDCC5 */
|
||||
dragon_vio_txb: txb0104rgyr {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "Dragon SDCC levelshifter";
|
||||
vin-supply = <&pm8058_l14>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
pinctrl@800000 {
|
||||
/* eMMMC pins, all 8 data lines connected */
|
||||
dragon_sdcc1_pins: sdcc1 {
|
||||
mux {
|
||||
pins = "gpio159", "gpio160", "gpio161",
|
||||
"gpio162", "gpio163", "gpio164",
|
||||
"gpio165", "gpio166", "gpio167",
|
||||
"gpio168";
|
||||
function = "sdc1";
|
||||
};
|
||||
clk {
|
||||
pins = "gpio167"; /* SDC5 CLK */
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
cmd {
|
||||
pins = "gpio168"; /* SDC5 CMD */
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
data {
|
||||
/* SDC5 D0 to D7 */
|
||||
pins = "gpio159", "gpio160", "gpio161", "gpio162",
|
||||
"gpio163", "gpio164", "gpio165", "gpio166";
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* The SDCC3 pins are hardcoded (non-muxable) but need some pin
|
||||
* configuration.
|
||||
*/
|
||||
dragon_sdcc3_pins: sdcc3 {
|
||||
clk {
|
||||
pins = "sdc3_clk";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
cmd {
|
||||
pins = "sdc3_cmd";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
data {
|
||||
pins = "sdc3_data";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
/* Second SD card slot pins */
|
||||
dragon_sdcc5_pins: sdcc5 {
|
||||
mux {
|
||||
pins = "gpio95", "gpio96", "gpio97",
|
||||
"gpio98", "gpio99", "gpio100";
|
||||
function = "sdc5";
|
||||
};
|
||||
clk {
|
||||
pins = "gpio97"; /* SDC5 CLK */
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
cmd {
|
||||
pins = "gpio95"; /* SDC5 CMD */
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
data {
|
||||
/* SDC5 D0 to D3 */
|
||||
pins = "gpio96", "gpio98", "gpio99", "gpio100";
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
dragon_gsbi12_i2c_pins: gsbi12_i2c {
|
||||
mux {
|
||||
pins = "gpio115", "gpio116";
|
||||
function = "gsbi12";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio115", "gpio116";
|
||||
drive-strength = <16>;
|
||||
/* These have external pull-up 4.7kOhm to 1.8V */
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
/* Primary serial port uart 0 pins */
|
||||
dragon_gsbi12_serial_pins: gsbi12_serial {
|
||||
mux {
|
||||
pins = "gpio117", "gpio118";
|
||||
function = "gsbi12";
|
||||
};
|
||||
tx {
|
||||
pins = "gpio117";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
rx {
|
||||
pins = "gpio118";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qcom,ssbi@500000 {
|
||||
pmic@0 {
|
||||
keypad@148 {
|
||||
linux,keymap = <
|
||||
MATRIX_KEY(0, 0, KEY_MENU)
|
||||
MATRIX_KEY(0, 2, KEY_1)
|
||||
MATRIX_KEY(0, 3, KEY_4)
|
||||
MATRIX_KEY(0, 4, KEY_7)
|
||||
MATRIX_KEY(1, 0, KEY_UP)
|
||||
MATRIX_KEY(1, 1, KEY_LEFT)
|
||||
MATRIX_KEY(1, 2, KEY_DOWN)
|
||||
MATRIX_KEY(1, 3, KEY_5)
|
||||
MATRIX_KEY(1, 3, KEY_8)
|
||||
MATRIX_KEY(2, 0, KEY_HOME)
|
||||
MATRIX_KEY(2, 1, KEY_REPLY)
|
||||
MATRIX_KEY(2, 2, KEY_2)
|
||||
MATRIX_KEY(2, 3, KEY_6)
|
||||
MATRIX_KEY(3, 0, KEY_VOLUMEUP)
|
||||
MATRIX_KEY(3, 1, KEY_RIGHT)
|
||||
MATRIX_KEY(3, 2, KEY_3)
|
||||
MATRIX_KEY(3, 3, KEY_9)
|
||||
MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE)
|
||||
MATRIX_KEY(4, 0, KEY_VOLUMEDOWN)
|
||||
MATRIX_KEY(4, 1, KEY_BACK)
|
||||
MATRIX_KEY(4, 2, KEY_CAMERA)
|
||||
MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE)
|
||||
>;
|
||||
keypad,num-rows = <6>;
|
||||
keypad,num-columns = <5>;
|
||||
};
|
||||
|
||||
gpio@150 {
|
||||
dragon_bmp085_gpios: bmp085-gpios {
|
||||
pinconf {
|
||||
pins = "gpio16";
|
||||
function = "normal";
|
||||
input-enable;
|
||||
bias-disable;
|
||||
power-source = <PM8058_GPIO_S3>;
|
||||
};
|
||||
};
|
||||
dragon_sdcc3_gpios: sdcc3-gpios {
|
||||
pinconf {
|
||||
pins = "gpio22";
|
||||
function = "normal";
|
||||
input-enable;
|
||||
bias-disable;
|
||||
power-source = <PM8058_GPIO_S3>;
|
||||
};
|
||||
};
|
||||
dragon_sdcc5_gpios: sdcc5-gpios {
|
||||
pinconf {
|
||||
pins = "gpio26";
|
||||
function = "normal";
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
|
||||
power-source = <PM8058_GPIO_S3>;
|
||||
};
|
||||
};
|
||||
dragon_ak8975_gpios: ak8975-gpios {
|
||||
pinconf {
|
||||
pins = "gpio33";
|
||||
function = "normal";
|
||||
input-enable;
|
||||
bias-disable;
|
||||
power-source = <PM8058_GPIO_S3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gsbi@19c00000 {
|
||||
status = "ok";
|
||||
qcom,mode = <GSBI_PROT_I2C_UART>;
|
||||
|
||||
serial@19c40000 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_gsbi12_serial_pins>;
|
||||
};
|
||||
|
||||
i2c@19c80000 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_gsbi12_i2c_pins>;
|
||||
|
||||
ak8975@0c {
|
||||
compatible = "asahi-kasei,ak8975";
|
||||
reg = <0x0c>;
|
||||
/* GPIO33 has interrupt 224 on the PM8058 */
|
||||
interrupt-parent = <&pm8058_gpio>;
|
||||
interrupts = <224 IRQ_TYPE_EDGE_RISING>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_ak8975_gpios>;
|
||||
vid-supply = <&pm8058_lvs0>; // 1.8V
|
||||
vdd-supply = <&pm8058_l14>; // 2.85V
|
||||
};
|
||||
bmp085@77 {
|
||||
compatible = "bosch,bmp085";
|
||||
reg = <0x77>;
|
||||
/* GPIO16 has interrupt 207 on the PM8058 */
|
||||
interrupt-parent = <&pm8058_gpio>;
|
||||
interrupts = <207 IRQ_TYPE_EDGE_RISING>;
|
||||
reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_bmp085_gpios>;
|
||||
vddd-supply = <&pm8058_lvs0>; // 1.8V
|
||||
vdda-supply = <&pm8058_l14>; // 2.85V
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rpm@104000 {
|
||||
/*
|
||||
* Set up of the PMIC RPM regulators for this board
|
||||
* PM8901 supplies "preliminary regulators" whatever
|
||||
* that means
|
||||
*/
|
||||
pm8901-regulators {
|
||||
vdd_l0-supply = <&pm8901_s4>;
|
||||
vdd_l1-supply = <&vph>;
|
||||
vdd_l2-supply = <&vph>;
|
||||
vdd_l3-supply = <&vph>;
|
||||
vdd_l4-supply = <&vph>;
|
||||
vdd_l5-supply = <&vph>;
|
||||
vdd_l6-supply = <&vph>;
|
||||
/* vdd_s0-supply, vdd_s1-supply: SAW regulators */
|
||||
vdd_s2-supply = <&vph>;
|
||||
vdd_s3-supply = <&vph>;
|
||||
vdd_s4-supply = <&vph>;
|
||||
lvs0_in-supply = <&pm8058_s3>;
|
||||
lvs1_in-supply = <&pm8901_s4>;
|
||||
lvs2_in-supply = <&pm8058_l0>;
|
||||
lvs3_in-supply = <&pm8058_s2>;
|
||||
mvs_in-supply = <&pm8058_s3>;
|
||||
|
||||
l0 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l1 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l2 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l3 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l4 {
|
||||
regulator-min-microvolt = <2600000>;
|
||||
regulator-max-microvolt = <2600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l5 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l6 {
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
/* s0 and s1 are SAW regulators controlled over SPM */
|
||||
s2 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
s3 {
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
s4 {
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
/* LVS0 thru 3 and mvs0 are just switches */
|
||||
lvs0 {
|
||||
regulator-always-on;
|
||||
};
|
||||
lvs1 { };
|
||||
lvs2 { };
|
||||
lvs3 { };
|
||||
mvs0 {};
|
||||
|
||||
};
|
||||
|
||||
pm8058-regulators {
|
||||
vdd_l0_l1_lvs-supply = <&pm8058_s3>;
|
||||
vdd_l2_l11_l12-supply = <&vph>;
|
||||
vdd_l3_l4_l5-supply = <&vph>;
|
||||
vdd_l6_l7-supply = <&vph>;
|
||||
vdd_l8-supply = <&vph>;
|
||||
vdd_l9-supply = <&vph>;
|
||||
vdd_l10-supply = <&vph>;
|
||||
vdd_l13_l16-supply = <&pm8058_s4>;
|
||||
vdd_l14_l15-supply = <&vph>;
|
||||
vdd_l17_l18-supply = <&vph>;
|
||||
vdd_l19_l20-supply = <&vph>;
|
||||
vdd_l21-supply = <&pm8058_s3>;
|
||||
vdd_l22-supply = <&pm8058_s3>;
|
||||
vdd_l23_l24_l25-supply = <&pm8058_s3>;
|
||||
vdd_s0-supply = <&vph>;
|
||||
vdd_s1-supply = <&vph>;
|
||||
vdd_s2-supply = <&vph>;
|
||||
vdd_s3-supply = <&vph>;
|
||||
vdd_s4-supply = <&vph>;
|
||||
vdd_ncp-supply = <&vph>;
|
||||
|
||||
l0 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l2 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l4 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l5 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l6 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l7 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l8 {
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <3050000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l9 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l10 {
|
||||
regulator-min-microvolt = <2600000>;
|
||||
regulator-max-microvolt = <2600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l11 {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l12 {
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <2900000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l13 {
|
||||
regulator-min-microvolt = <2050000>;
|
||||
regulator-max-microvolt = <2050000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l14 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
};
|
||||
l15 {
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l16 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
regulator-always-on;
|
||||
};
|
||||
l17 {
|
||||
// 1.5V according to schematic
|
||||
regulator-min-microvolt = <2600000>;
|
||||
regulator-max-microvolt = <2600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l18 {
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l19 {
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l20 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l21 {
|
||||
// 1.1 V according to schematic
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
regulator-always-on;
|
||||
};
|
||||
l22 {
|
||||
// 1.2 V according to schematic
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l23 {
|
||||
// Unused
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l24 {
|
||||
// Unused
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
l25 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
s0 {
|
||||
// regulator-min-microvolt = <500000>;
|
||||
// regulator-max-microvolt = <1325000>;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
s1 {
|
||||
// regulator-min-microvolt = <500000>;
|
||||
// regulator-max-microvolt = <1250000>;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
s2 {
|
||||
// 1.3 V according to schematic
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
bias-pull-down;
|
||||
};
|
||||
s3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
regulator-always-on;
|
||||
bias-pull-down;
|
||||
};
|
||||
s4 {
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
regulator-always-on;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
/* LVS0 and LVS1 are just switches */
|
||||
lvs0 {
|
||||
bias-pull-down;
|
||||
};
|
||||
lvs1 {
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
ncp {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
amba {
|
||||
/* Internal 3.69 GiB eMMC */
|
||||
sdcc@12400000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_sdcc1_pins>;
|
||||
vmmc-supply = <&pm8901_l5>;
|
||||
vqmmc-supply = <&pm8901_lvs0>;
|
||||
};
|
||||
|
||||
/* External micro SD card, directly connected, pulled up to 2.85 V */
|
||||
sdcc@12180000 {
|
||||
status = "okay";
|
||||
/* Enable SSBI GPIO 22 as input, use for card detect */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>;
|
||||
cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
|
||||
vmmc-supply = <&pm8058_l14>;
|
||||
};
|
||||
|
||||
/*
|
||||
* Second external micro SD card, using two TXB104RGYR levelshifters
|
||||
* to lift from 1.8 V to 2.85 V
|
||||
*/
|
||||
sdcc@12200000 {
|
||||
status = "okay";
|
||||
/* Enable SSBI GPIO 26 as input, use for card detect */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>;
|
||||
cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
|
||||
vmmc-supply = <&pm8058_l14>;
|
||||
vqmmc-supply = <&dragon_vio_txb>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -1,10 +1,11 @@
|
||||
#include "qcom-apq8064-v2.0.dtsi"
|
||||
#include "qcom-apq8064-arrow-db600c-pins.dtsi"
|
||||
#include "qcom-apq8064-arrow-sd-600eval-pins.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/mfd/qcom-rpm.h>
|
||||
|
||||
/ {
|
||||
model = "Arrow Electronics, APQ8064 DB600c";
|
||||
compatible = "arrow,db600c", "qcom,apq8064";
|
||||
model = "Arrow Electronics, APQ8064 SD_600eval";
|
||||
compatible = "arrow,sd_600eval", "qcom,apq8064";
|
||||
|
||||
aliases {
|
||||
serial0 = &gsbi7_serial;
|
||||
@ -82,7 +83,8 @@
|
||||
s4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
qcom,switch-mode-frequency = <3200000>;
|
||||
qcom,switch-mode-frequency = <1600000>;
|
||||
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
|
||||
bias-pull-down;
|
||||
regulator-always-on;
|
||||
};
|
@ -29,12 +29,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
power {
|
||||
label = "Power";
|
||||
gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_POWER>;
|
||||
gpio-key,wakeup;
|
||||
};
|
||||
volume_up {
|
||||
label = "Volume Up";
|
||||
gpios = <&pm8921_gpio 4 GPIO_ACTIVE_HIGH>;
|
||||
|
@ -7,6 +7,46 @@
|
||||
};
|
||||
};
|
||||
|
||||
sdcc1_pins: 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_pins: 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;
|
||||
};
|
||||
};
|
||||
|
||||
ps_hold: ps_hold {
|
||||
mux {
|
||||
pins = "gpio78";
|
||||
|
@ -70,45 +70,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
@ -417,9 +378,6 @@
|
||||
|
||||
vmmc-supply = <&pm8921_l5>;
|
||||
vqmmc-supply = <&pm8921_s4>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdcc1_pin_a>;
|
||||
};
|
||||
|
||||
sdcc3: sdcc@12180000 {
|
||||
@ -429,7 +387,7 @@
|
||||
cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdcc3_pin_a>, <&sdcc3_cd_pin_a>;
|
||||
pinctrl-0 = <&sdcc3_pins>, <&sdcc3_cd_pin_a>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -177,7 +177,7 @@
|
||||
|
||||
apps_smsm: apps@0 {
|
||||
reg = <0>;
|
||||
#qcom,state-cells = <1>;
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
modem_smsm: modem@1 {
|
||||
@ -213,6 +213,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm-apq8064";
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -853,6 +859,8 @@
|
||||
sdcc1: sdcc@12400000 {
|
||||
status = "disabled";
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdcc1_pins>;
|
||||
arm,primecell-periphid = <0x00051180>;
|
||||
reg = <0x12400000 0x2000>;
|
||||
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -25,11 +25,23 @@
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "ok";
|
||||
|
||||
vmmc-supply = <&pm8941_l20>;
|
||||
vqmmc-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdhc1_pin_a>;
|
||||
};
|
||||
|
||||
sdhci@f98a4900 {
|
||||
cd-gpios = <&msmgpio 62 0x1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
|
||||
bus-width = <4>;
|
||||
status = "ok";
|
||||
|
||||
vmmc-supply = <&pm8941_l21>;
|
||||
vqmmc-supply = <&pm8941_l13>;
|
||||
};
|
||||
|
||||
|
||||
@ -59,6 +71,42 @@
|
||||
function = "blsp_spi8";
|
||||
};
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c@f9967000 {
|
||||
@ -75,4 +123,203 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
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;
|
||||
};
|
||||
|
||||
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 = <1225000>;
|
||||
regulator-max-microvolt = <1225000>;
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
l10 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
l11 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
};
|
||||
|
||||
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>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
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 = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
l24 {
|
||||
regulator-min-microvolt = <3075000>;
|
||||
regulator-max-microvolt = <3075000>;
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -86,6 +86,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm";
|
||||
clocks = <&gcc GCC_CE1_CLK> , <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>;
|
||||
clock-names = "core", "bus", "iface";
|
||||
};
|
||||
};
|
||||
|
||||
cpu-pmu {
|
||||
compatible = "qcom,krait-pmu";
|
||||
interrupts = <1 7 0xf04>;
|
||||
|
@ -84,6 +84,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a7-pmu";
|
||||
interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
sleep_clk: sleep_clk {
|
||||
compatible = "fixed-clock";
|
||||
|
@ -23,15 +23,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* Temporary fixed regulator */
|
||||
vsdcc_fixed: vsdcc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDCC Power";
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <2700000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
amba {
|
||||
/* eMMC */
|
||||
sdcc1: sdcc@12400000 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&vsdcc_fixed>;
|
||||
};
|
||||
|
||||
/* External micro SD card */
|
||||
sdcc3: sdcc@12180000 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&vsdcc_fixed>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -122,11 +122,22 @@
|
||||
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
|
||||
reg = <0x19c40000 0x1000>,
|
||||
<0x19c00000 0x1000>;
|
||||
interrupts = <0 195 0x0>;
|
||||
interrupts = <0 195 IRQ_TYPE_NONE>;
|
||||
clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gsbi12_i2c: i2c@19c80000 {
|
||||
compatible = "qcom,i2c-qup-v1.1.1";
|
||||
reg = <0x19c80000 0x1000>;
|
||||
interrupts = <0 196 IRQ_TYPE_NONE>;
|
||||
clocks = <&gcc GSBI12_QUP_CLK>, <&gcc GSBI12_H_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,ssbi@500000 {
|
||||
@ -143,6 +154,44 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm8058_gpio: gpio@150 {
|
||||
compatible = "qcom,pm8058-gpio",
|
||||
"qcom,ssbi-gpio";
|
||||
reg = <0x150>;
|
||||
interrupt-parent = <&pmicintc>;
|
||||
interrupts = <192 1>, <193 1>, <194 1>,
|
||||
<195 1>, <196 1>, <197 1>,
|
||||
<198 1>, <199 1>, <200 1>,
|
||||
<201 1>, <202 1>, <203 1>,
|
||||
<204 1>, <205 1>, <206 1>,
|
||||
<207 1>, <208 1>, <209 1>,
|
||||
<210 1>, <211 1>, <212 1>,
|
||||
<213 1>, <214 1>, <215 1>,
|
||||
<216 1>, <217 1>, <218 1>,
|
||||
<219 1>, <220 1>, <221 1>,
|
||||
<222 1>, <223 1>, <224 1>,
|
||||
<225 1>, <226 1>, <227 1>,
|
||||
<228 1>, <229 1>, <230 1>,
|
||||
<231 1>, <232 1>, <233 1>,
|
||||
<234 1>, <235 1>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
};
|
||||
|
||||
pm8058_mpps: mpps@50 {
|
||||
compatible = "qcom,pm8058-mpp",
|
||||
"qcom,ssbi-mpp";
|
||||
reg = <0x50>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&pmicintc>;
|
||||
interrupts =
|
||||
<128 1>, <129 1>, <130 1>, <131 1>,
|
||||
<132 1>, <133 1>, <134 1>, <135 1>,
|
||||
<136 1>, <137 1>, <138 1>, <139 1>;
|
||||
};
|
||||
|
||||
pwrkey@1c {
|
||||
compatible = "qcom,pm8058-pwrkey";
|
||||
reg = <0x1c>;
|
||||
@ -162,11 +211,11 @@
|
||||
row-hold = <91500>;
|
||||
};
|
||||
|
||||
rtc@11d {
|
||||
rtc@1e8 {
|
||||
compatible = "qcom,pm8058-rtc";
|
||||
reg = <0x1e8>;
|
||||
interrupt-parent = <&pmicintc>;
|
||||
interrupts = <39 1>;
|
||||
reg = <0x11d>;
|
||||
allow-set-time;
|
||||
};
|
||||
|
||||
@ -177,13 +226,93 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* Temporary fixed regulator */
|
||||
vsdcc_fixed: vsdcc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDCC Power";
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <2700000>;
|
||||
regulator-always-on;
|
||||
l2cc: clock-controller@2082000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x02082000 0x1000>;
|
||||
};
|
||||
|
||||
rpm: rpm@104000 {
|
||||
compatible = "qcom,rpm-msm8660";
|
||||
reg = <0x00104000 0x1000>;
|
||||
qcom,ipc = <&l2cc 0x8 2>;
|
||||
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "ack", "err", "wakeup";
|
||||
clocks = <&gcc RPM_MSG_RAM_H_CLK>;
|
||||
clock-names = "ram";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-apq8660", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
pm8901-regulators {
|
||||
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 {};
|
||||
};
|
||||
|
||||
pm8058-regulators {
|
||||
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 {
|
||||
@ -205,7 +334,6 @@
|
||||
non-removable;
|
||||
cap-sd-highspeed;
|
||||
cap-mmc-highspeed;
|
||||
vmmc-supply = <&vsdcc_fixed>;
|
||||
};
|
||||
|
||||
sdcc3: sdcc@12180000 {
|
||||
@ -222,7 +350,21 @@
|
||||
cap-mmc-highspeed;
|
||||
max-frequency = <48000000>;
|
||||
no-1-8-v;
|
||||
vmmc-supply = <&vsdcc_fixed>;
|
||||
};
|
||||
|
||||
sdcc5: sdcc@12200000 {
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
arm,primecell-periphid = <0x00051180>;
|
||||
status = "disabled";
|
||||
reg = <0x12200000 0x8000>;
|
||||
interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "cmd_irq";
|
||||
clocks = <&gcc SDC5_CLK>, <&gcc SDC5_H_CLK>;
|
||||
clock-names = "mclk", "apb_pclk";
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
cap-mmc-highspeed;
|
||||
max-frequency = <48000000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -367,6 +367,10 @@
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
dma-controller@f9944000 {
|
||||
qcom,controlled-remotely;
|
||||
};
|
||||
};
|
||||
|
||||
&spmi_bus {
|
||||
|
@ -1,6 +1,6 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/qcom,gcc-msm8974.h>
|
||||
#include "skeleton.dtsi"
|
||||
|
||||
@ -182,7 +182,7 @@
|
||||
|
||||
modem_smp2p_out: master-kernel {
|
||||
qcom,entry-name = "master-kernel";
|
||||
#qcom,state-cells = <1>;
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
modem_smp2p_in: slave-kernel {
|
||||
@ -208,7 +208,7 @@
|
||||
wcnss_smp2p_out: master-kernel {
|
||||
qcom,entry-name = "master-kernel";
|
||||
|
||||
#qcom,state-cells = <1>;
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
wcnss_smp2p_in: slave-kernel {
|
||||
@ -232,7 +232,7 @@
|
||||
apps_smsm: apps@0 {
|
||||
reg = <0>;
|
||||
|
||||
#qcom,state-cells = <1>;
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
modem_smsm: modem@1 {
|
||||
@ -260,6 +260,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm";
|
||||
clocks = <&gcc GCC_CE1_CLK>, <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>;
|
||||
clock-names = "core", "bus", "iface";
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -501,6 +509,8 @@
|
||||
clock-names = "core", "iface";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
spmi_bus: spmi@fc4cf000 {
|
||||
@ -518,6 +528,16 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
};
|
||||
|
||||
blsp2_dma: dma-controller@f9944000 {
|
||||
compatible = "qcom,bam-v1.4.0";
|
||||
reg = <0xf9944000 0x19000>;
|
||||
interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP2_AHB_CLK>;
|
||||
clock-names = "bam_clk";
|
||||
#dma-cells = <1>;
|
||||
qcom,ee = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
smd {
|
||||
|
@ -12,15 +12,23 @@
|
||||
|
||||
rtc@6000 {
|
||||
compatible = "qcom,pm8941-rtc";
|
||||
reg = <0x6000 0x100>,
|
||||
<0x6100 0x100>;
|
||||
reg = <0x6000>,
|
||||
<0x6100>;
|
||||
reg-names = "rtc", "alarm";
|
||||
interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
pwrkey@800 {
|
||||
compatible = "qcom,pm8941-pwrkey";
|
||||
reg = <0x800>;
|
||||
interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
|
||||
debounce = <15625>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pma8084_gpios: gpios@c000 {
|
||||
compatible = "qcom,pma8084-gpio", "qcom,spmi-gpio";
|
||||
reg = <0xc000 0x1600>;
|
||||
reg = <0xc000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
|
||||
@ -49,7 +57,7 @@
|
||||
|
||||
pma8084_mpps: mpps@a000 {
|
||||
compatible = "qcom,pma8084-mpp", "qcom,spmi-mpp";
|
||||
reg = <0xa000 0x800>;
|
||||
reg = <0xa000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
|
||||
@ -64,7 +72,7 @@
|
||||
|
||||
pma8084_temp: temp-alarm@2400 {
|
||||
compatible = "qcom,spmi-temp-alarm";
|
||||
reg = <0x2400 0x100>;
|
||||
reg = <0x2400>;
|
||||
interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
io-channels = <&pma8084_vadc VADC_DIE_TEMP>;
|
||||
@ -73,7 +81,7 @@
|
||||
|
||||
pma8084_vadc: vadc@3100 {
|
||||
compatible = "qcom,spmi-vadc";
|
||||
reg = <0x3100 0x100>;
|
||||
reg = <0x3100>;
|
||||
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
Loading…
Reference in New Issue
Block a user