| From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Date: Sat, 6 Jan 2018 21:53:27 +0300 |
| Subject: SolutionEngine771x: add Ether TSU resource |
| |
| commit f9a531d6731d74f1e24298d9641c2dc1fef2631b upstream. |
| |
| After the Ether platform data is fixed, the driver probe() method would |
| still fail since the 'struct sh_eth_cpu_data' corresponding to SH771x |
| indicates the presence of TSU but the memory resource for it is absent. |
| Add the missing TSU resource to both Ether devices and fix the harmless |
| off-by-one error in the main memory resources, while at it... |
| |
| Fixes: 4986b996882d ("net: sh_eth: remove the SH_TSU_ADDR") |
| Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/sh/boards/mach-se/770x/setup.c | 14 ++++++++++++-- |
| arch/sh/include/mach-se/mach/se.h | 1 + |
| 2 files changed, 13 insertions(+), 2 deletions(-) |
| |
| --- a/arch/sh/boards/mach-se/770x/setup.c |
| +++ b/arch/sh/boards/mach-se/770x/setup.c |
| @@ -123,10 +123,15 @@ static struct sh_eth_plat_data sh_eth_pl |
| static struct resource sh_eth0_resources[] = { |
| [0] = { |
| .start = SH_ETH0_BASE, |
| - .end = SH_ETH0_BASE + 0x1B8, |
| + .end = SH_ETH0_BASE + 0x1B8 - 1, |
| .flags = IORESOURCE_MEM, |
| }, |
| [1] = { |
| + .start = SH_TSU_BASE, |
| + .end = SH_TSU_BASE + 0x200 - 1, |
| + .flags = IORESOURCE_MEM, |
| + }, |
| + [2] = { |
| .start = SH_ETH0_IRQ, |
| .end = SH_ETH0_IRQ, |
| .flags = IORESOURCE_IRQ, |
| @@ -146,10 +151,15 @@ static struct platform_device sh_eth0_de |
| static struct resource sh_eth1_resources[] = { |
| [0] = { |
| .start = SH_ETH1_BASE, |
| - .end = SH_ETH1_BASE + 0x1B8, |
| + .end = SH_ETH1_BASE + 0x1B8 - 1, |
| .flags = IORESOURCE_MEM, |
| }, |
| [1] = { |
| + .start = SH_TSU_BASE, |
| + .end = SH_TSU_BASE + 0x200 - 1, |
| + .flags = IORESOURCE_MEM, |
| + }, |
| + [2] = { |
| .start = SH_ETH1_IRQ, |
| .end = SH_ETH1_IRQ, |
| .flags = IORESOURCE_IRQ, |
| --- a/arch/sh/include/mach-se/mach/se.h |
| +++ b/arch/sh/include/mach-se/mach/se.h |
| @@ -99,6 +99,7 @@ |
| /* Base address */ |
| #define SH_ETH0_BASE 0xA7000000 |
| #define SH_ETH1_BASE 0xA7000400 |
| +#define SH_TSU_BASE 0xA7000800 |
| /* PHY ID */ |
| #if defined(CONFIG_CPU_SUBTYPE_SH7710) |
| # define PHY_ID 0x00 |