Qualcomm ARM64 Updates for v4.6
* Add MSM8996 support * Cleanups for MSM8916 * Updates for APQ8016 SBC * Fixup pmic reg properties * Add RPMCC node for 8916 * Add LPASS audio nodes * Add USB support on MSM8916 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJW1MPFAAoJEFKiBbHx2RXVdVUP/0OG6hYYbVm8ZjpVnl1OyL95 XQBUB1nK1ZhsiPddkmAPVKybMWYS/ZGrBQO37MYi9oJpmyQMvKJojqvagbnmD6SB Mq9gb9WZp6uLjJSRT/aP5eJLxjkOJbojb7DaBCaqci+X4RKsPOVQK3LgTUkr9/qC yAuC8I/UWPY/PU3cvHZ8EAen+9nK5iXtBWuW5lGoAJG9IWgt3Nj8DRd2zS/7X0vn Yeq3FCPO8RBdYOlEopOw5ij9/+7Ytme0jpqP0P7q3yEaPNexp+EJXQNyU6wBmdH+ 5aozKIkjayRJQXZMB69hWgPZQAJ4csVU97K0WWdFtNyFhnAmBCgF9q18z1z1lkCp BnTk1+hw6jF39uBeGl2oQ3dVMHuSu8TLNWYEt8JLkW5HqaNSafsh0QxlK5loH/5d 62753YeQM0i9eK08IBfn1dexlKpjoH0sUGVtGsr3ll853+h7gNpKnkHydanhNPE5 5IuyxOwOmgglygCL27aplXN2PbGVbZ3LDv4Slcqdk5Cvgssa2ANOVBuQ20R/4cVu B/Eqdw94xuYUHTAMJpb1uYi+stwlpeghNyMU7hLhHwvtoA75ek4tdw7NVt7zA+7p WEzlLEwkwhY0IgZ88CAdGEMKHcjQgS7pBXkfZws519Zs+ONle9WWmo6I2/CyuCyd DkKi9TvBV7E13uSacy81 =YweL -----END PGP SIGNATURE----- Merge tag 'qcom-arm64-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64 Merge "Qualcomm ARM64 Updates for v4.6" from Andy Gross: * Add MSM8996 support * Cleanups for MSM8916 * Updates for APQ8016 SBC * Fixup pmic reg properties * Add RPMCC node for 8916 * Add LPASS audio nodes * Add USB support on MSM8916 * tag 'qcom-arm64-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (24 commits) arm64: dts: qcom: Fix MPP's function used for LED control arm64: dts: qcom: fix usb digital voltage levels arm64: dts: qcom: apq8016-sbc: enable lpass on DB410c arm64: dts: qcom: add lpass node arm64: dts: qcom: add audio pinctrls arm64: dts: qcom: apq8016-sbc: add usb support arm64: dts: qcom: add manual pullup setting to otg. arm64: dts: qcom: msm8916: Add RPMCC DT node ARM64: dts: qcom: Remove size elements from pmic reg properties arm64: dts: msm8996: Add #power-domain-cells property arm64: dts: apq8016-sbc: Add real regulators and pinctrl for sdhc arm64: dts: apq8016-sbc: move sdhci node under soc node arm64: dts: apq8016-sbc: make 1.8v available on LS expansion arm64: dts: apq8016-sbc: add regulators support arm64: dts: qcom: add lable for smd rpm regulators arm64: dts: remove s2 regulator from smd regulators. arm64: dts: qcom: add correct drive strenght on cs pins arm64: dts: qcom: remove redundant spi cs pins from pinconf arm64: dts: apq8016-sbc: Add aliases to spi device. arm64: dts: Add L2 cache node to msm8916 ...
This commit is contained in:
commit
3bbf58531f
|
@ -1,4 +1,5 @@
|
|||
dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb msm8916-mtp.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-mtp.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
pm8916_mpps_leds: pm8916_mpps_leds {
|
||||
pinconf {
|
||||
pins = "mpp2", "mpp3";
|
||||
function = PMIC_GPIO_FUNC_NORMAL;
|
||||
function = "digital";
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,4 +10,18 @@
|
|||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
usb_id_default: usb-id-default {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio121";
|
||||
};
|
||||
|
||||
pinconf {
|
||||
pins = "gpio121";
|
||||
drive-strength = <8>;
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
i2c0 = &blsp_i2c2;
|
||||
i2c1 = &blsp_i2c6;
|
||||
i2c3 = &blsp_i2c4;
|
||||
spi0 = &blsp_spi5;
|
||||
spi1 = &blsp_spi3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
@ -127,9 +129,173 @@
|
|||
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";
|
||||
};
|
||||
|
||||
usb@78d9000 {
|
||||
extcon = <&usb_id>, <&usb_id>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci@78d9000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
phy@78d9000 {
|
||||
v1p8-supply = <&pm8916_l7>;
|
||||
v3p3-supply = <&pm8916_l13>;
|
||||
vddcx-supply = <&pm8916_s1>;
|
||||
extcon = <&usb_id>, <&usb_id>;
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb_sw_sel_pm>;
|
||||
};
|
||||
|
||||
lpass@07708000 {
|
||||
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";
|
||||
id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb_id_default>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
status = "okay";
|
||||
&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 = <375000>;
|
||||
regulator-max-microvolt = <1525000>;
|
||||
};
|
||||
|
||||
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 = <1750000>;
|
||||
regulator-max-microvolt = <3337000>;
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
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 = <1750000>;
|
||||
regulator-max-microvolt = <3337000>;
|
||||
};
|
||||
|
||||
l18 {
|
||||
regulator-min-microvolt = <1750000>;
|
||||
regulator-max-microvolt = <3337000>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
};
|
||||
pinconf_cs {
|
||||
pins = "gpio2";
|
||||
drive-strength = <2>;
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
@ -110,13 +110,13 @@
|
|||
pins = "gpio6";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio4", "gpio5", "gpio6", "gpio7";
|
||||
pins = "gpio4", "gpio5", "gpio7";
|
||||
drive-strength = <12>;
|
||||
bias-disable;
|
||||
};
|
||||
pinconf_cs {
|
||||
pins = "gpio6";
|
||||
drive-strength = <2>;
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
@ -144,13 +144,13 @@
|
|||
pins = "gpio10";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio8", "gpio9", "gpio10", "gpio11";
|
||||
pins = "gpio8", "gpio9", "gpio11";
|
||||
drive-strength = <12>;
|
||||
bias-disable;
|
||||
};
|
||||
pinconf_cs {
|
||||
pins = "gpio10";
|
||||
drive-strength = <2>;
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
@ -178,13 +178,13 @@
|
|||
pins = "gpio14";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio12", "gpio13", "gpio14", "gpio15";
|
||||
pins = "gpio12", "gpio13", "gpio15";
|
||||
drive-strength = <12>;
|
||||
bias-disable;
|
||||
};
|
||||
pinconf_cs {
|
||||
pins = "gpio14";
|
||||
drive-strength = <2>;
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
@ -212,13 +212,13 @@
|
|||
pins = "gpio18";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio16", "gpio17", "gpio18", "gpio19";
|
||||
pins = "gpio16", "gpio17", "gpio19";
|
||||
drive-strength = <12>;
|
||||
bias-disable;
|
||||
};
|
||||
pinconf_cs {
|
||||
pins = "gpio18";
|
||||
drive-strength = <2>;
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
@ -246,13 +246,13 @@
|
|||
pins = "gpio22";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio20", "gpio21", "gpio22", "gpio23";
|
||||
pins = "gpio20", "gpio21", "gpio23";
|
||||
drive-strength = <12>;
|
||||
bias-disable;
|
||||
};
|
||||
pinconf_cs {
|
||||
pins = "gpio22";
|
||||
drive-strength = <2>;
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
@ -504,4 +504,220 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
ext-codec-lines {
|
||||
ext_codec_lines_act: lines_on {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio67";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio67";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
ext_codec_lines_sus: lines_off {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio67";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio67";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cdc-pdm-lines {
|
||||
cdc_pdm_lines_act: pdm_lines_on {
|
||||
pinmux {
|
||||
function = "cdc_pdm0";
|
||||
pins = "gpio63", "gpio64", "gpio65", "gpio66",
|
||||
"gpio67", "gpio68";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio63", "gpio64", "gpio65", "gpio66",
|
||||
"gpio67", "gpio68";
|
||||
drive-strength = <8>;
|
||||
bias-pull-none;
|
||||
};
|
||||
};
|
||||
cdc_pdm_lines_sus: pdm_lines_off {
|
||||
pinmux {
|
||||
function = "cdc_pdm0";
|
||||
pins = "gpio63", "gpio64", "gpio65", "gpio66",
|
||||
"gpio67", "gpio68";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio63", "gpio64", "gpio65", "gpio66",
|
||||
"gpio67", "gpio68";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ext-pri-tlmm-lines {
|
||||
ext_pri_tlmm_lines_act: ext_pa_on {
|
||||
pinmux {
|
||||
function = "pri_mi2s";
|
||||
pins = "gpio113", "gpio114", "gpio115",
|
||||
"gpio116";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio113", "gpio114", "gpio115",
|
||||
"gpio116";
|
||||
drive-strength = <8>;
|
||||
bias-pull-none;
|
||||
};
|
||||
};
|
||||
|
||||
ext_pri_tlmm_lines_sus: ext_pa_off {
|
||||
pinmux {
|
||||
function = "pri_mi2s";
|
||||
pins = "gpio113", "gpio114", "gpio115",
|
||||
"gpio116";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio113", "gpio114", "gpio115",
|
||||
"gpio116";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ext-pri-ws-line {
|
||||
ext_pri_ws_act: ext_pa_on {
|
||||
pinmux {
|
||||
function = "pri_mi2s_ws";
|
||||
pins = "gpio110";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio110";
|
||||
drive-strength = <8>;
|
||||
bias-pull-none;
|
||||
};
|
||||
};
|
||||
|
||||
ext_pri_ws_sus: ext_pa_off {
|
||||
pinmux {
|
||||
function = "pri_mi2s_ws";
|
||||
pins = "gpio110";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio110";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ext-mclk-tlmm-lines {
|
||||
ext_mclk_tlmm_lines_act: mclk_lines_on {
|
||||
pinmux {
|
||||
function = "pri_mi2s";
|
||||
pins = "gpio116";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio116";
|
||||
drive-strength = <8>;
|
||||
bias-pull-none;
|
||||
};
|
||||
};
|
||||
ext_mclk_tlmm_lines_sus: mclk_lines_off {
|
||||
pinmux {
|
||||
function = "pri_mi2s";
|
||||
pins = "gpio116";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio116";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* secondary Mi2S */
|
||||
ext-sec-tlmm-lines {
|
||||
ext_sec_tlmm_lines_act: tlmm_lines_on {
|
||||
pinmux {
|
||||
function = "sec_mi2s";
|
||||
pins = "gpio112", "gpio117", "gpio118",
|
||||
"gpio119";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio112", "gpio117", "gpio118",
|
||||
"gpio119";
|
||||
drive-strength = <8>;
|
||||
bias-pull-none;
|
||||
};
|
||||
};
|
||||
ext_sec_tlmm_lines_sus: tlmm_lines_off {
|
||||
pinmux {
|
||||
function = "sec_mi2s";
|
||||
pins = "gpio112", "gpio117", "gpio118",
|
||||
"gpio119";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio112", "gpio117", "gpio118",
|
||||
"gpio119";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cdc-dmic-lines {
|
||||
cdc_dmic_lines_act: dmic_lines_on {
|
||||
pinmux_dmic0_clk {
|
||||
function = "dmic0_clk";
|
||||
pins = "gpio0";
|
||||
};
|
||||
pinmux_dmic0_data {
|
||||
function = "dmic0_data";
|
||||
pins = "gpio1";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio0", "gpio1";
|
||||
drive-strength = <8>;
|
||||
};
|
||||
};
|
||||
cdc_dmic_lines_sus: dmic_lines_off {
|
||||
pinconf {
|
||||
pins = "gpio0", "gpio1";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cross-conn-det {
|
||||
cross_conn_det_act: lines_on {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio120";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio120";
|
||||
drive-strength = <8>;
|
||||
output-low;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
cross_conn_det_sus: lines_off {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio120";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio120";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -61,24 +61,33 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0x0>;
|
||||
next-level-cache = <&L2_0>;
|
||||
};
|
||||
|
||||
CPU1: cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0x1>;
|
||||
next-level-cache = <&L2_0>;
|
||||
};
|
||||
|
||||
CPU2: cpu@2 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0x2>;
|
||||
next-level-cache = <&L2_0>;
|
||||
};
|
||||
|
||||
CPU3: cpu@3 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0x3>;
|
||||
next-level-cache = <&L2_0>;
|
||||
};
|
||||
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -134,7 +143,7 @@
|
|||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gcc: qcom,gcc@1800000 {
|
||||
gcc: clock-controller@1800000 {
|
||||
compatible = "qcom,gcc-msm8916";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
|
@ -343,6 +352,32 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
lpass: lpass@07708000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,lpass-cpu-apq8016";
|
||||
clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
|
||||
<&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
|
||||
<&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>,
|
||||
<&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
|
||||
<&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
|
||||
<&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
|
||||
<&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>;
|
||||
|
||||
clock-names = "ahbix-clk",
|
||||
"pcnoc-mport-clk",
|
||||
"pcnoc-sway-clk",
|
||||
"mi2s-bit-clk0",
|
||||
"mi2s-bit-clk1",
|
||||
"mi2s-bit-clk2",
|
||||
"mi2s-bit-clk3";
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
interrupts = <0 160 0>;
|
||||
interrupt-names = "lpass-irq-lpaif";
|
||||
reg = <0x07708000 0x10000>;
|
||||
reg-names = "lpass-lpaif";
|
||||
};
|
||||
|
||||
sdhc_1: sdhci@07824000 {
|
||||
compatible = "qcom,sdhci-msm-v4";
|
||||
reg = <0x07824900 0x11c>, <0x07824000 0x800>;
|
||||
|
@ -395,10 +430,11 @@
|
|||
interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_BOTH>,
|
||||
<GIC_SPI 140 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
qcom,vdd-levels = <1 5 7>;
|
||||
qcom,vdd-levels = <500000 1000000 1320000>;
|
||||
qcom,phy-init-sequence = <0x44 0x6B 0x24 0x13>;
|
||||
dr_mode = "peripheral";
|
||||
qcom,otg-control = <2>; // PMIC
|
||||
qcom,manual-pullup;
|
||||
|
||||
clocks = <&gcc GCC_USB_HS_AHB_CLK>,
|
||||
<&gcc GCC_USB_HS_SYSTEM_CLK>,
|
||||
|
@ -515,11 +551,15 @@
|
|||
compatible = "qcom,rpm-msm8916";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
pm8916-regulators {
|
||||
rpmcc: qcom,rpmcc {
|
||||
compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
smd_rpm_regulators: pm8916-regulators {
|
||||
compatible = "qcom,rpm-pm8916-regulators";
|
||||
|
||||
pm8916_s1: s1 {};
|
||||
pm8916_s2: s2 {};
|
||||
pm8916_s3: s3 {};
|
||||
pm8916_s4: s4 {};
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (c) 2014-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.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "msm8996-mtp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. MSM 8996 MTP";
|
||||
compatible = "qcom,msm8996-mtp";
|
||||
};
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright (c) 2014-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 "msm8996.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &blsp2_uart1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0";
|
||||
};
|
||||
|
||||
soc {
|
||||
serial@75b0000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,269 @@
|
|||
/* Copyright (c) 2014-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 <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/qcom,gcc-msm8996.h>
|
||||
#include <dt-bindings/clock/qcom,mmcc-msm8996.h>
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. MSM8996";
|
||||
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
chosen { };
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
/* We expect the bootloader to fill in the reg */
|
||||
reg = <0 0 0 0>;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
CPU0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_0>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
CPU1: cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_0>;
|
||||
};
|
||||
|
||||
CPU2: cpu@100 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x100>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_1>;
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
CPU3: cpu@101 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x101>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_1>;
|
||||
};
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&CPU0>;
|
||||
};
|
||||
|
||||
core1 {
|
||||
cpu = <&CPU1>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1 {
|
||||
core0 {
|
||||
cpu = <&CPU2>;
|
||||
};
|
||||
|
||||
core1 {
|
||||
cpu = <&CPU3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
xo_board {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <19200000>;
|
||||
clock-output-names = "xo_board";
|
||||
};
|
||||
|
||||
sleep_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32764>;
|
||||
clock-output-names = "sleep_clk";
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0 0xffffffff>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
intc: interrupt-controller@9bc0000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
#redistributor-regions = <1>;
|
||||
redistributor-stride = <0x0 0x40000>;
|
||||
reg = <0x09bc0000 0x10000>,
|
||||
<0x09c00000 0x100000>;
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
gcc: clock-controller@300000 {
|
||||
compatible = "qcom,gcc-msm8996";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
reg = <0x300000 0x90000>;
|
||||
};
|
||||
|
||||
blsp2_uart1: serial@75b0000 {
|
||||
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
reg = <0x75b0000 0x1000>;
|
||||
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
|
||||
<&gcc GCC_BLSP2_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pinctrl@1010000 {
|
||||
compatible = "qcom,msm8996-pinctrl";
|
||||
reg = <0x01010000 0x300000>;
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
timer@09840000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
compatible = "arm,armv7-timer-mem";
|
||||
reg = <0x09840000 0x1000>;
|
||||
clock-frequency = <19200000>;
|
||||
|
||||
frame@9850000 {
|
||||
frame-number = <0>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x09850000 0x1000>,
|
||||
<0x09860000 0x1000>;
|
||||
};
|
||||
|
||||
frame@9870000 {
|
||||
frame-number = <1>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x09870000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
frame@9880000 {
|
||||
frame-number = <2>;
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x09880000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
frame@9890000 {
|
||||
frame-number = <3>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x09890000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
frame@98a0000 {
|
||||
frame-number = <4>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x098a0000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
frame@98b0000 {
|
||||
frame-number = <5>;
|
||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x098b0000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
frame@98c0000 {
|
||||
frame-number = <6>;
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x098c0000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
spmi_bus: qcom,spmi@400f000 {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
reg = <0x400f000 0x1000>,
|
||||
<0x4400000 0x800000>,
|
||||
<0x4c00000 0x800000>,
|
||||
<0x5800000 0x200000>,
|
||||
<0x400a000 0x002100>;
|
||||
reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
|
||||
interrupt-names = "periph_irq";
|
||||
interrupts = <GIC_SPI 326 IRQ_TYPE_NONE>;
|
||||
qcom,ee = <0>;
|
||||
qcom,channel = <0>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
};
|
||||
|
||||
mmcc: clock-controller@8c0000 {
|
||||
compatible = "qcom,mmcc-msm8996";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
reg = <0x8c0000 0x40000>;
|
||||
assigned-clocks = <&mmcc MMPLL9_PLL>,
|
||||
<&mmcc MMPLL1_PLL>,
|
||||
<&mmcc MMPLL3_PLL>,
|
||||
<&mmcc MMPLL4_PLL>,
|
||||
<&mmcc MMPLL5_PLL>;
|
||||
assigned-clock-rates = <624000000>,
|
||||
<810000000>,
|
||||
<980000000>,
|
||||
<960000000>,
|
||||
<825000000>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
&spmi_bus {
|
||||
|
||||
pmic@4 {
|
||||
compatible = "qcom,pm8004", "qcom,spmi-pmic";
|
||||
reg = <0x4 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
pmic@5 {
|
||||
compatible = "qcom,pm8004", "qcom,spmi-pmic";
|
||||
reg = <0x5 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
rtc@6000 {
|
||||
compatible = "qcom,pm8941-rtc";
|
||||
reg = <0x6000 0x6100>;
|
||||
reg = <0x6000>;
|
||||
reg-names = "rtc", "alarm";
|
||||
interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
@ -27,7 +27,7 @@
|
|||
|
||||
pm8916_gpios: gpios@c000 {
|
||||
compatible = "qcom,pm8916-gpio";
|
||||
reg = <0xc000 0x400>;
|
||||
reg = <0xc000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
|
||||
|
@ -38,7 +38,7 @@
|
|||
|
||||
pm8916_mpps: mpps@a000 {
|
||||
compatible = "qcom,pm8916-mpp";
|
||||
reg = <0xa000 0x400>;
|
||||
reg = <0xa000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
|
||||
|
@ -49,7 +49,7 @@
|
|||
|
||||
pm8916_temp: temp-alarm@2400 {
|
||||
compatible = "qcom,spmi-temp-alarm";
|
||||
reg = <0x2400 0x100>;
|
||||
reg = <0x2400>;
|
||||
interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
|
||||
io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
|
||||
io-channel-names = "thermal";
|
||||
|
@ -58,7 +58,7 @@
|
|||
|
||||
pm8916_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>;
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
&spmi_bus {
|
||||
|
||||
pmic@0 {
|
||||
compatible = "qcom,pm8994", "qcom,spmi-pmic";
|
||||
reg = <0x0 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm8994_gpios: gpios@c000 {
|
||||
compatible = "qcom,pm8994-gpio";
|
||||
reg = <0xc000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc1 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc2 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc3 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc4 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc5 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc6 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc7 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc8 0 IRQ_TYPE_NONE>,
|
||||
<0 0xc9 0 IRQ_TYPE_NONE>,
|
||||
<0 0xca 0 IRQ_TYPE_NONE>,
|
||||
<0 0xcb 0 IRQ_TYPE_NONE>,
|
||||
<0 0xcc 0 IRQ_TYPE_NONE>,
|
||||
<0 0xcd 0 IRQ_TYPE_NONE>,
|
||||
<0 0xce 0 IRQ_TYPE_NONE>,
|
||||
<0 0xd0 0 IRQ_TYPE_NONE>,
|
||||
<0 0xd1 0 IRQ_TYPE_NONE>,
|
||||
<0 0xd2 0 IRQ_TYPE_NONE>,
|
||||
<0 0xd3 0 IRQ_TYPE_NONE>,
|
||||
<0 0xd4 0 IRQ_TYPE_NONE>,
|
||||
<0 0xd5 0 IRQ_TYPE_NONE>;
|
||||
};
|
||||
|
||||
pm8994_mpps: mpps@a000 {
|
||||
compatible = "qcom,pm8994-mpp";
|
||||
reg = <0xa000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa1 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa2 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa3 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa4 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa5 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa6 0 IRQ_TYPE_NONE>,
|
||||
<0 0xa7 0 IRQ_TYPE_NONE>;
|
||||
};
|
||||
};
|
||||
|
||||
pmic@1 {
|
||||
compatible = "qcom,pm8994", "qcom,spmi-pmic";
|
||||
reg = <0x1 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
&spmi_bus {
|
||||
|
||||
pmic@2 {
|
||||
compatible = "qcom,pmi8994", "qcom,spmi-pmic";
|
||||
reg = <0x2 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
pmic@3 {
|
||||
compatible = "qcom,pmi8994", "qcom,spmi-pmic";
|
||||
reg = <0x3 SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue