ARM: dts: msm: Add initial device tree files for MSMFALCON
Add the device tree files necessary to support the MSMFALCON SoC and the MSMFALCON Simulator platform. Change-Id: Iabdb1c21757ad6dead50fdc4aa3b12077f8f840f Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
This commit is contained in:
parent
52979505f2
commit
84e1573bd0
12 changed files with 2097 additions and 0 deletions
|
@ -86,6 +86,9 @@ SoCs:
|
||||||
- MSMHAMSTER
|
- MSMHAMSTER
|
||||||
compatible = "qcom,msmhamster"
|
compatible = "qcom,msmhamster"
|
||||||
|
|
||||||
|
- MSMFALCON
|
||||||
|
compatible = "qcom,msmfalcon"
|
||||||
|
|
||||||
- MSM8952
|
- MSM8952
|
||||||
compatible = "qcom,msm8952"
|
compatible = "qcom,msm8952"
|
||||||
|
|
||||||
|
@ -245,6 +248,7 @@ compatible = "qcom,msmcobalt-rumi"
|
||||||
compatible = "qcom,msmhamster-rumi"
|
compatible = "qcom,msmhamster-rumi"
|
||||||
compatible = "qcom,msmhamster-cdp"
|
compatible = "qcom,msmhamster-cdp"
|
||||||
compatible = "qcom,msmhamster-mtp"
|
compatible = "qcom,msmhamster-mtp"
|
||||||
|
compatible = "qcom,msmfalcon-sim"
|
||||||
compatible = "qcom,msm8952-rumi"
|
compatible = "qcom,msm8952-rumi"
|
||||||
compatible = "qcom,msm8952-sim"
|
compatible = "qcom,msm8952-sim"
|
||||||
compatible = "qcom,msm8952-qrd"
|
compatible = "qcom,msm8952-qrd"
|
||||||
|
|
|
@ -0,0 +1,199 @@
|
||||||
|
Qualcomm Technologies, Inc. MSMFALCON TLMM block
|
||||||
|
|
||||||
|
This binding describes the Top Level Mode Multiplexer block found in the
|
||||||
|
MSMFALCON platform.
|
||||||
|
|
||||||
|
- compatible:
|
||||||
|
Usage: required
|
||||||
|
Value type: <string>
|
||||||
|
Definition: must be "qcom,msmfalcon-pinctrl"
|
||||||
|
|
||||||
|
- reg:
|
||||||
|
Usage: required
|
||||||
|
Value type: <prop-encoded-array>
|
||||||
|
Definition: the base address and size of the TLMM register space.
|
||||||
|
|
||||||
|
- interrupts:
|
||||||
|
Usage: required
|
||||||
|
Value type: <prop-encoded-array>
|
||||||
|
Definition: should specify the TLMM summary IRQ.
|
||||||
|
|
||||||
|
- interrupt-controller:
|
||||||
|
Usage: required
|
||||||
|
Value type: <none>
|
||||||
|
Definition: identifies this node as an interrupt controller
|
||||||
|
|
||||||
|
- #interrupt-cells:
|
||||||
|
Usage: required
|
||||||
|
Value type: <u32>
|
||||||
|
Definition: must be 2. Specifying the pin number and flags, as defined
|
||||||
|
in <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
- gpio-controller:
|
||||||
|
Usage: required
|
||||||
|
Value type: <none>
|
||||||
|
Definition: identifies this node as a gpio controller
|
||||||
|
|
||||||
|
- #gpio-cells:
|
||||||
|
Usage: required
|
||||||
|
Value type: <u32>
|
||||||
|
Definition: must be 2. Specifying the pin number and flags, as defined
|
||||||
|
in <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
|
||||||
|
a general description of GPIO and interrupt bindings.
|
||||||
|
|
||||||
|
Please refer to pinctrl-bindings.txt in this directory for details of the
|
||||||
|
common pinctrl bindings used by client devices, including the meaning of the
|
||||||
|
phrase "pin configuration node".
|
||||||
|
|
||||||
|
The pin configuration nodes act as a container for an arbitrary number of
|
||||||
|
subnodes. Each of these subnodes represents some desired configuration for a
|
||||||
|
pin, a group, or a list of pins or groups. This configuration can include the
|
||||||
|
mux function to select on those pin(s)/group(s), and various pin configuration
|
||||||
|
parameters, such as pull-up, drive strength, etc.
|
||||||
|
|
||||||
|
|
||||||
|
PIN CONFIGURATION NODES:
|
||||||
|
|
||||||
|
The name of each subnode is not important; all subnodes should be enumerated
|
||||||
|
and processed purely based on their content.
|
||||||
|
|
||||||
|
Each subnode only affects those parameters that are explicitly listed. In
|
||||||
|
other words, a subnode that lists a mux function but no pin configuration
|
||||||
|
parameters implies no information about any pin configuration parameters.
|
||||||
|
Similarly, a pin subnode that describes a pullup parameter implies no
|
||||||
|
information about e.g. the mux function.
|
||||||
|
|
||||||
|
|
||||||
|
The following generic properties as defined in pinctrl-bindings.txt are valid
|
||||||
|
to specify in a pin configuration subnode:
|
||||||
|
|
||||||
|
- pins:
|
||||||
|
Usage: required
|
||||||
|
Value type: <string-array>
|
||||||
|
Definition: List of gpio pins affected by the properties specified in
|
||||||
|
this subnode. Valid pins are:
|
||||||
|
gpio0-gpio149,
|
||||||
|
sdc1_clk,
|
||||||
|
sdc1_cmd,
|
||||||
|
sdc1_data
|
||||||
|
sdc2_clk,
|
||||||
|
sdc2_cmd,
|
||||||
|
sdc2_data
|
||||||
|
sdc1_rclk,
|
||||||
|
|
||||||
|
- function:
|
||||||
|
Usage: required
|
||||||
|
Value type: <string>
|
||||||
|
Definition: Specify the alternative function to be configured for the
|
||||||
|
specified pins. Functions are only valid for gpio pins.
|
||||||
|
Valid values are:
|
||||||
|
|
||||||
|
blsp_uart1, blsp_spi1, blsp_i2c1, blsp_uim1, atest_tsens,
|
||||||
|
bimc_dte1, dac_calib0, blsp_spi8, blsp_uart8, blsp_uim8,
|
||||||
|
qdss_cti_trig_out_b, bimc_dte0, dac_calib1, qdss_cti_trig_in_b,
|
||||||
|
dac_calib2, atest_tsens2, atest_usb1, blsp_spi10, blsp_uart10,
|
||||||
|
blsp_uim10, atest_bbrx1, atest_usb13, atest_bbrx0, atest_usb12,
|
||||||
|
mdp_vsync, edp_lcd, blsp_i2c10, atest_gpsadc1, atest_usb11,
|
||||||
|
atest_gpsadc0, edp_hot, atest_usb10, m_voc, dac_gpio, atest_char,
|
||||||
|
cam_mclk, pll_bypassnl, qdss_stm7, blsp_i2c8, qdss_tracedata_b,
|
||||||
|
pll_reset, qdss_stm6, qdss_stm5, qdss_stm4, atest_usb2, cci_i2c,
|
||||||
|
qdss_stm3, dac_calib3, atest_usb23, atest_char3, dac_calib4,
|
||||||
|
qdss_stm2, atest_usb22, atest_char2, qdss_stm1, dac_calib5,
|
||||||
|
atest_usb21, atest_char1, dbg_out, qdss_stm0, dac_calib6,
|
||||||
|
atest_usb20, atest_char0, dac_calib10, qdss_stm10,
|
||||||
|
qdss_cti_trig_in_a, cci_timer4, blsp_spi6, blsp_uart6, blsp_uim6,
|
||||||
|
blsp2_spi, qdss_stm9, qdss_cti_trig_out_a, dac_calib11,
|
||||||
|
qdss_stm8, cci_timer0, qdss_stm13, dac_calib7, cci_timer1,
|
||||||
|
qdss_stm12, dac_calib8, cci_timer2, blsp1_spi, qdss_stm11,
|
||||||
|
dac_calib9, cci_timer3, cci_async, dac_calib12, blsp_i2c6,
|
||||||
|
qdss_tracectl_a, dac_calib13, qdss_traceclk_a, dac_calib14,
|
||||||
|
dac_calib15, hdmi_rcv, dac_calib16, hdmi_cec, pwr_modem,
|
||||||
|
dac_calib17, hdmi_ddc, pwr_nav, dac_calib18, pwr_crypto,
|
||||||
|
dac_calib19, hdmi_hot, dac_calib20, dac_calib21, pci_e0,
|
||||||
|
dac_calib22, dac_calib23, dac_calib24, tsif1_sync, dac_calib25,
|
||||||
|
sd_write, tsif1_error, blsp_spi2, blsp_uart2, blsp_uim2,
|
||||||
|
qdss_cti, blsp_i2c2, blsp_spi3, blsp_uart3, blsp_uim3, blsp_i2c3,
|
||||||
|
uim3, blsp_spi9, blsp_uart9, blsp_uim9, blsp10_spi, blsp_i2c9,
|
||||||
|
blsp_spi7, blsp_uart7, blsp_uim7, qdss_tracedata_a, blsp_i2c7,
|
||||||
|
qua_mi2s, gcc_gp1_clk_a, ssc_irq, uim4, blsp_spi11, blsp_uart11,
|
||||||
|
blsp_uim11, gcc_gp2_clk_a, gcc_gp3_clk_a, blsp_i2c11, cri_trng0,
|
||||||
|
cri_trng1, cri_trng, qdss_stm18, pri_mi2s, qdss_stm17, blsp_spi4,
|
||||||
|
blsp_uart4, blsp_uim4, qdss_stm16, qdss_stm15, blsp_i2c4,
|
||||||
|
qdss_stm14, dac_calib26, spkr_i2s, audio_ref, lpass_slimbus,
|
||||||
|
isense_dbg, tsense_pwm1, tsense_pwm2, btfm_slimbus, ter_mi2s,
|
||||||
|
qdss_stm22, qdss_stm21, qdss_stm20, qdss_stm19, gcc_gp1_clk_b,
|
||||||
|
sec_mi2s, blsp_spi5, blsp_uart5, blsp_uim5, gcc_gp2_clk_b,
|
||||||
|
gcc_gp3_clk_b, blsp_i2c5, blsp_spi12, blsp_uart12, blsp_uim12,
|
||||||
|
qdss_stm25, qdss_stm31, blsp_i2c12, qdss_stm30, qdss_stm29,
|
||||||
|
tsif1_clk, qdss_stm28, tsif1_en, tsif1_data, sdc4_cmd, qdss_stm27,
|
||||||
|
qdss_traceclk_b, tsif2_error, sdc43, vfr_1, qdss_stm26, tsif2_clk,
|
||||||
|
sdc4_clk, qdss_stm24, tsif2_en, sdc42, qdss_stm23, qdss_tracectl_b,
|
||||||
|
sd_card, tsif2_data, sdc41, tsif2_sync, sdc40, mdp_vsync_p_b,
|
||||||
|
ldo_en, mdp_vsync_s_b, ldo_update, blsp11_uart_tx_b, blsp11_uart_rx_b,
|
||||||
|
blsp11_i2c_sda_b, prng_rosc, blsp11_i2c_scl_b, uim2, uim1, uim_batt,
|
||||||
|
pci_e2, pa_indicator, adsp_ext, ddr_bist, qdss_tracedata_11,
|
||||||
|
qdss_tracedata_12, modem_tsync, nav_dr, nav_pps, pci_e1, gsm_tx,
|
||||||
|
qspi_cs, ssbi2, ssbi1, mss_lte, qspi_clk, qspi0, qspi1, qspi2, qspi3,
|
||||||
|
gpio
|
||||||
|
|
||||||
|
- bias-disable:
|
||||||
|
Usage: optional
|
||||||
|
Value type: <none>
|
||||||
|
Definition: The specified pins should be configued as no pull.
|
||||||
|
|
||||||
|
- bias-pull-down:
|
||||||
|
Usage: optional
|
||||||
|
Value type: <none>
|
||||||
|
Definition: The specified pins should be configued as pull down.
|
||||||
|
|
||||||
|
- bias-pull-up:
|
||||||
|
Usage: optional
|
||||||
|
Value type: <none>
|
||||||
|
Definition: The specified pins should be configued as pull up.
|
||||||
|
|
||||||
|
- output-high:
|
||||||
|
Usage: optional
|
||||||
|
Value type: <none>
|
||||||
|
Definition: The specified pins are configured in output mode, driven
|
||||||
|
high.
|
||||||
|
Not valid for sdc pins.
|
||||||
|
|
||||||
|
- output-low:
|
||||||
|
Usage: optional
|
||||||
|
Value type: <none>
|
||||||
|
Definition: The specified pins are configured in output mode, driven
|
||||||
|
low.
|
||||||
|
Not valid for sdc pins.
|
||||||
|
|
||||||
|
- drive-strength:
|
||||||
|
Usage: optional
|
||||||
|
Value type: <u32>
|
||||||
|
Definition: Selects the drive strength for the specified pins, in mA.
|
||||||
|
Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
tlmm: pinctrl@01010000 {
|
||||||
|
compatible = "qcom,msmfalcon-pinctrl";
|
||||||
|
reg = <0x01010000 0x300000>;
|
||||||
|
interrupts = <0 208 0>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
|
||||||
|
uart_console_active: uart_console_active {
|
||||||
|
mux {
|
||||||
|
pins = "gpio4", "gpio5";
|
||||||
|
function = "blsp_uart8";
|
||||||
|
};
|
||||||
|
|
||||||
|
config {
|
||||||
|
pins = "gpio4", "gpio5";
|
||||||
|
drive-strength = <2>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -113,6 +113,8 @@ dtb-$(CONFIG_ARCH_MSMCOBALT) += msmcobalt-sim.dtb \
|
||||||
|
|
||||||
dtb-$(CONFIG_ARCH_MSMHAMSTER) += msmhamster-rumi.dtb
|
dtb-$(CONFIG_ARCH_MSMHAMSTER) += msmhamster-rumi.dtb
|
||||||
|
|
||||||
|
dtb-$(CONFIG_ARCH_MSMFALCON) += msmfalcon-sim.dtb
|
||||||
|
|
||||||
always := $(dtb-y)
|
always := $(dtb-y)
|
||||||
subdir-y := $(dts-dirs)
|
subdir-y := $(dts-dirs)
|
||||||
clean-files := *.dtb
|
clean-files := *.dtb
|
||||||
|
|
36
arch/arm/boot/dts/qcom/msmfalcon-pinctrl.dtsi
Normal file
36
arch/arm/boot/dts/qcom/msmfalcon-pinctrl.dtsi
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/* Copyright (c) 2016, 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
&soc {
|
||||||
|
tlmm: pinctrl@03400000 {
|
||||||
|
compatible = "qcom,msmfalcon-pinctrl";
|
||||||
|
reg = <0x03400000 0xc00000>;
|
||||||
|
interrupts = <0 208 0>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
|
||||||
|
uart_console_active: uart_console_active {
|
||||||
|
mux {
|
||||||
|
pins = "gpio0", "gpio1";
|
||||||
|
function = "blsp_uart1";
|
||||||
|
};
|
||||||
|
|
||||||
|
config {
|
||||||
|
pins = "gpio0", "gpio1";
|
||||||
|
drive-strength = <2>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
29
arch/arm/boot/dts/qcom/msmfalcon-sim.dts
Normal file
29
arch/arm/boot/dts/qcom/msmfalcon-sim.dts
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/* Copyright (c) 2016, 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 "msmfalcon.dtsi"
|
||||||
|
#include "msmfalcon-pinctrl.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Qualcomm Technologies, Inc. MSM FALCON SIM";
|
||||||
|
compatible = "qcom,msmfalcon-sim", "qcom,msmfalcon", "qcom,sim";
|
||||||
|
qcom,board-id = <16 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uartblsp2dm1 {
|
||||||
|
status = "ok";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart_console_active>;
|
||||||
|
};
|
235
arch/arm/boot/dts/qcom/msmfalcon.dtsi
Normal file
235
arch/arm/boot/dts/qcom/msmfalcon.dtsi
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
/* Copyright (c) 2016, 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 "skeleton64.dtsi"
|
||||||
|
#include <dt-bindings/clock/msm-clocks-cobalt.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Qualcomm Technologies, Inc. MSM FALCON";
|
||||||
|
compatible = "qcom,msmfalcon";
|
||||||
|
qcom,msm-id = <317 0x0>;
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uartblsp2dm1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
CPU0: cpu@0 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x0>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU1: cpu@1 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x1>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU2: cpu@2 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x2>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU3: cpu@3 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x3>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU4: cpu@100 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU5: cpu@101 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x101>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU6: cpu@102 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x102>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU7: cpu@103 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,armv8";
|
||||||
|
reg = <0x0 0x103>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu-map {
|
||||||
|
cluster0 {
|
||||||
|
core0 {
|
||||||
|
cpu = <&CPU0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
core1 {
|
||||||
|
cpu = <&CPU1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
core2 {
|
||||||
|
cpu = <&CPU2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
core3 {
|
||||||
|
cpu = <&CPU3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cluster1 {
|
||||||
|
core0 {
|
||||||
|
cpu = <&CPU4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
core1 {
|
||||||
|
cpu = <&CPU5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
core2 {
|
||||||
|
cpu = <&CPU6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
core3 {
|
||||||
|
cpu = <&CPU7>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
soc: soc { };
|
||||||
|
};
|
||||||
|
|
||||||
|
&soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0 0 0 0xffffffff>;
|
||||||
|
compatible = "simple-bus";
|
||||||
|
|
||||||
|
intc: interrupt-controller@17a00000 {
|
||||||
|
compatible = "arm,gic-v3";
|
||||||
|
reg = <0x17a00000 0x10000>, /* GICD */
|
||||||
|
<0x17b00000 0x100000>; /* GICR * 8 */
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
interrupt-controller;
|
||||||
|
#redistributor-regions = <1>;
|
||||||
|
redistributor-stride = <0x0 0x20000>;
|
||||||
|
interrupts = <1 9 4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
timer {
|
||||||
|
compatible = "arm,armv8-timer";
|
||||||
|
interrupts = <1 1 0xf08>,
|
||||||
|
<1 2 0xf08>,
|
||||||
|
<1 3 0xf08>,
|
||||||
|
<1 0 0xf08>;
|
||||||
|
clock-frequency = <19200000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
uartblsp2dm1: serial@0c1b0000 {
|
||||||
|
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||||
|
reg = <0xc1b0000 0x1000>;
|
||||||
|
interrupts = <0 114 0>;
|
||||||
|
status = "disabled";
|
||||||
|
clocks = <&clock_gcc clk_gcc_blsp2_uart2_apps_clk>,
|
||||||
|
<&clock_gcc clk_gcc_blsp2_ahb_clk>;
|
||||||
|
clock-names = "core", "iface";
|
||||||
|
};
|
||||||
|
|
||||||
|
timer@17920000 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
compatible = "arm,armv7-timer-mem";
|
||||||
|
reg = <0x17920000 0x1000>;
|
||||||
|
clock-frequency = <19200000>;
|
||||||
|
|
||||||
|
frame@17921000 {
|
||||||
|
frame-number = <0>;
|
||||||
|
interrupts = <0 8 0x4>,
|
||||||
|
<0 7 0x4>;
|
||||||
|
reg = <0x17921000 0x1000>,
|
||||||
|
<0x17922000 0x1000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
frame@17923000 {
|
||||||
|
frame-number = <1>;
|
||||||
|
interrupts = <0 9 0x4>;
|
||||||
|
reg = <0x17923000 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
frame@17924000 {
|
||||||
|
frame-number = <2>;
|
||||||
|
interrupts = <0 10 0x4>;
|
||||||
|
reg = <0x17924000 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
frame@17925000 {
|
||||||
|
frame-number = <3>;
|
||||||
|
interrupts = <0 11 0x4>;
|
||||||
|
reg = <0x17925000 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
frame@17926000 {
|
||||||
|
frame-number = <4>;
|
||||||
|
interrupts = <0 12 0x4>;
|
||||||
|
reg = <0x17926000 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
frame@17927000 {
|
||||||
|
frame-number = <5>;
|
||||||
|
interrupts = <0 13 0x4>;
|
||||||
|
reg = <0x17927000 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
frame@17928000 {
|
||||||
|
frame-number = <6>;
|
||||||
|
interrupts = <0 14 0x4>;
|
||||||
|
reg = <0x17928000 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
clock_gcc: qcom,dummycc {
|
||||||
|
compatible = "qcom,dummycc";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -81,6 +81,14 @@ config ARCH_MSMHAMSTER
|
||||||
If you do not wish to build a kernel that runs
|
If you do not wish to build a kernel that runs
|
||||||
on this chipset,say 'N' here.
|
on this chipset,say 'N' here.
|
||||||
|
|
||||||
|
config ARCH_MSMFALCON
|
||||||
|
bool "Enable Support for Qualcomm Technologies Inc MSMFALCON"
|
||||||
|
depends on ARCH_QCOM
|
||||||
|
help
|
||||||
|
This enables support for the MSMFALCON chipset.
|
||||||
|
If you do not wish to build a kernel that runs
|
||||||
|
on this chipset,say 'N' here.
|
||||||
|
|
||||||
config ARCH_ROCKCHIP
|
config ARCH_ROCKCHIP
|
||||||
bool "Rockchip Platforms"
|
bool "Rockchip Platforms"
|
||||||
select ARCH_HAS_RESET_CONTROLLER
|
select ARCH_HAS_RESET_CONTROLLER
|
||||||
|
|
|
@ -112,4 +112,12 @@ config PINCTRL_MSM8996
|
||||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||||
Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
|
Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
|
||||||
|
|
||||||
|
config PINCTRL_MSMFALCON
|
||||||
|
tristate "Qualcomm MSMFALCON pin controller driver"
|
||||||
|
depends on GPIOLIB && OF
|
||||||
|
select PINCTRL_MSM
|
||||||
|
help
|
||||||
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||||
|
Qualcomm TLMM block found in the Qualcomm MSMFALCON platform.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -14,3 +14,4 @@ obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-gpio.o
|
||||||
obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-mpp.o
|
obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-mpp.o
|
||||||
obj-$(CONFIG_PINCTRL_MSM8996) += pinctrl-msm8996.o
|
obj-$(CONFIG_PINCTRL_MSM8996) += pinctrl-msm8996.o
|
||||||
obj-$(CONFIG_PINCTRL_MSMCOBALT) += pinctrl-msmcobalt.o
|
obj-$(CONFIG_PINCTRL_MSMCOBALT) += pinctrl-msmcobalt.o
|
||||||
|
obj-$(CONFIG_PINCTRL_MSMFALCON) += pinctrl-msmfalcon.o
|
||||||
|
|
1564
drivers/pinctrl/qcom/pinctrl-msmfalcon.c
Normal file
1564
drivers/pinctrl/qcom/pinctrl-msmfalcon.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -534,6 +534,9 @@ static struct msm_soc_info cpu_of_id[] = {
|
||||||
/* Cobalt ID */
|
/* Cobalt ID */
|
||||||
[306] = {MSM_CPU_HAMSTER, "MSMHAMSTER"},
|
[306] = {MSM_CPU_HAMSTER, "MSMHAMSTER"},
|
||||||
|
|
||||||
|
/* falcon ID */
|
||||||
|
[317] = {MSM_CPU_FALCON, "MSMFALCON"},
|
||||||
|
|
||||||
/* Uninitialized IDs are not known to run Linux.
|
/* Uninitialized IDs are not known to run Linux.
|
||||||
MSM_CPU_UNKNOWN is set to 0 to ensure these IDs are
|
MSM_CPU_UNKNOWN is set to 0 to ensure these IDs are
|
||||||
considered as unknown CPU. */
|
considered as unknown CPU. */
|
||||||
|
@ -1198,6 +1201,10 @@ static void * __init setup_dummy_socinfo(void)
|
||||||
dummy_socinfo.id = 306;
|
dummy_socinfo.id = 306;
|
||||||
strlcpy(dummy_socinfo.build_id, "msmhamster - ",
|
strlcpy(dummy_socinfo.build_id, "msmhamster - ",
|
||||||
sizeof(dummy_socinfo.build_id));
|
sizeof(dummy_socinfo.build_id));
|
||||||
|
} else if (early_machine_is_msmfalcon()) {
|
||||||
|
dummy_socinfo.id = 317;
|
||||||
|
strlcpy(dummy_socinfo.build_id, "msmfalcon - ",
|
||||||
|
sizeof(dummy_socinfo.build_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
strlcat(dummy_socinfo.build_id, "Dummy socinfo",
|
strlcat(dummy_socinfo.build_id, "Dummy socinfo",
|
||||||
|
|
|
@ -92,6 +92,8 @@
|
||||||
of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,msmcobalt")
|
of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,msmcobalt")
|
||||||
#define early_machine_is_msmhamster() \
|
#define early_machine_is_msmhamster() \
|
||||||
of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,msmhamster")
|
of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,msmhamster")
|
||||||
|
#define early_machine_is_msmfalcon() \
|
||||||
|
of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,msmfalcon")
|
||||||
#else
|
#else
|
||||||
#define of_board_is_sim() 0
|
#define of_board_is_sim() 0
|
||||||
#define of_board_is_rumi() 0
|
#define of_board_is_rumi() 0
|
||||||
|
@ -127,6 +129,7 @@
|
||||||
#define early_machine_is_msm8929() 0
|
#define early_machine_is_msm8929() 0
|
||||||
#define early_machine_is_msmcobalt() 0
|
#define early_machine_is_msmcobalt() 0
|
||||||
#define early_machine_is_msmhamster() 0
|
#define early_machine_is_msmhamster() 0
|
||||||
|
#define early_machine_is_msmfalcon() 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PLATFORM_SUBTYPE_MDM 1
|
#define PLATFORM_SUBTYPE_MDM 1
|
||||||
|
@ -185,6 +188,7 @@ enum msm_cpu {
|
||||||
MSM_CPU_8929,
|
MSM_CPU_8929,
|
||||||
MSM_CPU_COBALT,
|
MSM_CPU_COBALT,
|
||||||
MSM_CPU_HAMSTER,
|
MSM_CPU_HAMSTER,
|
||||||
|
MSM_CPU_FALCON,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct msm_soc_info {
|
struct msm_soc_info {
|
||||||
|
|
Loading…
Add table
Reference in a new issue