mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
93b8e6fda1
This board locks up if we stress test the eMMC, as the regulator s4 is unable to supply enough current for all the peripherials attached to it. As this supply is wired up to most of the peripherials including DDR, it resulted in such lockup. This patch fixes this issue by setting s4 regulator correctly with Auto power mode. Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> [Srinivas Kandagatla: rewrote the change log] Tested-by: Girish Sharma <girish.sharma@einfochips.com> Signed-off-by: Parth Pancholi <parth.pancholi@einfochips.com> Signed-off-by: Andy Gross <andy.gross@linaro.org>
352 lines
7.2 KiB
Plaintext
352 lines
7.2 KiB
Plaintext
#include "qcom-apq8064-v2.0.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 SD_600eval";
|
|
compatible = "arrow,sd_600eval", "qcom,apq8064";
|
|
|
|
aliases {
|
|
serial0 = &gsbi7_serial;
|
|
serial1 = &gsbi1_serial;
|
|
i2c0 = &gsbi2_i2c;
|
|
i2c1 = &gsbi3_i2c;
|
|
i2c2 = &gsbi4_i2c;
|
|
i2c3 = &gsbi7_i2c;
|
|
spi0 = &gsbi5_spi;
|
|
};
|
|
|
|
regulators {
|
|
compatible = "simple-bus";
|
|
vph: regulator-fixed@1 {
|
|
compatible = "regulator-fixed";
|
|
regulator-min-microvolt = <4500000>;
|
|
regulator-max-microvolt = <4500000>;
|
|
regulator-name = "VPH";
|
|
regulator-type = "voltage";
|
|
regulator-boot-on;
|
|
};
|
|
|
|
/* on board fixed 3.3v supply */
|
|
vcc3v3: vcc3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VCC3V3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
};
|
|
|
|
soc {
|
|
rpm@108000 {
|
|
regulators {
|
|
vdd_s1-supply = <&vph>;
|
|
vdd_s2-supply = <&vph>;
|
|
vdd_s3-supply = <&vph>;
|
|
vdd_s4-supply = <&vph>;
|
|
vdd_s5-supply = <&vph>;
|
|
vdd_s6-supply = <&vph>;
|
|
vdd_s7-supply = <&vph>;
|
|
vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
|
|
vdd_l3_l15_l17-supply = <&vph>;
|
|
vdd_l4_l14-supply = <&vph>;
|
|
vdd_l5_l8_l16-supply = <&vph>;
|
|
vdd_l6_l7-supply = <&vph>;
|
|
vdd_l9_l11-supply = <&vph>;
|
|
vdd_l10_l22-supply = <&vph>;
|
|
vdd_l21_l23_l29-supply = <&vph>;
|
|
vdd_l24-supply = <&pm8921_s1>;
|
|
vdd_l25-supply = <&pm8921_s1>;
|
|
vdd_l26-supply = <&pm8921_s7>;
|
|
vdd_l27-supply = <&pm8921_s7>;
|
|
vdd_l28-supply = <&pm8921_s7>;
|
|
vin_lvs1_3_6-supply = <&pm8921_s4>;
|
|
vin_lvs2-supply = <&pm8921_s1>;
|
|
vin_lvs4_5_7-supply = <&pm8921_s4>;
|
|
|
|
s1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1225000>;
|
|
regulator-max-microvolt = <1225000>;
|
|
qcom,switch-mode-frequency = <3200000>;
|
|
bias-pull-down;
|
|
};
|
|
|
|
s3 {
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
qcom,switch-mode-frequency = <4800000>;
|
|
};
|
|
|
|
s4 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
qcom,switch-mode-frequency = <1600000>;
|
|
qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
|
|
bias-pull-down;
|
|
regulator-always-on;
|
|
};
|
|
|
|
s7 {
|
|
regulator-min-microvolt = <1300000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
qcom,switch-mode-frequency = <3200000>;
|
|
};
|
|
|
|
l3 {
|
|
regulator-min-microvolt = <3050000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
bias-pull-down;
|
|
};
|
|
|
|
l4 {
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
bias-pull-down;
|
|
};
|
|
|
|
l5 {
|
|
regulator-min-microvolt = <2750000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
bias-pull-down;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
l6 {
|
|
regulator-min-microvolt = <2950000>;
|
|
regulator-max-microvolt = <2950000>;
|
|
bias-pull-down;
|
|
};
|
|
|
|
l23 {
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
bias-pull-down;
|
|
};
|
|
|
|
lvs6 {
|
|
bias-pull-down;
|
|
};
|
|
|
|
lvs7 {
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
};
|
|
|
|
gsbi@12440000 {
|
|
status = "okay";
|
|
qcom,mode = <GSBI_PROT_UART_W_FC>;
|
|
serial@12450000 {
|
|
label = "LS-UART1";
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gsbi1_uart_4pins>;
|
|
};
|
|
};
|
|
|
|
gsbi@12480000 {
|
|
status = "okay";
|
|
qcom,mode = <GSBI_PROT_I2C>;
|
|
i2c@124a0000 {
|
|
/* On Low speed expansion and Sensors */
|
|
label = "LS-I2C0";
|
|
status = "okay";
|
|
lis3mdl_mag@1e {
|
|
compatible = "st,lis3mdl-magn";
|
|
reg = <0x1e>;
|
|
vdd-supply = <&vcc3v3>;
|
|
vddio-supply = <&pm8921_s4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&magneto_pins>;
|
|
interrupt-parent = <&tlmm_pinmux>;
|
|
|
|
st,drdy-int-pin = <2>;
|
|
interrupts = <48 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
|
|
<31 IRQ_TYPE_EDGE_RISING>; /* INT */
|
|
};
|
|
};
|
|
};
|
|
|
|
gsbi@16200000 {
|
|
status = "okay";
|
|
qcom,mode = <GSBI_PROT_I2C>;
|
|
i2c@16280000 {
|
|
/* On Low speed expansion */
|
|
status = "okay";
|
|
label = "LS-I2C1";
|
|
clock-frequency = <200000>;
|
|
eeprom@52 {
|
|
compatible = "atmel,24c128";
|
|
reg = <0x52>;
|
|
pagesize = <64>;
|
|
};
|
|
};
|
|
};
|
|
|
|
gsbi@16300000 {
|
|
status = "okay";
|
|
qcom,mode = <GSBI_PROT_I2C>;
|
|
i2c@16380000 {
|
|
/* On High speed expansion */
|
|
label = "HS-CAM-I2C3";
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
gsbi@1a200000 {
|
|
status = "okay";
|
|
spi@1a280000 {
|
|
/* On Low speed expansion */
|
|
label = "LS-SPI0";
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
/* DEBUG UART */
|
|
gsbi@16600000 {
|
|
status = "okay";
|
|
qcom,mode = <GSBI_PROT_I2C_UART>;
|
|
serial@16640000 {
|
|
label = "LS-UART0";
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gsbi7_uart_2pins>;
|
|
};
|
|
|
|
i2c@16680000 {
|
|
/* On High speed expansion */
|
|
status = "okay";
|
|
label = "HS-CAM-I2C2";
|
|
};
|
|
};
|
|
|
|
leds {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&user_leds>, <&mpp_leds>;
|
|
|
|
compatible = "gpio-leds";
|
|
|
|
user-led0 {
|
|
label = "user0-led";
|
|
gpios = <&tlmm_pinmux 3 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
default-state = "off";
|
|
};
|
|
|
|
user-led1 {
|
|
label = "user1-led";
|
|
gpios = <&tlmm_pinmux 7 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "mmc0";
|
|
default-state = "off";
|
|
};
|
|
|
|
user-led2 {
|
|
label = "user2-led";
|
|
gpios = <&tlmm_pinmux 10 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "mmc1";
|
|
default-state = "off";
|
|
};
|
|
|
|
user-led3 {
|
|
label = "user3-led";
|
|
gpios = <&tlmm_pinmux 11 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "none";
|
|
default-state = "off";
|
|
};
|
|
|
|
wifi-led {
|
|
label = "WiFi-led";
|
|
gpios = <&pm8921_mpps 7 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
bt-led {
|
|
label = "BT-led";
|
|
gpios = <&pm8921_mpps 8 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
pci@1b500000 {
|
|
status = "okay";
|
|
vdda-supply = <&pm8921_s3>;
|
|
vdda_phy-supply = <&pm8921_lvs6>;
|
|
vdda_refclk-supply = <&vcc3v3>;
|
|
pinctrl-0 = <&pcie_pins>;
|
|
pinctrl-names = "default";
|
|
perst-gpio = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
phy@1b400000 {
|
|
status = "okay";
|
|
};
|
|
|
|
sata@29000000 {
|
|
status = "okay";
|
|
target-supply = <&pm8921_lvs7>;
|
|
};
|
|
|
|
/* OTG */
|
|
phy@12500000 {
|
|
status = "okay";
|
|
dr_mode = "peripheral";
|
|
vddcx-supply = <&pm8921_s3>;
|
|
v3p3-supply = <&pm8921_l3>;
|
|
v1p8-supply = <&pm8921_l4>;
|
|
};
|
|
|
|
phy@12520000 {
|
|
status = "okay";
|
|
vddcx-supply = <&pm8921_s3>;
|
|
v3p3-supply = <&pm8921_l3>;
|
|
v1p8-supply = <&pm8921_l23>;
|
|
};
|
|
|
|
phy@12530000 {
|
|
status = "okay";
|
|
vddcx-supply = <&pm8921_s3>;
|
|
v3p3-supply = <&pm8921_l3>;
|
|
v1p8-supply = <&pm8921_l23>;
|
|
};
|
|
|
|
gadget@12500000 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* OTG */
|
|
usb@12500000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb@12520000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb@12530000 {
|
|
status = "okay";
|
|
};
|
|
|
|
amba {
|
|
/* eMMC */
|
|
sdcc@12400000 {
|
|
status = "okay";
|
|
vmmc-supply = <&pm8921_l5>;
|
|
vqmmc-supply = <&pm8921_s4>;
|
|
};
|
|
|
|
/* External micro SD card */
|
|
sdcc@12180000 {
|
|
status = "okay";
|
|
vmmc-supply = <&pm8921_l6>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&card_detect>;
|
|
cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
};
|