Commit 62f838c9 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'qcom-arm64-for-4.11' of...

Merge tag 'qcom-arm64-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64

Qualcomm ARM64 Updates for v4.11

* Add Vol+ support for DB820C and APQ8016
* Add HDMI audio support for APQ8016
* Fix DB820C GPIO pinctrl name
* Enable WCNSS on MSM8916
* Add SCM node for MSM8996
* Use fixed XO clock on MSM8916

* tag 'qcom-arm64-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: dts: db820c: add support to volume up key
  arm64: dts: apq8016-sbc: Limit MPP4 high state to 1.8V
  arm64: dts: apq8016-sbc: Add Volume Up key device node
  arm64: dts: apq8016-sbc: add support to hdmi audio via adv7533
  arm64: dts: db820c: fix gpio pinctrl name correctly
  ARM: dts: msm8916: Add and enable wcnss node
  arm64: dts: msm8996: Add SCM DT node
  arm64: dts: qcom: msm8916: Use fixed factor xo clock
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents f41afa53 3a521539
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
&pm8916_gpios { &pm8916_gpios {
...@@ -30,6 +31,18 @@ pinconf { ...@@ -30,6 +31,18 @@ pinconf {
&pm8916_mpps { &pm8916_mpps {
pinctrl-names = "default";
pinctrl-0 = <&ls_exp_gpio_f>;
ls_exp_gpio_f: pm8916_mpp4 {
pinconf {
pins = "mpp4";
function = "digital";
output-low;
power-source = <PM8916_MPP_L5>; // 1.8V
};
};
pm8916_mpps_leds: pm8916_mpps_leds { pm8916_mpps_leds: pm8916_mpps_leds {
pinconf { pinconf {
pins = "mpp2", "mpp3"; pins = "mpp2", "mpp3";
......
...@@ -72,4 +72,17 @@ pinconf { ...@@ -72,4 +72,17 @@ pinconf {
bias-disable; bias-disable;
}; };
}; };
msm_key_volp_n_default: msm_key_volp_n_default {
pinmux {
function = "gpio";
pins = "gpio107";
};
pinconf {
pins = "gpio107";
drive-strength = <8>;
input-enable;
bias-pull-up;
};
};
}; };
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#include "pm8916.dtsi" #include "pm8916.dtsi"
#include "apq8016-sbc-soc-pins.dtsi" #include "apq8016-sbc-soc-pins.dtsi"
#include "apq8016-sbc-pmic-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> #include <dt-bindings/sound/apq8016-lpass.h>
/ { / {
...@@ -85,6 +87,7 @@ adv_bridge: bridge@39 { ...@@ -85,6 +87,7 @@ adv_bridge: bridge@39 {
pinctrl-names = "default","sleep"; pinctrl-names = "default","sleep";
pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
#sound-dai-cells = <1>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
...@@ -285,6 +288,15 @@ sound: sound { ...@@ -285,6 +288,15 @@ sound: sound {
qcom,audio-routing = qcom,audio-routing =
"AMIC2", "MIC BIAS Internal2", "AMIC2", "MIC BIAS Internal2",
"AMIC3", "MIC BIAS External1"; "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 */ internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
link-name = "WCD"; link-name = "WCD";
...@@ -306,6 +318,10 @@ codec { ...@@ -306,6 +318,10 @@ codec {
}; };
}; };
}; };
wcnss@a21b000 {
status = "okay";
};
}; };
usb2513 { usb2513 {
...@@ -331,6 +347,22 @@ hdmi_con: endpoint { ...@@ -331,6 +347,22 @@ hdmi_con: endpoint {
}; };
}; };
}; };
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 { &wcd_codec {
......
...@@ -5,11 +5,23 @@ &pm8994_gpios { ...@@ -5,11 +5,23 @@ &pm8994_gpios {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ls_exp_gpio_f>; pinctrl-0 = <&ls_exp_gpio_f>;
ls_exp_gpio_f: pm8916_mpp4 { ls_exp_gpio_f: pm8994_gpio5 {
pinconf { pinconf {
pins = "gpio5"; pins = "gpio5";
output-low; output-low;
power-source = <2>; // PM8994_GPIO_S4, 1.8V power-source = <2>; // PM8994_GPIO_S4, 1.8V
}; };
}; };
volume_up_gpio: pm8996_gpio2 {
pinconf {
pins = "gpio2";
function = "normal";
input-enable;
drive-push-pull;
bias-pull-up;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
power-source = <PM8994_GPIO_S4>; // 1.8V
};
};
}; };
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#include "pm8994.dtsi" #include "pm8994.dtsi"
#include "apq8096-db820c-pins.dtsi" #include "apq8096-db820c-pins.dtsi"
#include "apq8096-db820c-pmic-pins.dtsi" #include "apq8096-db820c-pmic-pins.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ { / {
aliases { aliases {
...@@ -87,4 +89,21 @@ sdhci@74a4900 { ...@@ -87,4 +89,21 @@ sdhci@74a4900 {
status = "okay"; status = "okay";
}; };
}; };
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&volume_up_gpio>;
button@0 {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
};
};
}; };
...@@ -720,4 +720,17 @@ pinconf { ...@@ -720,4 +720,17 @@ pinconf {
}; };
}; };
}; };
wcnss_pin_a: wcnss-active {
pinmux {
pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
function = "wcss_wlan";
};
pinconf {
pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
drive-strength = <6>;
bias-pull-up;
};
};
}; };
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-msm8916.h> #include <dt-bindings/clock/qcom,gcc-msm8916.h>
#include <dt-bindings/reset/qcom,gcc-msm8916.h> #include <dt-bindings/reset/qcom,gcc-msm8916.h>
#include <dt-bindings/clock/qcom,rpmcc.h>
/ { / {
model = "Qualcomm Technologies, Inc. MSM8916"; model = "Qualcomm Technologies, Inc. MSM8916";
...@@ -82,7 +83,7 @@ mpss_mem: mpss@86800000 { ...@@ -82,7 +83,7 @@ mpss_mem: mpss@86800000 {
no-map; no-map;
}; };
wcnss@89300000 { wcnss_mem: wcnss@89300000 {
reg = <0x0 0x89300000 0x0 0x600000>; reg = <0x0 0x89300000 0x0 0x600000>;
no-map; no-map;
}; };
...@@ -856,6 +857,76 @@ mpss { ...@@ -856,6 +857,76 @@ mpss {
memory-region = <&mpss_mem>; memory-region = <&mpss_mem>;
}; };
}; };
pronto: wcnss@a21b000 {
compatible = "qcom,pronto-v2-pil", "qcom,pronto";
reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
reg-names = "ccu", "dxe", "pmu";
memory-region = <&wcnss_mem>;
interrupts-extended = <&intc 0 149 IRQ_TYPE_EDGE_RISING>,
<&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
<&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
<&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
<&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
vddmx-supply = <&pm8916_l3>;
vddpx-supply = <&pm8916_l7>;
qcom,state = <&wcnss_smp2p_out 0>;
qcom,state-names = "stop";
pinctrl-names = "default";
pinctrl-0 = <&wcnss_pin_a>;
status = "disabled";
iris {
compatible = "qcom,wcn3620";
clocks = <&rpmcc RPM_SMD_RF_CLK2>;
clock-names = "xo";
vddxo-supply = <&pm8916_l7>;
vddrfa-supply = <&pm8916_s3>;
vddpa-supply = <&pm8916_l9>;
vdddig-supply = <&pm8916_l5>;
};
smd-edge {
interrupts = <0 142 1>;
qcom,ipc = <&apcs 8 17>;
qcom,smd-edge = <6>;
qcom,remote-pid = <4>;
label = "pronto";
wcnss {
compatible = "qcom,wcnss";
qcom,smd-channels = "WCNSS_CTRL";
qcom,mmio = <&pronto>;
bt {
compatible = "qcom,wcnss-bt";
};
wifi {
compatible = "qcom,wcnss-wlan";
interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>,
<0 146 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "tx", "rx";
qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
qcom,smem-state-names = "tx-enable", "tx-rings-empty";
};
};
};
};
}; };
smd { smd {
...@@ -871,7 +942,7 @@ rpm_requests { ...@@ -871,7 +942,7 @@ rpm_requests {
qcom,smd-channels = "rpm_requests"; qcom,smd-channels = "rpm_requests";
rpmcc: qcom,rpmcc { rpmcc: qcom,rpmcc {
compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc"; compatible = "qcom,rpmcc-msm8916";
#clock-cells = <1>; #clock-cells = <1>;
}; };
......
...@@ -258,6 +258,12 @@ psci { ...@@ -258,6 +258,12 @@ psci {
method = "smc"; method = "smc";
}; };
firmware {
scm {
compatible = "qcom,scm-msm8996";
};
};
tcsr_mutex: hwlock { tcsr_mutex: hwlock {
compatible = "qcom,tcsr-mutex"; compatible = "qcom,tcsr-mutex";
syscon = <&tcsr_mutex_regs 0 0x1000>; syscon = <&tcsr_mutex_regs 0 0x1000>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment