[ Upstream commit af61bef513ba179559e56908b8c465e587bc3890 ]
In the same way as for msm8974-hammerhead, l11 load, used for SDCARD
VMMC, needs to be increased in order to prevent any voltage drop issues
(due to limited current) happening with some SDCARDS or during specific
operations (e.g. write).
Tested on Dragonboard-410c and DART-SD410 boards.
Fixes: 4c7d53d16d (arm64: dts: apq8016-sbc: add regulators support)
Reported-by: Manabu Igusa <migusa@arrowjapan.com>
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
505 lines
11 KiB
Plaintext
505 lines
11 KiB
Plaintext
/*
|
|
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#include "msm8916.dtsi"
|
|
#include "pm8916.dtsi"
|
|
#include "apq8016-sbc-soc-pins.dtsi"
|
|
#include "apq8016-sbc-pmic-pins.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/sound/apq8016-lpass.h>
|
|
|
|
/ {
|
|
aliases {
|
|
serial0 = &blsp1_uart2;
|
|
serial1 = &blsp1_uart1;
|
|
usid0 = &pm8916_0;
|
|
i2c0 = &blsp_i2c2;
|
|
i2c1 = &blsp_i2c6;
|
|
i2c3 = &blsp_i2c4;
|
|
spi0 = &blsp_spi5;
|
|
spi1 = &blsp_spi3;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0";
|
|
};
|
|
|
|
reserved-memory {
|
|
ramoops@bff00000{
|
|
compatible = "ramoops";
|
|
reg = <0x0 0xbff00000 0x0 0x100000>;
|
|
|
|
record-size = <0x20000>;
|
|
console-size = <0x20000>;
|
|
ftrace-size = <0x20000>;
|
|
};
|
|
};
|
|
|
|
soc {
|
|
dma@7884000 {
|
|
status = "okay";
|
|
};
|
|
|
|
serial@78af000 {
|
|
label = "LS-UART0";
|
|
status = "okay";
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&blsp1_uart1_default>;
|
|
pinctrl-1 = <&blsp1_uart1_sleep>;
|
|
};
|
|
|
|
serial@78b0000 {
|
|
label = "LS-UART1";
|
|
status = "okay";
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&blsp1_uart2_default>;
|
|
pinctrl-1 = <&blsp1_uart2_sleep>;
|
|
};
|
|
|
|
i2c@78b6000 {
|
|
/* On Low speed expansion */
|
|
label = "LS-I2C0";
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@78b8000 {
|
|
/* On High speed expansion */
|
|
label = "HS-I2C2";
|
|
status = "okay";
|
|
|
|
adv_bridge: bridge@39 {
|
|
status = "okay";
|
|
|
|
compatible = "adi,adv7533";
|
|
reg = <0x39>;
|
|
|
|
interrupt-parent = <&msmgpio>;
|
|
interrupts = <31 2>;
|
|
|
|
adi,dsi-lanes = <4>;
|
|
clocks = <&rpmcc RPM_SMD_BB_CLK2>;
|
|
clock-names = "cec";
|
|
|
|
pd-gpios = <&msmgpio 32 0>;
|
|
|
|
avdd-supply = <&pm8916_l6>;
|
|
v1p2-supply = <&pm8916_l6>;
|
|
v3p3-supply = <&pm8916_l17>;
|
|
|
|
pinctrl-names = "default","sleep";
|
|
pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
|
|
pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
|
|
#sound-dai-cells = <1>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
adv7533_in: endpoint {
|
|
remote-endpoint = <&dsi0_out>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
adv7533_out: endpoint {
|
|
remote-endpoint = <&hdmi_con>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
i2c@78ba000 {
|
|
/* On Low speed expansion */
|
|
label = "LS-I2C1";
|
|
status = "okay";
|
|
};
|
|
|
|
spi@78b7000 {
|
|
/* On High speed expansion */
|
|
label = "HS-SPI1";
|
|
status = "okay";
|
|
};
|
|
|
|
spi@78b9000 {
|
|
/* On Low speed expansion */
|
|
label = "LS-SPI0";
|
|
status = "okay";
|
|
};
|
|
|
|
leds {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&msmgpio_leds>,
|
|
<&pm8916_gpios_leds>,
|
|
<&pm8916_mpps_leds>;
|
|
|
|
compatible = "gpio-leds";
|
|
|
|
led@1 {
|
|
label = "apq8016-sbc:green:user1";
|
|
gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
default-state = "off";
|
|
};
|
|
|
|
led@2 {
|
|
label = "apq8016-sbc:green:user2";
|
|
gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "mmc0";
|
|
default-state = "off";
|
|
};
|
|
|
|
led@3 {
|
|
label = "apq8016-sbc:green:user3";
|
|
gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "mmc1";
|
|
default-state = "off";
|
|
};
|
|
|
|
led@4 {
|
|
label = "apq8016-sbc:green:user4";
|
|
gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "none";
|
|
default-state = "off";
|
|
};
|
|
|
|
led@5 {
|
|
label = "apq8016-sbc:yellow:wlan";
|
|
gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "phy0tx";
|
|
default-state = "off";
|
|
};
|
|
|
|
led@6 {
|
|
label = "apq8016-sbc:blue:bt";
|
|
gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "bluetooth-power";
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
sdhci@07824000 {
|
|
vmmc-supply = <&pm8916_l8>;
|
|
vqmmc-supply = <&pm8916_l5>;
|
|
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
|
|
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
|
|
status = "okay";
|
|
};
|
|
|
|
sdhci@07864000 {
|
|
vmmc-supply = <&pm8916_l11>;
|
|
vqmmc-supply = <&pm8916_l12>;
|
|
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
|
|
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
|
|
|
|
cd-gpios = <&msmgpio 38 0x1>;
|
|
status = "okay";
|
|
};
|
|
|
|
usb@78d9000 {
|
|
extcon = <&usb_id>;
|
|
status = "okay";
|
|
adp-disable;
|
|
hnp-disable;
|
|
srp-disable;
|
|
dr_mode = "host";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&usb_sw_sel_pm>;
|
|
ulpi {
|
|
phy {
|
|
v1p8-supply = <&pm8916_l7>;
|
|
v3p3-supply = <&pm8916_l13>;
|
|
extcon = <&usb_id>;
|
|
};
|
|
};
|
|
};
|
|
|
|
lpass@07708000 {
|
|
status = "okay";
|
|
};
|
|
|
|
mdss@1a00000 {
|
|
status = "okay";
|
|
|
|
mdp@1a01000 {
|
|
status = "okay";
|
|
};
|
|
|
|
dsi@1a98000 {
|
|
status = "okay";
|
|
|
|
vdda-supply = <&pm8916_l2>;
|
|
vddio-supply = <&pm8916_l6>;
|
|
|
|
ports {
|
|
port@1 {
|
|
endpoint {
|
|
remote-endpoint = <&adv7533_in>;
|
|
data-lanes = <0 1 2 3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
dsi-phy@1a98300 {
|
|
status = "okay";
|
|
|
|
vddio-supply = <&pm8916_l6>;
|
|
};
|
|
};
|
|
|
|
lpass_codec: codec{
|
|
status = "okay";
|
|
};
|
|
|
|
/*
|
|
Internal Codec
|
|
playback - Primary MI2S
|
|
capture - Ter MI2S
|
|
|
|
External Primary:
|
|
playback - secondary MI2S
|
|
capture - Quat MI2S
|
|
|
|
External Secondary:
|
|
playback - Quat MI2S
|
|
capture - Quat MI2S
|
|
|
|
*/
|
|
|
|
sound: sound {
|
|
compatible = "qcom,apq8016-sbc-sndcard";
|
|
reg = <0x07702000 0x4>, <0x07702004 0x4>;
|
|
reg-names = "mic-iomux", "spkr-iomux";
|
|
|
|
status = "okay";
|
|
pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
|
|
pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
|
|
pinctrl-names = "default", "sleep";
|
|
qcom,model = "DB410c";
|
|
qcom,audio-routing =
|
|
"AMIC2", "MIC BIAS Internal2",
|
|
"AMIC3", "MIC BIAS External1";
|
|
external-dai-link@0 {
|
|
link-name = "ADV7533";
|
|
cpu { /* QUAT */
|
|
sound-dai = <&lpass MI2S_QUATERNARY>;
|
|
};
|
|
codec {
|
|
sound-dai = <&adv_bridge 0>;
|
|
};
|
|
};
|
|
|
|
internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
|
|
link-name = "WCD";
|
|
cpu { /* PRIMARY */
|
|
sound-dai = <&lpass MI2S_PRIMARY>;
|
|
};
|
|
codec {
|
|
sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
|
|
};
|
|
};
|
|
|
|
internal-codec-capture-dai-link@0 { /* I2S - Internal codec */
|
|
link-name = "WCD-Capture";
|
|
cpu { /* PRIMARY */
|
|
sound-dai = <&lpass MI2S_TERTIARY>;
|
|
};
|
|
codec {
|
|
sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
wcnss@a21b000 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
usb2513 {
|
|
compatible = "smsc,usb3503";
|
|
reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
|
|
initial-mode = <1>;
|
|
};
|
|
|
|
usb_id: usb-id {
|
|
compatible = "linux,extcon-usb-gpio";
|
|
vbus-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&usb_id_default>;
|
|
};
|
|
|
|
hdmi-out {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi_con: endpoint {
|
|
remote-endpoint = <&adv7533_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
autorepeat;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&msm_key_volp_n_default>;
|
|
|
|
button@0 {
|
|
label = "Volume Up";
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&wcd_codec {
|
|
status = "okay";
|
|
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
|
|
clock-names = "mclk";
|
|
};
|
|
|
|
&smd_rpm_regulators {
|
|
vdd_l1_l2_l3-supply = <&pm8916_s3>;
|
|
vdd_l5-supply = <&pm8916_s3>;
|
|
vdd_l4_l5_l6-supply = <&pm8916_s4>;
|
|
vdd_l7-supply = <&pm8916_s4>;
|
|
|
|
s1 {
|
|
regulator-min-microvolt = <375000>;
|
|
regulator-max-microvolt = <1562000>;
|
|
};
|
|
|
|
s3 {
|
|
regulator-min-microvolt = <375000>;
|
|
regulator-max-microvolt = <1562000>;
|
|
};
|
|
|
|
s4 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
l1 {
|
|
regulator-min-microvolt = <375000>;
|
|
regulator-max-microvolt = <1525000>;
|
|
};
|
|
|
|
l2 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
l3 {
|
|
regulator-min-microvolt = <375000>;
|
|
regulator-max-microvolt = <1525000>;
|
|
};
|
|
|
|
l4 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l5 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l6 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
l7 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l8 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l9 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l10 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l11 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
regulator-allow-set-load;
|
|
regulator-system-load = <200000>;
|
|
};
|
|
|
|
l12 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l13 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l14 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
/**
|
|
* 1.8v required on LS expansion
|
|
* for mezzanine boards
|
|
*/
|
|
l15 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
l16 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
|
|
l17 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
l18 {
|
|
regulator-min-microvolt = <1750000>;
|
|
regulator-max-microvolt = <3337000>;
|
|
};
|
|
};
|