Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sh: sh7785lcr: fix prototype board on 32bit MMU mode.

Fix up PCA9564 resources on 32bit MMU mode using prototype board.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Tested-by: Raul Porcel <armin76@gentoo.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>

authored by

Yoshihiro Shimoda and committed by
Paul Mundt
e79d5747 f840dd5e

+28
+7
arch/sh/boards/Kconfig
··· 171 171 DIP switch(S2-5). If you set the DIP switch for S2-5 = ON, 172 172 you can access all on-board device in 29bit address mode. 173 173 174 + config SH_SH7785LCR_PT 175 + bool "SH7785LCR prototype board on 32-bit MMU mode" 176 + depends on SH_SH7785LCR && 32BIT 177 + default n 178 + help 179 + If you use prototype board, this option is enabled. 180 + 174 181 config SH_URQUELL 175 182 bool "Urquell" 176 183 depends on CPU_SUBTYPE_SH7786
+18
arch/sh/boards/board-sh7785lcr.c
··· 223 223 .resource = sm501_resources, 224 224 }; 225 225 226 + static struct resource i2c_proto_resources[] = { 227 + [0] = { 228 + .start = PCA9564_PROTO_32BIT_ADDR, 229 + .end = PCA9564_PROTO_32BIT_ADDR + PCA9564_SIZE - 1, 230 + .flags = IORESOURCE_MEM | IORESOURCE_MEM_8BIT, 231 + }, 232 + [1] = { 233 + .start = 12, 234 + .end = 12, 235 + .flags = IORESOURCE_IRQ, 236 + }, 237 + }; 238 + 226 239 static struct resource i2c_resources[] = { 227 240 [0] = { 228 241 .start = PCA9564_ADDR, ··· 283 270 { 284 271 i2c_register_board_info(0, sh7785lcr_i2c_devices, 285 272 ARRAY_SIZE(sh7785lcr_i2c_devices)); 273 + 274 + if (mach_is_sh7785lcr_pt()) { 275 + i2c_device.resource = &i2c_proto_resources; 276 + i2c_device.num_resources = ARRAY_SIZE(i2c_proto_resources); 277 + } 286 278 287 279 return platform_add_devices(sh7785lcr_devices, 288 280 ARRAY_SIZE(sh7785lcr_devices));
+2
arch/sh/include/mach-common/mach/sh7785lcr.h
··· 35 35 #define PCA9564_ADDR 0x06000000 /* I2C */ 36 36 #define PCA9564_SIZE 0x00000100 37 37 38 + #define PCA9564_PROTO_32BIT_ADDR 0x14000000 39 + 38 40 #define SM107_MEM_ADDR 0x10000000 39 41 #define SM107_MEM_SIZE 0x00e00000 40 42 #define SM107_REG_ADDR 0x13e00000
+1
arch/sh/tools/mach-types
··· 53 53 AP325RXA SH_AP325RXA 54 54 SH7763RDP SH_SH7763RDP 55 55 SH7785LCR SH_SH7785LCR 56 + SH7785LCR_PT SH_SH7785LCR_PT 56 57 URQUELL SH_URQUELL 57 58 ESPT SH_ESPT 58 59 POLARIS SH_POLARIS