You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC device-tree updates, take 2, from Olof Johansson: "This branch contains device-tree updates for the SPEAr platform. They had dependencies on earlier branches from this merge window, which is why they were broken out in a separate branch." * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: SPEAr3xx: Shirq: Move shirq controller out of plat/ ARM: SPEAr320: DT: Add SPEAr 320 HMI board support ARM: SPEAr3xx: DT: add shirq node for interrupt multiplexor ARM: SPEAr3xx: shirq: simplify and move the shared irq multiplexor to DT ARM: SPEAr1310: Fix AUXDATA for compact flash controller ARM: SPEAr13xx: Remove fields not required for ssp controller ARM: SPEAr1310: Move 1310 specific misc register into machine specific files ARM: SPEAr: DT: Update device nodes ARM: SPEAr: DT: add uart state to fix warning ARM: SPEAr: DT: Modify DT bindings for STMMAC ARM: SPEAr: DT: Fix existing DT support ARM: SPEAr: DT: Update partition info for MTD devices ARM: SPEAr: DT: Update pinctrl list ARM: SPEAr13xx: DT: Add spics gpio controller nodes
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
* SPEAr Shared IRQ layer (shirq)
|
||||
|
||||
SPEAr3xx architecture includes shared/multiplexed irqs for certain set
|
||||
of devices. The multiplexor provides a single interrupt to parent
|
||||
interrupt controller (VIC) on behalf of a group of devices.
|
||||
|
||||
There can be multiple groups available on SPEAr3xx variants but not
|
||||
exceeding 4. The number of devices in a group can differ, further they
|
||||
may share same set of status/mask registers spanning across different
|
||||
bit masks. Also in some cases the group may not have enable or other
|
||||
registers. This makes software little complex.
|
||||
|
||||
A single node in the device tree is used to describe the shared
|
||||
interrupt multiplexor (one node for all groups). A group in the
|
||||
interrupt controller shares config/control registers with other groups.
|
||||
For example, a 32-bit interrupt enable/disable config register can
|
||||
accommodate upto 4 interrupt groups.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be, either of
|
||||
- "st,spear300-shirq"
|
||||
- "st,spear310-shirq"
|
||||
- "st,spear320-shirq"
|
||||
- interrupt-controller: Identifies the node as an interrupt controller.
|
||||
- #interrupt-cells: should be <1> which basically contains the offset
|
||||
(starting from 0) of interrupts for all the groups.
|
||||
- reg: Base address and size of shirq registers.
|
||||
- interrupts: The list of interrupts generated by the groups which are
|
||||
then connected to a parent interrupt controller. Each group is
|
||||
associated with one of the interrupts, hence number of interrupts (to
|
||||
parent) is equal to number of groups. The format of the interrupt
|
||||
specifier depends in the interrupt parent controller.
|
||||
|
||||
Optional properties:
|
||||
- interrupt-parent: pHandle of the parent interrupt controller, if not
|
||||
inherited from the parent node.
|
||||
|
||||
Example:
|
||||
|
||||
The following is an example from the SPEAr320 SoC dtsi file.
|
||||
|
||||
shirq: interrupt-controller@0xb3000000 {
|
||||
compatible = "st,spear320-shirq";
|
||||
reg = <0xb3000000 0x1000>;
|
||||
interrupts = <28 29 30 1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
};
|
||||
@@ -126,7 +126,8 @@ dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
|
||||
spear1340-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
|
||||
spear310-evb.dtb \
|
||||
spear320-evb.dtb
|
||||
spear320-evb.dtb \
|
||||
spear320-hmi.dtb
|
||||
dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun4i-cubieboard.dtb \
|
||||
sun5i-olinuxino.dtb
|
||||
|
||||
@@ -30,10 +30,14 @@
|
||||
pinctrl-0 = <&state_default>;
|
||||
|
||||
state_default: pinmux {
|
||||
i2c0-pmx {
|
||||
i2c0 {
|
||||
st,pins = "i2c0_grp";
|
||||
st,function = "i2c0";
|
||||
};
|
||||
i2s0 {
|
||||
st,pins = "i2s0_grp";
|
||||
st,function = "i2s0";
|
||||
};
|
||||
i2s1 {
|
||||
st,pins = "i2s1_grp";
|
||||
st,function = "i2s1";
|
||||
@@ -42,6 +46,10 @@
|
||||
st,pins = "arm_gpio_grp";
|
||||
st,function = "arm_gpio";
|
||||
};
|
||||
clcd {
|
||||
st,pins = "clcd_grp" , "clcd_high_res";
|
||||
st,function = "clcd";
|
||||
};
|
||||
eth {
|
||||
st,pins = "gmii_grp";
|
||||
st,function = "gmii";
|
||||
@@ -74,11 +82,6 @@
|
||||
st,pins = "i2c_1_2_grp";
|
||||
st,function = "i2c_1_2";
|
||||
};
|
||||
pci {
|
||||
st,pins = "pcie0_grp","pcie1_grp",
|
||||
"pcie2_grp";
|
||||
st,function = "pci";
|
||||
};
|
||||
smii {
|
||||
st,pins = "smii_0_1_2_grp";
|
||||
st,function = "smii_0_1_2";
|
||||
@@ -88,6 +91,14 @@
|
||||
"nand_16bit_grp";
|
||||
st,function = "nand";
|
||||
};
|
||||
sata {
|
||||
st,pins = "sata0_grp";
|
||||
st,function = "sata";
|
||||
};
|
||||
pcie {
|
||||
st,pins = "pcie1_grp", "pcie2_grp";
|
||||
st,function = "pci_express";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -109,9 +120,49 @@
|
||||
|
||||
fsmc: flash@b0000000 {
|
||||
status = "okay";
|
||||
|
||||
partition@0 {
|
||||
label = "xloader";
|
||||
reg = <0x0 0x80000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "u-boot";
|
||||
reg = <0x80000 0x140000>;
|
||||
};
|
||||
partition@1C0000 {
|
||||
label = "environment";
|
||||
reg = <0x1C0000 0x40000>;
|
||||
};
|
||||
partition@200000 {
|
||||
label = "dtb";
|
||||
reg = <0x200000 0x40000>;
|
||||
};
|
||||
partition@240000 {
|
||||
label = "linux";
|
||||
reg = <0x240000 0xC00000>;
|
||||
};
|
||||
partition@E40000 {
|
||||
label = "rootfs";
|
||||
reg = <0xE40000 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
button@1 {
|
||||
label = "wakeup";
|
||||
linux,code = <0x100>;
|
||||
gpios = <&gpio0 7 0x4>;
|
||||
debounce-interval = <20>;
|
||||
gpio-key,wakeup = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
gmac0: eth@e2000000 {
|
||||
phy-mode = "gmii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -135,23 +186,27 @@
|
||||
};
|
||||
partition@10000 {
|
||||
label = "u-boot";
|
||||
reg = <0x10000 0x40000>;
|
||||
reg = <0x10000 0x50000>;
|
||||
};
|
||||
partition@50000 {
|
||||
partition@60000 {
|
||||
label = "environment";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
partition@70000 {
|
||||
label = "dtb";
|
||||
reg = <0x70000 0x10000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "linux";
|
||||
reg = <0x50000 0x2c0000>;
|
||||
reg = <0x80000 0x310000>;
|
||||
};
|
||||
partition@310000 {
|
||||
partition@390000 {
|
||||
label = "rootfs";
|
||||
reg = <0x310000 0x4f0000>;
|
||||
reg = <0x390000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
spi0: spi@e0100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci@e4800000 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -189,10 +244,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c1: i2c@5cd00000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
kbd@e0300000 {
|
||||
linux,keymap = < 0x00000001
|
||||
0x00010002
|
||||
@@ -277,6 +328,7 @@
|
||||
0x08080052 >;
|
||||
autorepeat;
|
||||
st,mode = <0>;
|
||||
suspended_rate = <2000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -286,6 +338,81 @@
|
||||
|
||||
serial@e0000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
spi0: spi@e0100000 {
|
||||
status = "okay";
|
||||
num-cs = <3>;
|
||||
cs-gpios = <&gpio1 7 0>, <&spics 0>, <&spics 1>;
|
||||
|
||||
stmpe610@0 {
|
||||
compatible = "st,stmpe610";
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpha;
|
||||
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 = <6 0x4>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
irq-trigger = <0x2>;
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
m25p80@1 {
|
||||
compatible = "st,m25p80";
|
||||
reg = <1>;
|
||||
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>;
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
wdt@ec800620 {
|
||||
|
||||
@@ -17,6 +17,18 @@
|
||||
compatible = "st,spear1310";
|
||||
|
||||
ahb {
|
||||
spics: spics@e0700000{
|
||||
compatible = "st,spear-spics-gpio";
|
||||
reg = <0xe0700000 0x1000>;
|
||||
st-spics,peripcfg-reg = <0x3b0>;
|
||||
st-spics,sw-enable-bit = <12>;
|
||||
st-spics,cs-value-bit = <11>;
|
||||
st-spics,cs-enable-mask = <3>;
|
||||
st-spics,cs-enable-shift = <8>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
ahci@b1000000 {
|
||||
compatible = "snps,spear-ahci";
|
||||
reg = <0xb1000000 0x10000>;
|
||||
@@ -43,6 +55,7 @@
|
||||
reg = <0x5c400000 0x8000>;
|
||||
interrupts = <0 95 0x4>;
|
||||
interrupt-names = "macirq";
|
||||
phy-mode = "mii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -51,6 +64,7 @@
|
||||
reg = <0x5c500000 0x8000>;
|
||||
interrupts = <0 96 0x4>;
|
||||
interrupt-names = "macirq";
|
||||
phy-mode = "mii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -59,6 +73,7 @@
|
||||
reg = <0x5c600000 0x8000>;
|
||||
interrupts = <0 97 0x4>;
|
||||
interrupt-names = "macirq";
|
||||
phy-mode = "rmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -67,6 +82,7 @@
|
||||
reg = <0x5c700000 0x8000>;
|
||||
interrupts = <0 98 0x4>;
|
||||
interrupt-names = "macirq";
|
||||
phy-mode = "rgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -76,13 +92,6 @@
|
||||
#gpio-range-cells = <2>;
|
||||
};
|
||||
|
||||
spi1: spi@5d400000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0x5d400000 0x1000>;
|
||||
interrupts = <0 99 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
apb {
|
||||
i2c1: i2c@5cd00000 {
|
||||
#address-cells = <1>;
|
||||
@@ -147,6 +156,15 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi1: spi@5d400000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0x5d400000 0x1000>;
|
||||
interrupts = <0 99 0x4>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@5c800000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x5c800000 0x1000>;
|
||||
|
||||
@@ -38,20 +38,15 @@
|
||||
st,pins = "fsmc_8bit_grp";
|
||||
st,function = "fsmc";
|
||||
};
|
||||
kbd {
|
||||
st,pins = "keyboard_row_col_grp",
|
||||
"keyboard_col5_grp";
|
||||
st,function = "keyboard";
|
||||
};
|
||||
uart0 {
|
||||
st,pins = "uart0_grp", "uart0_enh_grp";
|
||||
st,pins = "uart0_grp";
|
||||
st,function = "uart0";
|
||||
};
|
||||
i2c0-pmx {
|
||||
i2c0 {
|
||||
st,pins = "i2c0_grp";
|
||||
st,function = "i2c0";
|
||||
};
|
||||
i2c1-pmx {
|
||||
i2c1 {
|
||||
st,pins = "i2c1_grp";
|
||||
st,function = "i2c1";
|
||||
};
|
||||
@@ -64,14 +59,9 @@
|
||||
st,function = "spdif_out";
|
||||
};
|
||||
ssp0 {
|
||||
st,pins = "ssp0_grp", "ssp0_cs1_grp",
|
||||
"ssp0_cs3_grp";
|
||||
st,pins = "ssp0_grp", "ssp0_cs1_grp", "ssp0_cs2_grp", "ssp0_cs3_grp";
|
||||
st,function = "ssp0";
|
||||
};
|
||||
pwm {
|
||||
st,pins = "pwm2_grp", "pwm3_grp";
|
||||
st,function = "pwm";
|
||||
};
|
||||
smi-pmx {
|
||||
st,pins = "smi_grp";
|
||||
st,function = "smi";
|
||||
@@ -84,6 +74,18 @@
|
||||
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";
|
||||
@@ -108,9 +110,18 @@
|
||||
st,pins = "sata_grp";
|
||||
st,function = "sata";
|
||||
};
|
||||
pcie {
|
||||
st,pins = "pcie_grp";
|
||||
st,function = "pcie";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
ahci@b1000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dma@ea800000 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -121,9 +132,35 @@
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
@@ -147,31 +184,62 @@
|
||||
};
|
||||
partition@10000 {
|
||||
label = "u-boot";
|
||||
reg = <0x10000 0x40000>;
|
||||
reg = <0x10000 0x50000>;
|
||||
};
|
||||
partition@50000 {
|
||||
partition@60000 {
|
||||
label = "environment";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
partition@70000 {
|
||||
label = "dtb";
|
||||
reg = <0x70000 0x10000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "linux";
|
||||
reg = <0x50000 0x2c0000>;
|
||||
reg = <0x80000 0x310000>;
|
||||
};
|
||||
partition@310000 {
|
||||
partition@390000 {
|
||||
label = "rootfs";
|
||||
reg = <0x310000 0x4f0000>;
|
||||
reg = <0x390000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
spi0: spi@e0100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
@@ -180,11 +248,43 @@
|
||||
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";
|
||||
};
|
||||
@@ -199,10 +299,36 @@
|
||||
|
||||
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 {
|
||||
@@ -289,6 +415,7 @@
|
||||
0x08080052 >;
|
||||
autorepeat;
|
||||
st,mode = <0>;
|
||||
suspended_rate = <2000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -298,10 +425,92 @@
|
||||
|
||||
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 {
|
||||
|
||||
@@ -17,6 +17,20 @@
|
||||
compatible = "st,spear1340";
|
||||
|
||||
ahb {
|
||||
|
||||
spics: spics@e0700000{
|
||||
compatible = "st,spear-spics-gpio";
|
||||
reg = <0xe0700000 0x1000>;
|
||||
st-spics,peripcfg-reg = <0x42c>;
|
||||
st-spics,sw-enable-bit = <21>;
|
||||
st-spics,cs-value-bit = <20>;
|
||||
st-spics,cs-enable-mask = <3>;
|
||||
st-spics,cs-enable-shift = <18>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ahci@b1000000 {
|
||||
compatible = "snps,spear-ahci";
|
||||
reg = <0xb1000000 0x10000>;
|
||||
@@ -24,15 +38,61 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s-play@b2400000 {
|
||||
compatible = "snps,designware-i2s";
|
||||
reg = <0xb2400000 0x10000>;
|
||||
interrupt-names = "play_irq";
|
||||
interrupts = <0 98 0x4
|
||||
0 99 0x4>;
|
||||
play;
|
||||
channel = <8>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s-rec@b2000000 {
|
||||
compatible = "snps,designware-i2s";
|
||||
reg = <0xb2000000 0x10000>;
|
||||
interrupt-names = "record_irq";
|
||||
interrupts = <0 100 0x4
|
||||
0 101 0x4>;
|
||||
record;
|
||||
channel = <8>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pinmux: pinmux@e0700000 {
|
||||
compatible = "st,spear1340-pinmux";
|
||||
reg = <0xe0700000 0x1000>;
|
||||
#gpio-range-cells = <2>;
|
||||
};
|
||||
|
||||
pwm: pwm@e0180000 {
|
||||
compatible ="st,spear13xx-pwm";
|
||||
reg = <0xe0180000 0x1000>;
|
||||
#pwm-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spdif-in@d0100000 {
|
||||
compatible = "st,spdif-in";
|
||||
reg = < 0xd0100000 0x20000
|
||||
0xd0110000 0x10000 >;
|
||||
interrupts = <0 84 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spdif-out@d0000000 {
|
||||
compatible = "st,spdif-out";
|
||||
reg = <0xd0000000 0x20000>;
|
||||
interrupts = <0 85 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi1: spi@5d400000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0x5d400000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 99 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -44,6 +104,7 @@
|
||||
compatible = "snps,designware-i2c";
|
||||
reg = <0xb4000000 0x1000>;
|
||||
interrupts = <0 104 0x4>;
|
||||
write-16bit;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -64,12 +64,26 @@
|
||||
bootargs = "console=ttyAMA0,115200";
|
||||
};
|
||||
|
||||
cpufreq {
|
||||
compatible = "st,cpufreq-spear";
|
||||
cpufreq_tbl = < 166000
|
||||
200000
|
||||
250000
|
||||
300000
|
||||
400000
|
||||
500000
|
||||
600000 >;
|
||||
status = "disable"
|
||||
};
|
||||
|
||||
ahb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x50000000 0x50000000 0x10000000
|
||||
0xb0000000 0xb0000000 0x10000000
|
||||
0xd0000000 0xd0000000 0x02000000
|
||||
0xd8000000 0xd8000000 0x01000000
|
||||
0xe0000000 0xe0000000 0x10000000>;
|
||||
|
||||
sdhci@b3000000 {
|
||||
@@ -81,7 +95,7 @@
|
||||
|
||||
cf@b2800000 {
|
||||
compatible = "arasan,cf-spear1340";
|
||||
reg = <0xb2800000 0x100>;
|
||||
reg = <0xb2800000 0x1000>;
|
||||
interrupts = <0 29 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -113,6 +127,7 @@
|
||||
0 23 0x4>;
|
||||
st,ale-off = <0x20000>;
|
||||
st,cle-off = <0x10000>;
|
||||
st,mode = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -125,6 +140,13 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcm {
|
||||
compatible = "st,pcm-audio";
|
||||
#address-cells = <0>;
|
||||
#size-cells = <0>;
|
||||
status = "disable"
|
||||
};
|
||||
|
||||
smi: flash@ea000000 {
|
||||
compatible = "st,spear600-smi";
|
||||
#address-cells = <1>;
|
||||
@@ -134,17 +156,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi0: spi@e0100000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0xe0100000 0x1000>;
|
||||
interrupts = <0 31 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci@e4800000 {
|
||||
compatible = "st,spear600-ehci", "usb-ehci";
|
||||
reg = <0xe4800000 0x1000>;
|
||||
interrupts = <0 64 0x4>;
|
||||
usbh0_id = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -152,6 +168,7 @@
|
||||
compatible = "st,spear600-ehci", "usb-ehci";
|
||||
reg = <0xe5800000 0x1000>;
|
||||
interrupts = <0 66 0x4>;
|
||||
usbh1_id = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -159,6 +176,7 @@
|
||||
compatible = "st,spear600-ohci", "usb-ohci";
|
||||
reg = <0xe4000000 0x1000>;
|
||||
interrupts = <0 65 0x4>;
|
||||
usbh0_id = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -166,6 +184,7 @@
|
||||
compatible = "st,spear600-ohci", "usb-ohci";
|
||||
reg = <0xe5000000 0x1000>;
|
||||
interrupts = <0 67 0x4>;
|
||||
usbh1_id = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -175,6 +194,8 @@
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x50000000 0x50000000 0x10000000
|
||||
0xb0000000 0xb0000000 0x10000000
|
||||
0xd0000000 0xd0000000 0x02000000
|
||||
0xd8000000 0xd8000000 0x01000000
|
||||
0xe0000000 0xe0000000 0x10000000>;
|
||||
|
||||
gpio0: gpio@e0600000 {
|
||||
@@ -215,8 +236,35 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s@e0180000 {
|
||||
compatible = "st,designware-i2s";
|
||||
reg = <0xe0180000 0x1000>;
|
||||
interrupt-names = "play_irq", "record_irq";
|
||||
interrupts = <0 10 0x4
|
||||
0 11 0x4 >;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s@e0200000 {
|
||||
compatible = "st,designware-i2s";
|
||||
reg = <0xe0200000 0x1000>;
|
||||
interrupt-names = "play_irq", "record_irq";
|
||||
interrupts = <0 26 0x4
|
||||
0 53 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi0: spi@e0100000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0xe0100000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 31 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rtc@e0580000 {
|
||||
compatible = "st,spear-rtc";
|
||||
compatible = "st,spear600-rtc";
|
||||
reg = <0xe0580000 0x1000>;
|
||||
interrupts = <0 36 0x4>;
|
||||
status = "disabled";
|
||||
@@ -232,7 +280,7 @@
|
||||
adc@e0080000 {
|
||||
compatible = "st,spear600-adc";
|
||||
reg = <0xe0080000 0x1000>;
|
||||
interrupts = <0 44 0x4>;
|
||||
interrupts = <0 12 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -245,7 +293,8 @@
|
||||
timer@ec800600 {
|
||||
compatible = "arm,cortex-a9-twd-timer";
|
||||
reg = <0xec800600 0x20>;
|
||||
interrupts = <1 13 0x301>;
|
||||
interrupts = <1 13 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt@ec800620 {
|
||||
@@ -257,6 +306,7 @@
|
||||
thermal@e07008c4 {
|
||||
compatible = "st,thermal-spear1340";
|
||||
reg = <0xe07008c4 0x4>;
|
||||
thermal_flags = <0x7000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -100,15 +100,23 @@
|
||||
};
|
||||
partition@10000 {
|
||||
label = "u-boot";
|
||||
reg = <0x10000 0x40000>;
|
||||
reg = <0x10000 0x50000>;
|
||||
};
|
||||
partition@50000 {
|
||||
partition@60000 {
|
||||
label = "environment";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
partition@70000 {
|
||||
label = "dtb";
|
||||
reg = <0x70000 0x10000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "linux";
|
||||
reg = <0x50000 0x2c0000>;
|
||||
reg = <0x80000 0x310000>;
|
||||
};
|
||||
partition@310000 {
|
||||
partition@390000 {
|
||||
label = "rootfs";
|
||||
reg = <0x310000 0x4f0000>;
|
||||
reg = <0x390000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -235,6 +243,8 @@
|
||||
|
||||
serial@d0000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
wdt@fc880000 {
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
};
|
||||
|
||||
clcd@60000000 {
|
||||
compatible = "arm,clcd-pl110", "arm,primecell";
|
||||
compatible = "arm,pl110", "arm,primecell";
|
||||
reg = <0x60000000 0x1000>;
|
||||
interrupts = <30>;
|
||||
status = "disabled";
|
||||
@@ -52,6 +52,14 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
shirq: interrupt-controller@0x50000000 {
|
||||
compatible = "st,spear300-shirq";
|
||||
reg = <0x50000000 0x1000>;
|
||||
interrupts = <28>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
};
|
||||
|
||||
apb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@@ -64,12 +72,16 @@
|
||||
compatible = "arm,pl061", "arm,primecell";
|
||||
gpio-controller;
|
||||
reg = <0xa9000000 0x1000>;
|
||||
interrupts = <8>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
kbd@a0000000 {
|
||||
compatible = "st,spear300-kbd";
|
||||
reg = <0xa0000000 0x1000>;
|
||||
interrupts = <7>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -114,15 +114,23 @@
|
||||
};
|
||||
partition@10000 {
|
||||
label = "u-boot";
|
||||
reg = <0x10000 0x40000>;
|
||||
reg = <0x10000 0x50000>;
|
||||
};
|
||||
partition@50000 {
|
||||
partition@60000 {
|
||||
label = "environment";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
partition@70000 {
|
||||
label = "dtb";
|
||||
reg = <0x70000 0x10000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "linux";
|
||||
reg = <0x50000 0x2c0000>;
|
||||
reg = <0x80000 0x310000>;
|
||||
};
|
||||
partition@310000 {
|
||||
partition@390000 {
|
||||
label = "rootfs";
|
||||
reg = <0x310000 0x4f0000>;
|
||||
reg = <0x390000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -158,26 +166,38 @@
|
||||
|
||||
serial@d0000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@b2000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@b2080000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@b2100000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@b2180000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@b2200000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
wdt@fc880000 {
|
||||
|
||||
@@ -40,6 +40,14 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
shirq: interrupt-controller@0xb4000000 {
|
||||
compatible = "st,spear310-shirq";
|
||||
reg = <0xb4000000 0x1000>;
|
||||
interrupts = <28 29 30 1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
};
|
||||
|
||||
apb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@@ -50,30 +58,40 @@
|
||||
serial@b2000000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xb2000000 0x1000>;
|
||||
interrupts = <8>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@b2080000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xb2080000 0x1000>;
|
||||
interrupts = <9>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@b2100000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xb2100000 0x1000>;
|
||||
interrupts = <10>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@b2180000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xb2180000 0x1000>;
|
||||
interrupts = <11>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@b2200000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xb2200000 0x1000>;
|
||||
interrupts = <12>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -76,20 +76,12 @@
|
||||
st,function = "mii2";
|
||||
};
|
||||
pwm0_1 {
|
||||
st,pins = "pwm0_1_pin_14_15_grp";
|
||||
st,pins = "pwm0_1_pin_37_38_grp";
|
||||
st,function = "pwm0_1";
|
||||
};
|
||||
pwm2 {
|
||||
st,pins = "pwm2_pin_13_grp";
|
||||
st,function = "pwm2";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
clcd@90000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dma@fc400000 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -103,6 +95,7 @@
|
||||
};
|
||||
|
||||
sdhci@70000000 {
|
||||
power-gpio = <&gpiopinctrl 61 1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -122,15 +115,23 @@
|
||||
};
|
||||
partition@10000 {
|
||||
label = "u-boot";
|
||||
reg = <0x10000 0x40000>;
|
||||
reg = <0x10000 0x50000>;
|
||||
};
|
||||
partition@50000 {
|
||||
partition@60000 {
|
||||
label = "environment";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
partition@70000 {
|
||||
label = "dtb";
|
||||
reg = <0x70000 0x10000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "linux";
|
||||
reg = <0x50000 0x2c0000>;
|
||||
reg = <0x80000 0x310000>;
|
||||
};
|
||||
partition@310000 {
|
||||
partition@390000 {
|
||||
label = "rootfs";
|
||||
reg = <0x310000 0x4f0000>;
|
||||
reg = <0x390000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -182,14 +183,20 @@
|
||||
|
||||
serial@d0000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@a3000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@a4000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
wdt@fc880000 {
|
||||
|
||||
@@ -0,0 +1,305 @@
|
||||
/*
|
||||
* DTS file for SPEAr320 Evaluation Baord
|
||||
*
|
||||
* Copyright 2012 Shiraz Hashim <shiraz.hashim@st.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/ "spear320.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ST SPEAr320 HMI Board";
|
||||
compatible = "st,spear320-hmi", "st,spear320";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
memory {
|
||||
reg = <0 0x40000000>;
|
||||
};
|
||||
|
||||
ahb {
|
||||
pinmux@b3000000 {
|
||||
st,pinmux-mode = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&state_default>;
|
||||
|
||||
state_default: pinmux {
|
||||
i2c0 {
|
||||
st,pins = "i2c0_grp";
|
||||
st,function = "i2c0";
|
||||
};
|
||||
ssp0 {
|
||||
st,pins = "ssp0_grp";
|
||||
st,function = "ssp0";
|
||||
};
|
||||
uart0 {
|
||||
st,pins = "uart0_grp";
|
||||
st,function = "uart0";
|
||||
};
|
||||
clcd {
|
||||
st,pins = "clcd_grp";
|
||||
st,function = "clcd";
|
||||
};
|
||||
fsmc {
|
||||
st,pins = "fsmc_8bit_grp";
|
||||
st,function = "fsmc";
|
||||
};
|
||||
sdhci {
|
||||
st,pins = "sdhci_cd_12_grp";
|
||||
st,function = "sdhci";
|
||||
};
|
||||
i2s {
|
||||
st,pins = "i2s_grp";
|
||||
st,function = "i2s";
|
||||
};
|
||||
uart1 {
|
||||
st,pins = "uart1_grp";
|
||||
st,function = "uart1";
|
||||
};
|
||||
uart2 {
|
||||
st,pins = "uart2_grp";
|
||||
st,function = "uart2";
|
||||
};
|
||||
can0 {
|
||||
st,pins = "can0_grp";
|
||||
st,function = "can0";
|
||||
};
|
||||
can1 {
|
||||
st,pins = "can1_grp";
|
||||
st,function = "can1";
|
||||
};
|
||||
mii0_1 {
|
||||
st,pins = "rmii0_1_grp";
|
||||
st,function = "mii0_1";
|
||||
};
|
||||
pwm0_1 {
|
||||
st,pins = "pwm0_1_pin_37_38_grp";
|
||||
st,function = "pwm0_1";
|
||||
};
|
||||
pwm2 {
|
||||
st,pins = "pwm2_pin_34_grp";
|
||||
st,function = "pwm2";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
clcd@90000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dma@fc400000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci@e1800000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
fsmc: flash@4c000000 {
|
||||
status = "okay";
|
||||
|
||||
partition@0 {
|
||||
label = "xloader";
|
||||
reg = <0x0 0x80000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "u-boot";
|
||||
reg = <0x80000 0x140000>;
|
||||
};
|
||||
partition@1C0000 {
|
||||
label = "environment";
|
||||
reg = <0x1C0000 0x40000>;
|
||||
};
|
||||
partition@200000 {
|
||||
label = "dtb";
|
||||
reg = <0x200000 0x40000>;
|
||||
};
|
||||
partition@240000 {
|
||||
label = "linux";
|
||||
reg = <0x240000 0xC00000>;
|
||||
};
|
||||
partition@E40000 {
|
||||
label = "rootfs";
|
||||
reg = <0xE40000 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
button@1 {
|
||||
label = "user button 1";
|
||||
linux,code = <0x100>;
|
||||
gpios = <&stmpegpio 3 0x4>;
|
||||
debounce-interval = <20>;
|
||||
gpio-key,wakeup = <1>;
|
||||
};
|
||||
|
||||
button@2 {
|
||||
label = "user button 2";
|
||||
linux,code = <0x200>;
|
||||
gpios = <&stmpegpio 2 0x4>;
|
||||
debounce-interval = <20>;
|
||||
gpio-key,wakeup = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
ohci@e1900000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ohci@e2100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pwm: pwm@a8000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sdhci@70000000 {
|
||||
power-gpio = <&gpiopinctrl 50 1>;
|
||||
power_always_enb;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
smi: flash@fc000000 {
|
||||
status = "okay";
|
||||
clock-rate=<50000000>;
|
||||
|
||||
flash@f8000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xf8000000 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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
spi0: spi@d0100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
spi1: spi@a5000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
spi2: spi@a6000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbd@e1100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
apb {
|
||||
gpio0: gpio@fc980000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
gpio@b3000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c0: i2c@d0180000 {
|
||||
status = "okay";
|
||||
|
||||
stmpe811@41 {
|
||||
compatible = "st,stmpe811";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x41>;
|
||||
irq-over-gpio;
|
||||
irq-gpios = <&gpiopinctrl 29 0x4>;
|
||||
id = <0>;
|
||||
blocks = <0x5>;
|
||||
irq-trigger = <0x1>;
|
||||
|
||||
stmpegpio: stmpe-gpio {
|
||||
compatible = "stmpe,gpio";
|
||||
reg = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio,norequest-mask = <0xF3>;
|
||||
};
|
||||
|
||||
stmpe610-ts {
|
||||
compatible = "stmpe,ts";
|
||||
reg = <0>;
|
||||
ts,sample-time = <4>;
|
||||
ts,mod-12b = <1>;
|
||||
ts,ref-sel = <0>;
|
||||
ts,adc-freq = <1>;
|
||||
ts,ave-ctrl = <1>;
|
||||
ts,touch-det-delay = <3>;
|
||||
ts,settling = <4>;
|
||||
ts,fraction-z = <7>;
|
||||
ts,i-drive = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c1: i2c@a7000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
rtc@fc900000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
serial@d0000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@a3000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@a4000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
wdt@fc880000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -28,9 +28,10 @@
|
||||
};
|
||||
|
||||
clcd@90000000 {
|
||||
compatible = "arm,clcd-pl110", "arm,primecell";
|
||||
compatible = "arm,pl110", "arm,primecell";
|
||||
reg = <0x90000000 0x1000>;
|
||||
interrupts = <33>;
|
||||
interrupts = <8>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -49,27 +50,51 @@
|
||||
sdhci@70000000 {
|
||||
compatible = "st,sdhci-spear";
|
||||
reg = <0x70000000 0x100>;
|
||||
interrupts = <29>;
|
||||
interrupts = <10>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
shirq: interrupt-controller@0xb3000000 {
|
||||
compatible = "st,spear320-shirq";
|
||||
reg = <0xb3000000 0x1000>;
|
||||
interrupts = <30 28 29 1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
};
|
||||
|
||||
spi1: spi@a5000000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0xa5000000 0x1000>;
|
||||
interrupts = <15>;
|
||||
interrupt-parent = <&shirq>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi2: spi@a6000000 {
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0xa6000000 0x1000>;
|
||||
interrupts = <16>;
|
||||
interrupt-parent = <&shirq>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm: pwm@a8000000 {
|
||||
compatible ="st,spear-pwm";
|
||||
reg = <0xa8000000 0x1000>;
|
||||
#pwm-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
apb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges = <0xa0000000 0xa0000000 0x10000000
|
||||
ranges = <0xa0000000 0xa0000000 0x20000000
|
||||
0xd0000000 0xd0000000 0x30000000>;
|
||||
|
||||
i2c1: i2c@a7000000 {
|
||||
@@ -77,18 +102,24 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "snps,designware-i2c";
|
||||
reg = <0xa7000000 0x1000>;
|
||||
interrupts = <21>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@a3000000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xa3000000 0x1000>;
|
||||
interrupts = <13>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial@a4000000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0xa4000000 0x1000>;
|
||||
interrupts = <14>;
|
||||
interrupt-parent = <&shirq>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
reg = <0xe0800000 0x8000>;
|
||||
interrupts = <23 22>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
phy-mode = "mii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -69,6 +70,8 @@
|
||||
compatible = "arm,pl022", "arm,primecell";
|
||||
reg = <0xd0100000 0x1000>;
|
||||
interrupts = <20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -120,7 +123,7 @@
|
||||
};
|
||||
|
||||
rtc@fc900000 {
|
||||
compatible = "st,spear-rtc";
|
||||
compatible = "st,spear600-rtc";
|
||||
reg = <0xfc900000 0x1000>;
|
||||
interrupts = <10>;
|
||||
status = "disabled";
|
||||
|
||||
@@ -24,15 +24,35 @@
|
||||
};
|
||||
|
||||
ahb {
|
||||
clcd@fc200000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dma@fc400000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci@e1800000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ehci@e2000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
gmac: ethernet@e0800000 {
|
||||
phy-mode = "gmii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ohci@e1900000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ohci@e2100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
smi: flash@fc000000 {
|
||||
status = "okay";
|
||||
clock-rate=<50000000>;
|
||||
@@ -49,15 +69,23 @@
|
||||
};
|
||||
partition@10000 {
|
||||
label = "u-boot";
|
||||
reg = <0x10000 0x40000>;
|
||||
reg = <0x10000 0x50000>;
|
||||
};
|
||||
partition@50000 {
|
||||
partition@60000 {
|
||||
label = "environment";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
partition@70000 {
|
||||
label = "dtb";
|
||||
reg = <0x70000 0x10000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "linux";
|
||||
reg = <0x50000 0x2c0000>;
|
||||
reg = <0x80000 0x310000>;
|
||||
};
|
||||
partition@310000 {
|
||||
partition@390000 {
|
||||
label = "rootfs";
|
||||
reg = <0x310000 0x4f0000>;
|
||||
reg = <0x390000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -65,10 +93,18 @@
|
||||
apb {
|
||||
serial@d0000000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
serial@d0080000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
};
|
||||
|
||||
rtc@fc900000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@d0200000 {
|
||||
|
||||
@@ -45,6 +45,14 @@
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
|
||||
clcd@fc200000 {
|
||||
compatible = "arm,pl110", "arm,primecell";
|
||||
reg = <0xfc200000 0x1000>;
|
||||
interrupt-parent = <&vic1>;
|
||||
interrupts = <12>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dma@fc400000 {
|
||||
compatible = "arm,pl080", "arm,primecell";
|
||||
reg = <0xfc400000 0x1000>;
|
||||
@@ -59,6 +67,7 @@
|
||||
interrupt-parent = <&vic1>;
|
||||
interrupts = <24 23>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
phy-mode = "gmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -178,6 +187,13 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rtc@fc900000 {
|
||||
compatible = "st,spear600-rtc";
|
||||
reg = <0xfc900000 0x1000>;
|
||||
interrupts = <10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer@f0000000 {
|
||||
compatible = "st,spear-timer";
|
||||
reg = <0xf0000000 0x400>;
|
||||
|
||||
@@ -47,14 +47,6 @@
|
||||
#define DMAC1_BASE UL(0xEB000000)
|
||||
#define MCIF_CF_BASE UL(0xB2800000)
|
||||
|
||||
/* Devices present in SPEAr1310 */
|
||||
#ifdef CONFIG_MACH_SPEAR1310
|
||||
#define SPEAR1310_RAS_GRP1_BASE UL(0xD8000000)
|
||||
#define VA_SPEAR1310_RAS_GRP1_BASE UL(0xFA000000)
|
||||
#define SPEAR1310_RAS_BASE UL(0xD8400000)
|
||||
#define VA_SPEAR1310_RAS_BASE IOMEM(UL(0xFA400000))
|
||||
#endif /* CONFIG_MACH_SPEAR1310 */
|
||||
|
||||
/* Debug uart for linux, will be used for debug and uncompress messages */
|
||||
#define SPEAR_DBG_UART_BASE UART_BASE
|
||||
#define VA_SPEAR_DBG_UART_BASE VA_UART_BASE
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <linux/amba/pl022.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/pata_arasan_cf_data.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
@@ -27,16 +28,25 @@
|
||||
#define SPEAR1310_SATA1_BASE UL(0xB1800000)
|
||||
#define SPEAR1310_SATA2_BASE UL(0xB4000000)
|
||||
|
||||
#define SPEAR1310_RAS_GRP1_BASE UL(0xD8000000)
|
||||
#define VA_SPEAR1310_RAS_GRP1_BASE UL(0xFA000000)
|
||||
#define SPEAR1310_RAS_BASE UL(0xD8400000)
|
||||
#define VA_SPEAR1310_RAS_BASE IOMEM(UL(0xFA400000))
|
||||
|
||||
static struct arasan_cf_pdata cf_pdata = {
|
||||
.cf_if_clk = CF_IF_CLK_166M,
|
||||
.quirk = CF_BROKEN_UDMA,
|
||||
.dma_priv = &cf_dma_priv,
|
||||
};
|
||||
|
||||
/* ssp device registration */
|
||||
static struct pl022_ssp_controller ssp1_plat_data = {
|
||||
.bus_id = 0,
|
||||
.enable_dma = 0,
|
||||
.num_chipselect = 3,
|
||||
};
|
||||
|
||||
/* Add SPEAr1310 auxdata to pass platform data */
|
||||
static struct of_dev_auxdata spear1310_auxdata_lookup[] __initdata = {
|
||||
OF_DEV_AUXDATA("arasan,cf-spear1340", MCIF_CF_BASE, NULL, &cf_dma_priv),
|
||||
OF_DEV_AUXDATA("arasan,cf-spear1340", MCIF_CF_BASE, NULL, &cf_pdata),
|
||||
OF_DEV_AUXDATA("snps,dma-spear1340", DMAC0_BASE, NULL, &dmac_plat_data),
|
||||
OF_DEV_AUXDATA("snps,dma-spear1340", DMAC1_BASE, NULL, &dmac_plat_data),
|
||||
OF_DEV_AUXDATA("arm,pl022", SSP_BASE, NULL, &pl022_plat_data),
|
||||
|
||||
@@ -57,12 +57,10 @@ static struct dw_dma_slave ssp_dma_param[] = {
|
||||
};
|
||||
|
||||
struct pl022_ssp_controller pl022_plat_data = {
|
||||
.bus_id = 0,
|
||||
.enable_dma = 1,
|
||||
.dma_filter = dw_dma_filter,
|
||||
.dma_rx_param = &ssp_dma_param[1],
|
||||
.dma_tx_param = &ssp_dma_param[0],
|
||||
.num_chipselect = 3,
|
||||
};
|
||||
|
||||
/* CF device registration */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user