mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 22:14:41 +08:00
549f3ae1be
This patch adds necessary DT nodes for pcie controllers and miphys for SPEAr13xx SoCs. SPEAr1310 has 3 PCIe ports and SPEAr1340 has 1, which are multiplexed with ahci/sata pins. By default evaluation board of both controller works in ahci mode. Because of this, these nodes are marked "disabled" by default. In order to use pcie controller on evaluation boards do necessary modifications on board and enable (By replacing "disabled" with "okay") pcie and miphy from respective 'evb' dtsi file. Phy specific initialization was previously done from spear1340.c, which isn't required anymore as we have separate drivers for it. Remove it. Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Pratyush Anand <pratyush.anand@st.com> Signed-off-by: Mohit Kumar <mohit.kumar@st.com> [viresh: fixed logs/cclist/checkpatch warnings, clubbed multiple patches into one] Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
526 lines
9.6 KiB
Plaintext
526 lines
9.6 KiB
Plaintext
/*
|
|
* DTS file for SPEAr1340 Evaluation Baord
|
|
*
|
|
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
|
*
|
|
* The code contained herein is licensed under the GNU General Public
|
|
* License. You may obtain a copy of the GNU General Public License
|
|
* Version 2 or later at the following locations:
|
|
*
|
|
* http://www.opensource.org/licenses/gpl-license.html
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*/
|
|
|
|
/dts-v1/;
|
|
/include/ "spear1340.dtsi"
|
|
|
|
/ {
|
|
model = "ST SPEAr1340 Evaluation Board";
|
|
compatible = "st,spear1340-evb", "st,spear1340";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
memory {
|
|
reg = <0 0x40000000>;
|
|
};
|
|
|
|
ahb {
|
|
pinmux@e0700000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&state_default>;
|
|
|
|
state_default: pinmux {
|
|
pads_as_gpio {
|
|
st,pins = "pads_as_gpio_grp";
|
|
st,function = "pads_as_gpio";
|
|
};
|
|
fsmc {
|
|
st,pins = "fsmc_8bit_grp";
|
|
st,function = "fsmc";
|
|
};
|
|
uart0 {
|
|
st,pins = "uart0_grp";
|
|
st,function = "uart0";
|
|
};
|
|
i2c0 {
|
|
st,pins = "i2c0_grp";
|
|
st,function = "i2c0";
|
|
};
|
|
i2c1 {
|
|
st,pins = "i2c1_grp";
|
|
st,function = "i2c1";
|
|
};
|
|
spdif-in {
|
|
st,pins = "spdif_in_grp";
|
|
st,function = "spdif_in";
|
|
};
|
|
spdif-out {
|
|
st,pins = "spdif_out_grp";
|
|
st,function = "spdif_out";
|
|
};
|
|
ssp0 {
|
|
st,pins = "ssp0_grp", "ssp0_cs1_grp", "ssp0_cs2_grp", "ssp0_cs3_grp";
|
|
st,function = "ssp0";
|
|
};
|
|
smi-pmx {
|
|
st,pins = "smi_grp";
|
|
st,function = "smi";
|
|
};
|
|
i2s {
|
|
st,pins = "i2s_in_grp", "i2s_out_grp";
|
|
st,function = "i2s";
|
|
};
|
|
gmac {
|
|
st,pins = "gmii_grp", "rgmii_grp";
|
|
st,function = "gmac";
|
|
};
|
|
cam0 {
|
|
st,pins = "cam0_grp";
|
|
st,function = "cam0";
|
|
};
|
|
cam1 {
|
|
st,pins = "cam1_grp";
|
|
st,function = "cam1";
|
|
};
|
|
cam2 {
|
|
st,pins = "cam2_grp";
|
|
st,function = "cam2";
|
|
};
|
|
cam3 {
|
|
st,pins = "cam3_grp";
|
|
st,function = "cam3";
|
|
};
|
|
cec0 {
|
|
st,pins = "cec0_grp";
|
|
st,function = "cec0";
|
|
};
|
|
cec1 {
|
|
st,pins = "cec1_grp";
|
|
st,function = "cec1";
|
|
};
|
|
sdhci {
|
|
st,pins = "sdhci_grp";
|
|
st,function = "sdhci";
|
|
};
|
|
clcd {
|
|
st,pins = "clcd_grp";
|
|
st,function = "clcd";
|
|
};
|
|
sata {
|
|
st,pins = "sata_grp";
|
|
st,function = "sata";
|
|
};
|
|
pcie {
|
|
st,pins = "pcie_grp";
|
|
st,function = "pcie";
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
ahci@b1000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
miphy@eb800000 {
|
|
status = "okay";
|
|
};
|
|
|
|
dma@ea800000 {
|
|
status = "okay";
|
|
};
|
|
|
|
dma@eb000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
fsmc: flash@b0000000 {
|
|
status = "okay";
|
|
|
|
partition@0 {
|
|
label = "xloader";
|
|
reg = <0x0 0x200000>;
|
|
};
|
|
partition@200000 {
|
|
label = "u-boot";
|
|
reg = <0x200000 0x200000>;
|
|
};
|
|
partition@400000 {
|
|
label = "environment";
|
|
reg = <0x400000 0x100000>;
|
|
};
|
|
partition@500000 {
|
|
label = "dtb";
|
|
reg = <0x500000 0x100000>;
|
|
};
|
|
partition@600000 {
|
|
label = "linux";
|
|
reg = <0x600000 0xC00000>;
|
|
};
|
|
partition@1200000 {
|
|
label = "rootfs";
|
|
reg = <0x1200000 0x0>;
|
|
};
|
|
};
|
|
|
|
gmac0: eth@e2000000 {
|
|
phy-mode = "rgmii";
|
|
status = "okay";
|
|
};
|
|
|
|
sdhci@b3000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
smi: flash@ea000000 {
|
|
status = "okay";
|
|
clock-rate=<50000000>;
|
|
|
|
flash@e6000000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0xe6000000 0x800000>;
|
|
st,smi-fast-mode;
|
|
|
|
partition@0 {
|
|
label = "xloader";
|
|
reg = <0x0 0x10000>;
|
|
};
|
|
partition@10000 {
|
|
label = "u-boot";
|
|
reg = <0x10000 0x50000>;
|
|
};
|
|
partition@60000 {
|
|
label = "environment";
|
|
reg = <0x60000 0x10000>;
|
|
};
|
|
partition@70000 {
|
|
label = "dtb";
|
|
reg = <0x70000 0x10000>;
|
|
};
|
|
partition@80000 {
|
|
label = "linux";
|
|
reg = <0x80000 0x310000>;
|
|
};
|
|
partition@390000 {
|
|
label = "rootfs";
|
|
reg = <0x390000 0x0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ehci@e4800000 {
|
|
status = "okay";
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
button@1 {
|
|
label = "wakeup";
|
|
linux,code = <0x100>;
|
|
gpios = <&gpio1 1 0x4>;
|
|
debounce-interval = <20>;
|
|
gpio-key,wakeup = <1>;
|
|
};
|
|
};
|
|
|
|
ehci@e5800000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2s0: i2s-play@b2400000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2s1: i2s-rec@b2000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
incodec: dir-hifi {
|
|
compatible = "dummy,dir-hifi";
|
|
status = "okay";
|
|
};
|
|
|
|
ohci@e4000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
ohci@e5000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
outcodec: dit-hifi {
|
|
compatible = "dummy,dit-hifi";
|
|
status = "okay";
|
|
};
|
|
|
|
sound {
|
|
compatible = "spear,spear-evb";
|
|
audio-controllers = <&spdif0 &spdif1 &i2s0 &i2s1>;
|
|
audio-codecs = <&incodec &outcodec &sta529 &sta529>;
|
|
codec_dai_name = "dir-hifi", "dit-hifi", "sta529-audio", "sta529-audio";
|
|
stream_name = "spdif-cap", "spdif-play", "i2s-play", "i2s-cap";
|
|
dai_name = "spdifin-pcm", "spdifout-pcm", "i2s0-pcm", "i2s1-pcm";
|
|
nr_controllers = <4>;
|
|
status = "okay";
|
|
};
|
|
|
|
spdif0: spdif-in@d0100000 {
|
|
status = "okay";
|
|
};
|
|
|
|
spdif1: spdif-out@d0000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
apb {
|
|
adc@e0080000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2s-play@b2400000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2s-rec@b2000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
gpio0: gpio@e0600000 {
|
|
status = "okay";
|
|
};
|
|
|
|
gpio1: gpio@e0680000 {
|
|
status = "okay";
|
|
};
|
|
|
|
gpio@e2800000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2c0: i2c@e0280000 {
|
|
status = "okay";
|
|
|
|
sta529: sta529@1a {
|
|
compatible = "st,sta529";
|
|
reg = <0x1a>;
|
|
};
|
|
};
|
|
|
|
i2c1: i2c@b4000000 {
|
|
status = "okay";
|
|
|
|
eeprom0@56 {
|
|
compatible = "st,eeprom";
|
|
reg = <0x56>;
|
|
};
|
|
|
|
stmpe801@41 {
|
|
compatible = "st,stmpe801";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x41>;
|
|
interrupts = <4 0x4>;
|
|
interrupt-parent = <&gpio0>;
|
|
irq-trigger = <0x2>;
|
|
|
|
stmpegpio: stmpe_gpio {
|
|
compatible = "st,stmpe-gpio";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
kbd@e0300000 {
|
|
linux,keymap = < 0x00000001
|
|
0x00010002
|
|
0x00020003
|
|
0x00030004
|
|
0x00040005
|
|
0x00050006
|
|
0x00060007
|
|
0x00070008
|
|
0x00080009
|
|
0x0100000a
|
|
0x0101000c
|
|
0x0102000d
|
|
0x0103000e
|
|
0x0104000f
|
|
0x01050010
|
|
0x01060011
|
|
0x01070012
|
|
0x01080013
|
|
0x02000014
|
|
0x02010015
|
|
0x02020016
|
|
0x02030017
|
|
0x02040018
|
|
0x02050019
|
|
0x0206001a
|
|
0x0207001b
|
|
0x0208001c
|
|
0x0300001d
|
|
0x0301001e
|
|
0x0302001f
|
|
0x03030020
|
|
0x03040021
|
|
0x03050022
|
|
0x03060023
|
|
0x03070024
|
|
0x03080025
|
|
0x04000026
|
|
0x04010027
|
|
0x04020028
|
|
0x04030029
|
|
0x0404002a
|
|
0x0405002b
|
|
0x0406002c
|
|
0x0407002d
|
|
0x0408002e
|
|
0x0500002f
|
|
0x05010030
|
|
0x05020031
|
|
0x05030032
|
|
0x05040033
|
|
0x05050034
|
|
0x05060035
|
|
0x05070036
|
|
0x05080037
|
|
0x06000038
|
|
0x06010039
|
|
0x0602003a
|
|
0x0603003b
|
|
0x0604003c
|
|
0x0605003d
|
|
0x0606003e
|
|
0x0607003f
|
|
0x06080040
|
|
0x07000041
|
|
0x07010042
|
|
0x07020043
|
|
0x07030044
|
|
0x07040045
|
|
0x07050046
|
|
0x07060047
|
|
0x07070048
|
|
0x07080049
|
|
0x0800004a
|
|
0x0801004b
|
|
0x0802004c
|
|
0x0803004d
|
|
0x0804004e
|
|
0x0805004f
|
|
0x08060050
|
|
0x08070051
|
|
0x08080052 >;
|
|
autorepeat;
|
|
st,mode = <0>;
|
|
suspended_rate = <2000000>;
|
|
status = "okay";
|
|
};
|
|
|
|
rtc@e0580000 {
|
|
status = "okay";
|
|
};
|
|
|
|
serial@e0000000 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <>;
|
|
};
|
|
|
|
serial@b4100000 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <>;
|
|
};
|
|
|
|
spi0: spi@e0100000 {
|
|
status = "okay";
|
|
num-cs = <3>;
|
|
cs-gpios = <&gpiopinctrl 80 0>, <&gpiopinctrl 24 0>,
|
|
<&gpiopinctrl 85 0>;
|
|
|
|
m25p80@0 {
|
|
compatible = "m25p80";
|
|
reg = <0>;
|
|
spi-max-frequency = <12000000>;
|
|
spi-cpol;
|
|
spi-cpha;
|
|
pl022,hierarchy = <0>;
|
|
pl022,interface = <0>;
|
|
pl022,slave-tx-disable;
|
|
pl022,com-mode = <0x2>;
|
|
pl022,rx-level-trig = <0>;
|
|
pl022,tx-level-trig = <0>;
|
|
pl022,ctrl-len = <0x11>;
|
|
pl022,wait-state = <0>;
|
|
pl022,duplex = <0>;
|
|
};
|
|
|
|
stmpe610@1 {
|
|
compatible = "st,stmpe610";
|
|
spi-max-frequency = <1000000>;
|
|
spi-cpha;
|
|
reg = <1>;
|
|
pl022,hierarchy = <0>;
|
|
pl022,interface = <0>;
|
|
pl022,slave-tx-disable;
|
|
pl022,com-mode = <0>;
|
|
pl022,rx-level-trig = <0>;
|
|
pl022,tx-level-trig = <0>;
|
|
pl022,ctrl-len = <0x7>;
|
|
pl022,wait-state = <0>;
|
|
pl022,duplex = <0>;
|
|
interrupts = <100 0>;
|
|
interrupt-parent = <&gpiopinctrl>;
|
|
irq-trigger = <0x2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
stmpe_touchscreen {
|
|
compatible = "st,stmpe-ts";
|
|
ts,sample-time = <4>;
|
|
ts,mod-12b = <1>;
|
|
ts,ref-sel = <0>;
|
|
ts,adc-freq = <1>;
|
|
ts,ave-ctrl = <1>;
|
|
ts,touch-det-delay = <2>;
|
|
ts,settling = <2>;
|
|
ts,fraction-z = <7>;
|
|
ts,i-drive = <1>;
|
|
};
|
|
};
|
|
|
|
spidev@2 {
|
|
compatible = "spidev";
|
|
reg = <2>;
|
|
spi-max-frequency = <25000000>;
|
|
spi-cpha;
|
|
pl022,hierarchy = <0>;
|
|
pl022,interface = <0>;
|
|
pl022,slave-tx-disable;
|
|
pl022,com-mode = <0x2>;
|
|
pl022,rx-level-trig = <0>;
|
|
pl022,tx-level-trig = <0>;
|
|
pl022,ctrl-len = <0x11>;
|
|
pl022,wait-state = <0>;
|
|
pl022,duplex = <0>;
|
|
};
|
|
};
|
|
|
|
timer@ec800600 {
|
|
status = "okay";
|
|
};
|
|
|
|
wdt@ec800620 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
};
|
|
};
|