mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 21:45:01 +08:00
d721a15c30
The r8a7790.dtsi file has four sdhi nodes which the first two have the wrong
resource size for their register block. This causes the sh_modbile_sdhi driver
to fail to communicate with card at-all.
Change sdhi{0,1} node size from 0x100 to 0x200 to correct these nodes
as per Kuninori Morimoto's response to the original patch where all four
nodes where changed. sdhi{2,3} are the correct size.
This bug has been present since sdhi resources were added to the r8a7790 by
8c9b1aa418
("ARM: shmobile: r8a7790: add MMCIF and SDHI DT
templates") in v3.11-rc2.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Tested-by: William Towle <william.towle@codethink.co.uk>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
278 lines
6.0 KiB
Plaintext
278 lines
6.0 KiB
Plaintext
/*
|
|
* Device Tree Source for the r8a7790 SoC
|
|
*
|
|
* Copyright (C) 2013 Renesas Solutions Corp.
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public License
|
|
* version 2. This program is licensed "as is" without any warranty of any
|
|
* kind, whether express or implied.
|
|
*/
|
|
|
|
/ {
|
|
compatible = "renesas,r8a7790";
|
|
interrupt-parent = <&gic>;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu0: cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a15";
|
|
reg = <0>;
|
|
clock-frequency = <1300000000>;
|
|
};
|
|
|
|
cpu1: cpu@1 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a15";
|
|
reg = <1>;
|
|
clock-frequency = <1300000000>;
|
|
};
|
|
|
|
cpu2: cpu@2 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a15";
|
|
reg = <2>;
|
|
clock-frequency = <1300000000>;
|
|
};
|
|
|
|
cpu3: cpu@3 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a15";
|
|
reg = <3>;
|
|
clock-frequency = <1300000000>;
|
|
};
|
|
|
|
cpu4: cpu@4 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0x100>;
|
|
clock-frequency = <780000000>;
|
|
};
|
|
|
|
cpu5: cpu@5 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0x101>;
|
|
clock-frequency = <780000000>;
|
|
};
|
|
|
|
cpu6: cpu@6 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0x102>;
|
|
clock-frequency = <780000000>;
|
|
};
|
|
|
|
cpu7: cpu@7 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0x103>;
|
|
clock-frequency = <780000000>;
|
|
};
|
|
};
|
|
|
|
gic: interrupt-controller@f1001000 {
|
|
compatible = "arm,cortex-a15-gic";
|
|
#interrupt-cells = <3>;
|
|
#address-cells = <0>;
|
|
interrupt-controller;
|
|
reg = <0 0xf1001000 0 0x1000>,
|
|
<0 0xf1002000 0 0x1000>,
|
|
<0 0xf1004000 0 0x2000>,
|
|
<0 0xf1006000 0 0x2000>;
|
|
interrupts = <1 9 0xf04>;
|
|
};
|
|
|
|
gpio0: gpio@e6050000 {
|
|
compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
|
|
reg = <0 0xe6050000 0 0x50>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 4 0x4>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pfc 0 0 32>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
gpio1: gpio@e6051000 {
|
|
compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
|
|
reg = <0 0xe6051000 0 0x50>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 5 0x4>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pfc 0 32 32>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
gpio2: gpio@e6052000 {
|
|
compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
|
|
reg = <0 0xe6052000 0 0x50>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 6 0x4>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pfc 0 64 32>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
gpio3: gpio@e6053000 {
|
|
compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
|
|
reg = <0 0xe6053000 0 0x50>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 7 0x4>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pfc 0 96 32>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
gpio4: gpio@e6054000 {
|
|
compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
|
|
reg = <0 0xe6054000 0 0x50>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 8 0x4>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pfc 0 128 32>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
gpio5: gpio@e6055000 {
|
|
compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
|
|
reg = <0 0xe6055000 0 0x50>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 9 0x4>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pfc 0 160 32>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
timer {
|
|
compatible = "arm,armv7-timer";
|
|
interrupts = <1 13 0xf08>,
|
|
<1 14 0xf08>,
|
|
<1 11 0xf08>,
|
|
<1 10 0xf08>;
|
|
};
|
|
|
|
irqc0: interrupt-controller@e61c0000 {
|
|
compatible = "renesas,irqc";
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
reg = <0 0xe61c0000 0 0x200>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 0 4>, <0 1 4>, <0 2 4>, <0 3 4>;
|
|
};
|
|
|
|
i2c0: i2c@e6508000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "renesas,i2c-r8a7790";
|
|
reg = <0 0xe6508000 0 0x40>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 287 0x4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c1: i2c@e6518000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "renesas,i2c-r8a7790";
|
|
reg = <0 0xe6518000 0 0x40>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 288 0x4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c2: i2c@e6530000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "renesas,i2c-r8a7790";
|
|
reg = <0 0xe6530000 0 0x40>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 286 0x4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c3: i2c@e6540000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "renesas,i2c-r8a7790";
|
|
reg = <0 0xe6540000 0 0x40>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 290 0x4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
mmcif0: mmcif@ee200000 {
|
|
compatible = "renesas,sh-mmcif";
|
|
reg = <0 0xee200000 0 0x80>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 169 0x4>;
|
|
reg-io-width = <4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
mmcif1: mmcif@ee220000 {
|
|
compatible = "renesas,sh-mmcif";
|
|
reg = <0 0xee220000 0 0x80>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 170 0x4>;
|
|
reg-io-width = <4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pfc: pfc@e6060000 {
|
|
compatible = "renesas,pfc-r8a7790";
|
|
reg = <0 0xe6060000 0 0x250>;
|
|
};
|
|
|
|
sdhi0: sdhi@ee100000 {
|
|
compatible = "renesas,sdhi-r8a7790";
|
|
reg = <0 0xee100000 0 0x200>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 165 4>;
|
|
cap-sd-highspeed;
|
|
status = "disabled";
|
|
};
|
|
|
|
sdhi1: sdhi@ee120000 {
|
|
compatible = "renesas,sdhi-r8a7790";
|
|
reg = <0 0xee120000 0 0x200>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 166 4>;
|
|
cap-sd-highspeed;
|
|
status = "disabled";
|
|
};
|
|
|
|
sdhi2: sdhi@ee140000 {
|
|
compatible = "renesas,sdhi-r8a7790";
|
|
reg = <0 0xee140000 0 0x100>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 167 4>;
|
|
cap-sd-highspeed;
|
|
status = "disabled";
|
|
};
|
|
|
|
sdhi3: sdhi@ee160000 {
|
|
compatible = "renesas,sdhi-r8a7790";
|
|
reg = <0 0xee160000 0 0x100>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 168 4>;
|
|
cap-sd-highspeed;
|
|
status = "disabled";
|
|
};
|
|
};
|