diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/Kconfig | 2 | ||||
-rw-r--r-- | arch/sh/boards/board-ap325rxa.c | 57 | ||||
-rw-r--r-- | arch/sh/boards/board-urquell.c | 4 | ||||
-rw-r--r-- | arch/sh/include/asm/mmu.h | 35 | ||||
-rw-r--r-- | arch/sh/include/cpu-sh4/cpu/sh7786.h | 214 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c | 185 | ||||
-rw-r--r-- | arch/sh/kernel/setup.c | 5 |
7 files changed, 195 insertions, 307 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 8d50d527c595..19566c8d9826 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -530,7 +530,7 @@ source kernel/Kconfig.hz | |||
530 | 530 | ||
531 | config KEXEC | 531 | config KEXEC |
532 | bool "kexec system call (EXPERIMENTAL)" | 532 | bool "kexec system call (EXPERIMENTAL)" |
533 | depends on SUPERH32 && EXPERIMENTAL | 533 | depends on SUPERH32 && EXPERIMENTAL && MMU |
534 | help | 534 | help |
535 | kexec is a system call that implements the ability to shutdown your | 535 | kexec is a system call that implements the ability to shutdown your |
536 | current kernel, and to start another kernel. It is like a reboot | 536 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c index e27655b8a98d..912458f666eb 100644 --- a/arch/sh/boards/board-ap325rxa.c +++ b/arch/sh/boards/board-ap325rxa.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/gpio.h> | 22 | #include <linux/gpio.h> |
23 | #include <linux/spi/spi.h> | 23 | #include <linux/spi/spi.h> |
24 | #include <linux/spi/spi_gpio.h> | 24 | #include <linux/spi/spi_gpio.h> |
25 | #include <media/ov772x.h> | ||
25 | #include <media/soc_camera.h> | 26 | #include <media/soc_camera.h> |
26 | #include <media/soc_camera_platform.h> | 27 | #include <media/soc_camera_platform.h> |
27 | #include <media/sh_mobile_ceu.h> | 28 | #include <media/sh_mobile_ceu.h> |
@@ -235,6 +236,7 @@ static void camera_power(int val) | |||
235 | } | 236 | } |
236 | 237 | ||
237 | #ifdef CONFIG_I2C | 238 | #ifdef CONFIG_I2C |
239 | /* support for the old ncm03j camera */ | ||
238 | static unsigned char camera_ncm03j_magic[] = | 240 | static unsigned char camera_ncm03j_magic[] = |
239 | { | 241 | { |
240 | 0x87, 0x00, 0x88, 0x08, 0x89, 0x01, 0x8A, 0xE8, | 242 | 0x87, 0x00, 0x88, 0x08, 0x89, 0x01, 0x8A, 0xE8, |
@@ -255,6 +257,23 @@ static unsigned char camera_ncm03j_magic[] = | |||
255 | 0x63, 0xD4, 0x64, 0xEA, 0xD6, 0x0F, | 257 | 0x63, 0xD4, 0x64, 0xEA, 0xD6, 0x0F, |
256 | }; | 258 | }; |
257 | 259 | ||
260 | static int camera_probe(void) | ||
261 | { | ||
262 | struct i2c_adapter *a = i2c_get_adapter(0); | ||
263 | struct i2c_msg msg; | ||
264 | int ret; | ||
265 | |||
266 | camera_power(1); | ||
267 | msg.addr = 0x6e; | ||
268 | msg.buf = camera_ncm03j_magic; | ||
269 | msg.len = 2; | ||
270 | msg.flags = 0; | ||
271 | ret = i2c_transfer(a, &msg, 1); | ||
272 | camera_power(0); | ||
273 | |||
274 | return ret; | ||
275 | } | ||
276 | |||
258 | static int camera_set_capture(struct soc_camera_platform_info *info, | 277 | static int camera_set_capture(struct soc_camera_platform_info *info, |
259 | int enable) | 278 | int enable) |
260 | { | 279 | { |
@@ -306,12 +325,37 @@ static struct platform_device camera_device = { | |||
306 | .platform_data = &camera_info, | 325 | .platform_data = &camera_info, |
307 | }, | 326 | }, |
308 | }; | 327 | }; |
328 | |||
329 | static int __init camera_setup(void) | ||
330 | { | ||
331 | if (camera_probe() > 0) | ||
332 | platform_device_register(&camera_device); | ||
333 | |||
334 | return 0; | ||
335 | } | ||
336 | late_initcall(camera_setup); | ||
337 | |||
309 | #endif /* CONFIG_I2C */ | 338 | #endif /* CONFIG_I2C */ |
310 | 339 | ||
340 | static int ov7725_power(struct device *dev, int mode) | ||
341 | { | ||
342 | camera_power(0); | ||
343 | if (mode) | ||
344 | camera_power(1); | ||
345 | |||
346 | return 0; | ||
347 | } | ||
348 | |||
349 | static struct ov772x_camera_info ov7725_info = { | ||
350 | .buswidth = SOCAM_DATAWIDTH_8, | ||
351 | .flags = OV772X_FLAG_VFLIP | OV772X_FLAG_HFLIP, | ||
352 | .link = { | ||
353 | .power = ov7725_power, | ||
354 | }, | ||
355 | }; | ||
356 | |||
311 | static struct sh_mobile_ceu_info sh_mobile_ceu_info = { | 357 | static struct sh_mobile_ceu_info sh_mobile_ceu_info = { |
312 | .flags = SOCAM_PCLK_SAMPLE_RISING | SOCAM_HSYNC_ACTIVE_HIGH | | 358 | .flags = SH_CEU_FLAG_USE_8BIT_BUS, |
313 | SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_DATA_ACTIVE_HIGH | SOCAM_MASTER | | ||
314 | SOCAM_DATAWIDTH_8, | ||
315 | }; | 359 | }; |
316 | 360 | ||
317 | static struct resource ceu_resources[] = { | 361 | static struct resource ceu_resources[] = { |
@@ -359,9 +403,6 @@ static struct platform_device *ap325rxa_devices[] __initdata = { | |||
359 | &ap325rxa_nor_flash_device, | 403 | &ap325rxa_nor_flash_device, |
360 | &lcdc_device, | 404 | &lcdc_device, |
361 | &ceu_device, | 405 | &ceu_device, |
362 | #ifdef CONFIG_I2C | ||
363 | &camera_device, | ||
364 | #endif | ||
365 | &nand_flash_device, | 406 | &nand_flash_device, |
366 | &sdcard_cn3_device, | 407 | &sdcard_cn3_device, |
367 | }; | 408 | }; |
@@ -370,6 +411,10 @@ static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = { | |||
370 | { | 411 | { |
371 | I2C_BOARD_INFO("pcf8563", 0x51), | 412 | I2C_BOARD_INFO("pcf8563", 0x51), |
372 | }, | 413 | }, |
414 | { | ||
415 | I2C_BOARD_INFO("ov772x", 0x21), | ||
416 | .platform_data = &ov7725_info, | ||
417 | }, | ||
373 | }; | 418 | }; |
374 | 419 | ||
375 | static struct spi_board_info ap325rxa_spi_devices[] = { | 420 | static struct spi_board_info ap325rxa_spi_devices[] = { |
diff --git a/arch/sh/boards/board-urquell.c b/arch/sh/boards/board-urquell.c index 17036ce20086..8367d1d789c3 100644 --- a/arch/sh/boards/board-urquell.c +++ b/arch/sh/boards/board-urquell.c | |||
@@ -129,6 +129,10 @@ static int __init urquell_devices_setup(void) | |||
129 | gpio_request(GPIO_FN_USB_OVC0, NULL); | 129 | gpio_request(GPIO_FN_USB_OVC0, NULL); |
130 | gpio_request(GPIO_FN_USB_PENC0, NULL); | 130 | gpio_request(GPIO_FN_USB_PENC0, NULL); |
131 | 131 | ||
132 | /* enable LAN */ | ||
133 | __raw_writew(__raw_readw(UBOARDREG(IRL2MSKR)) & ~0x00000001, | ||
134 | UBOARDREG(IRL2MSKR)); | ||
135 | |||
132 | return platform_add_devices(urquell_devices, | 136 | return platform_add_devices(urquell_devices, |
133 | ARRAY_SIZE(urquell_devices)); | 137 | ARRAY_SIZE(urquell_devices)); |
134 | } | 138 | } |
diff --git a/arch/sh/include/asm/mmu.h b/arch/sh/include/asm/mmu.h index 6c43625bb1a5..f5963037c9d6 100644 --- a/arch/sh/include/asm/mmu.h +++ b/arch/sh/include/asm/mmu.h | |||
@@ -1,22 +1,6 @@ | |||
1 | #ifndef __MMU_H | 1 | #ifndef __MMU_H |
2 | #define __MMU_H | 2 | #define __MMU_H |
3 | 3 | ||
4 | /* Default "unsigned long" context */ | ||
5 | typedef unsigned long mm_context_id_t[NR_CPUS]; | ||
6 | |||
7 | typedef struct { | ||
8 | #ifdef CONFIG_MMU | ||
9 | mm_context_id_t id; | ||
10 | void *vdso; | ||
11 | #else | ||
12 | unsigned long end_brk; | ||
13 | #endif | ||
14 | #ifdef CONFIG_BINFMT_ELF_FDPIC | ||
15 | unsigned long exec_fdpic_loadmap; | ||
16 | unsigned long interp_fdpic_loadmap; | ||
17 | #endif | ||
18 | } mm_context_t; | ||
19 | |||
20 | /* | 4 | /* |
21 | * Privileged Space Mapping Buffer (PMB) definitions | 5 | * Privileged Space Mapping Buffer (PMB) definitions |
22 | */ | 6 | */ |
@@ -41,6 +25,24 @@ typedef struct { | |||
41 | 25 | ||
42 | #define PMB_NO_ENTRY (-1) | 26 | #define PMB_NO_ENTRY (-1) |
43 | 27 | ||
28 | #ifndef __ASSEMBLY__ | ||
29 | |||
30 | /* Default "unsigned long" context */ | ||
31 | typedef unsigned long mm_context_id_t[NR_CPUS]; | ||
32 | |||
33 | typedef struct { | ||
34 | #ifdef CONFIG_MMU | ||
35 | mm_context_id_t id; | ||
36 | void *vdso; | ||
37 | #else | ||
38 | unsigned long end_brk; | ||
39 | #endif | ||
40 | #ifdef CONFIG_BINFMT_ELF_FDPIC | ||
41 | unsigned long exec_fdpic_loadmap; | ||
42 | unsigned long interp_fdpic_loadmap; | ||
43 | #endif | ||
44 | } mm_context_t; | ||
45 | |||
44 | struct pmb_entry; | 46 | struct pmb_entry; |
45 | 47 | ||
46 | struct pmb_entry { | 48 | struct pmb_entry { |
@@ -70,6 +72,7 @@ void pmb_free(struct pmb_entry *pmbe); | |||
70 | long pmb_remap(unsigned long virt, unsigned long phys, | 72 | long pmb_remap(unsigned long virt, unsigned long phys, |
71 | unsigned long size, unsigned long flags); | 73 | unsigned long size, unsigned long flags); |
72 | void pmb_unmap(unsigned long addr); | 74 | void pmb_unmap(unsigned long addr); |
75 | #endif /* __ASSEMBLY__ */ | ||
73 | 76 | ||
74 | #endif /* __MMU_H */ | 77 | #endif /* __MMU_H */ |
75 | 78 | ||
diff --git a/arch/sh/include/cpu-sh4/cpu/sh7786.h b/arch/sh/include/cpu-sh4/cpu/sh7786.h index 48688adc0c84..977862f9072a 100644 --- a/arch/sh/include/cpu-sh4/cpu/sh7786.h +++ b/arch/sh/include/cpu-sh4/cpu/sh7786.h | |||
@@ -51,142 +51,86 @@ enum { | |||
51 | GPIO_PJ7, GPIO_PJ6, GPIO_PJ5, GPIO_PJ4, | 51 | GPIO_PJ7, GPIO_PJ6, GPIO_PJ5, GPIO_PJ4, |
52 | GPIO_PJ3, GPIO_PJ2, GPIO_PJ1, GPIO_PJ0, | 52 | GPIO_PJ3, GPIO_PJ2, GPIO_PJ1, GPIO_PJ0, |
53 | 53 | ||
54 | GPIO_FN_CDE, | 54 | /* DU */ |
55 | GPIO_FN_ETH_MAGIC, | 55 | GPIO_FN_DCLKIN, GPIO_FN_DCLKOUT, GPIO_FN_ODDF, |
56 | GPIO_FN_DISP, | 56 | GPIO_FN_VSYNC, GPIO_FN_HSYNC, GPIO_FN_CDE, GPIO_FN_DISP, |
57 | GPIO_FN_ETH_LINK, | 57 | GPIO_FN_DR0, GPIO_FN_DG0, GPIO_FN_DB0, |
58 | GPIO_FN_DR5, | 58 | GPIO_FN_DR1, GPIO_FN_DG1, GPIO_FN_DB1, |
59 | GPIO_FN_ETH_TX_ER, | 59 | GPIO_FN_DR2, GPIO_FN_DG2, GPIO_FN_DB2, |
60 | GPIO_FN_DR4, | 60 | GPIO_FN_DR3, GPIO_FN_DG3, GPIO_FN_DB3, |
61 | GPIO_FN_ETH_TX_EN, | 61 | GPIO_FN_DR4, GPIO_FN_DG4, GPIO_FN_DB4, |
62 | GPIO_FN_DR3, | 62 | GPIO_FN_DR5, GPIO_FN_DG5, GPIO_FN_DB5, |
63 | GPIO_FN_ETH_TXD3, | 63 | |
64 | GPIO_FN_DR2, | 64 | /* Eth */ |
65 | GPIO_FN_ETH_TXD2, | 65 | GPIO_FN_ETH_MAGIC, GPIO_FN_ETH_LINK, GPIO_FN_ETH_TX_ER, |
66 | GPIO_FN_DR1, | 66 | GPIO_FN_ETH_TX_EN, GPIO_FN_ETH_MDIO, GPIO_FN_ETH_RX_CLK, |
67 | GPIO_FN_ETH_TXD1, | 67 | GPIO_FN_ETH_MDC, GPIO_FN_ETH_COL, GPIO_FN_ETH_TX_CLK, |
68 | GPIO_FN_DR0, | 68 | GPIO_FN_ETH_CRS, GPIO_FN_ETH_RX_DV, GPIO_FN_ETH_RX_ER, |
69 | GPIO_FN_ETH_TXD0, | 69 | GPIO_FN_ETH_TXD3, GPIO_FN_ETH_TXD2, GPIO_FN_ETH_TXD1, GPIO_FN_ETH_TXD0, |
70 | GPIO_FN_VSYNC, | 70 | GPIO_FN_ETH_RXD3, GPIO_FN_ETH_RXD2, GPIO_FN_ETH_RXD1, GPIO_FN_ETH_RXD0, |
71 | GPIO_FN_HSPI_CLK, | 71 | |
72 | GPIO_FN_ODDF, | 72 | /* HSPI */ |
73 | GPIO_FN_HSPI_CS, | 73 | GPIO_FN_HSPI_CLK, GPIO_FN_HSPI_CS, GPIO_FN_HSPI_RX, GPIO_FN_HSPI_TX, |
74 | GPIO_FN_DG5, | 74 | |
75 | GPIO_FN_ETH_MDIO, | 75 | /* SCIF0 */ |
76 | GPIO_FN_DG4, | 76 | GPIO_FN_SCIF0_CTS, GPIO_FN_SCIF0_RTS, GPIO_FN_SCIF0_SCK, |
77 | GPIO_FN_ETH_RX_CLK, | 77 | GPIO_FN_SCIF0_RXD, GPIO_FN_SCIF0_TXD, |
78 | GPIO_FN_DG3, | 78 | |
79 | GPIO_FN_ETH_MDC, | 79 | /* SCIF1 */ |
80 | GPIO_FN_DG2, | 80 | GPIO_FN_SCIF1_SCK, GPIO_FN_SCIF1_RXD, GPIO_FN_SCIF1_TXD, |
81 | GPIO_FN_ETH_COL, | 81 | |
82 | GPIO_FN_DG1, | 82 | /* SCIF3 */ |
83 | GPIO_FN_ETH_TX_CLK, | 83 | GPIO_FN_SCIF3_SCK, GPIO_FN_SCIF3_RXD, GPIO_FN_SCIF3_TXD, |
84 | GPIO_FN_DG0, | 84 | |
85 | GPIO_FN_ETH_CRS, | 85 | /* SCIF4 */ |
86 | GPIO_FN_DCLKIN, | 86 | GPIO_FN_SCIF4_SCK, GPIO_FN_SCIF4_RXD, GPIO_FN_SCIF4_TXD, |
87 | GPIO_FN_HSPI_RX, | 87 | |
88 | GPIO_FN_HSYNC, | 88 | /* SCIF5 */ |
89 | GPIO_FN_HSPI_TX, | 89 | GPIO_FN_SCIF5_SCK, GPIO_FN_SCIF5_RXD, GPIO_FN_SCIF5_TXD, |
90 | GPIO_FN_DB5, | 90 | |
91 | GPIO_FN_ETH_RXD3, | 91 | /* LBSC */ |
92 | GPIO_FN_DB4, | 92 | GPIO_FN_BREQ, GPIO_FN_IOIS16, GPIO_FN_CE2B, GPIO_FN_CE2A, GPIO_FN_BACK, |
93 | GPIO_FN_ETH_RXD2, | 93 | |
94 | GPIO_FN_DB3, | 94 | /* FLCTL */ |
95 | GPIO_FN_ETH_RXD1, | 95 | GPIO_FN_FALE, GPIO_FN_FRB, GPIO_FN_FSTATUS, |
96 | GPIO_FN_DB2, | 96 | GPIO_FN_FSE, GPIO_FN_FCLE, |
97 | GPIO_FN_ETH_RXD0, | 97 | |
98 | GPIO_FN_DB1, | 98 | /* DMAC */ |
99 | GPIO_FN_ETH_RX_DV, | 99 | GPIO_FN_DACK0, GPIO_FN_DREQ0, GPIO_FN_DRAK0, |
100 | GPIO_FN_DB0, | 100 | GPIO_FN_DACK1, GPIO_FN_DREQ1, GPIO_FN_DRAK1, |
101 | GPIO_FN_ETH_RX_ER, | 101 | GPIO_FN_DACK2, GPIO_FN_DREQ2, GPIO_FN_DRAK2, |
102 | GPIO_FN_DCLKOUT, | 102 | GPIO_FN_DACK3, GPIO_FN_DREQ3, GPIO_FN_DRAK3, |
103 | GPIO_FN_SCIF1_SLK, | 103 | |
104 | GPIO_FN_SCIF1_RXD, | 104 | /* USB */ |
105 | GPIO_FN_SCIF1_TXD, | 105 | GPIO_FN_USB_OVC0, GPIO_FN_USB_PENC0, |
106 | GPIO_FN_DACK1, | 106 | GPIO_FN_USB_OVC1, GPIO_FN_USB_PENC1, |
107 | GPIO_FN_BACK, | 107 | |
108 | GPIO_FN_FALE, | 108 | /* HAC */ |
109 | GPIO_FN_DACK0, | ||
110 | GPIO_FN_FCLE, | ||
111 | GPIO_FN_DREQ1, | ||
112 | GPIO_FN_BREQ, | ||
113 | GPIO_FN_USB_OVC1, | ||
114 | GPIO_FN_DREQ0, | ||
115 | GPIO_FN_USB_OVC0, | ||
116 | GPIO_FN_USB_PENC1, | ||
117 | GPIO_FN_USB_PENC0, | ||
118 | GPIO_FN_HAC1_SDOUT, | ||
119 | GPIO_FN_SSI1_SDATA, | ||
120 | GPIO_FN_SDIF1CMD, | ||
121 | GPIO_FN_HAC1_SDIN, | ||
122 | GPIO_FN_SSI1_SCK, | ||
123 | GPIO_FN_SDIF1CD, | ||
124 | GPIO_FN_HAC1_SYNC, | ||
125 | GPIO_FN_SSI1_WS, | ||
126 | GPIO_FN_SDIF1WP, | ||
127 | GPIO_FN_HAC1_BITCLK, | ||
128 | GPIO_FN_SSI1_CLK, | ||
129 | GPIO_FN_SDIF1CLK, | ||
130 | GPIO_FN_HAC0_SDOUT, | ||
131 | GPIO_FN_SSI0_SDATA, | ||
132 | GPIO_FN_SDIF1D3, | ||
133 | GPIO_FN_HAC0_SDIN, | ||
134 | GPIO_FN_SSI0_SCK, | ||
135 | GPIO_FN_SDIF1D2, | ||
136 | GPIO_FN_HAC0_SYNC, | ||
137 | GPIO_FN_SSI0_WS, | ||
138 | GPIO_FN_SDIF1D1, | ||
139 | GPIO_FN_HAC0_BITCLK, | ||
140 | GPIO_FN_SSI0_CLK, | ||
141 | GPIO_FN_SDIF1D0, | ||
142 | GPIO_FN_SCIF3_SCK, | ||
143 | GPIO_FN_SSI2_SDATA, | ||
144 | GPIO_FN_SCIF3_RXD, | ||
145 | GPIO_FN_TCLK, | ||
146 | GPIO_FN_SSI2_SCK, | ||
147 | GPIO_FN_SCIF3_TXD, | ||
148 | GPIO_FN_HAC_RES, | 109 | GPIO_FN_HAC_RES, |
149 | GPIO_FN_SSI2_WS, | 110 | GPIO_FN_HAC0_SDOUT, GPIO_FN_HAC0_SDIN, |
150 | GPIO_FN_DACK3, | 111 | GPIO_FN_HAC0_SYNC, GPIO_FN_HAC0_BITCLK, |
151 | GPIO_FN_SDIF0CMD, | 112 | GPIO_FN_HAC1_SDOUT, GPIO_FN_HAC1_SDIN, |
152 | GPIO_FN_DACK2, | 113 | GPIO_FN_HAC1_SYNC, GPIO_FN_HAC1_BITCLK, |
153 | GPIO_FN_SDIF0CD, | 114 | |
154 | GPIO_FN_DREQ3, | 115 | /* SSI */ |
155 | GPIO_FN_SDIF0WP, | 116 | GPIO_FN_SSI0_SDATA, GPIO_FN_SSI0_SCK, GPIO_FN_SSI0_WS, GPIO_FN_SSI0_CLK, |
156 | GPIO_FN_SCIF0_CTS, | 117 | GPIO_FN_SSI1_SDATA, GPIO_FN_SSI1_SCK, GPIO_FN_SSI1_WS, GPIO_FN_SSI1_CLK, |
157 | GPIO_FN_DREQ2, | 118 | GPIO_FN_SSI2_SDATA, GPIO_FN_SSI2_SCK, GPIO_FN_SSI2_WS, |
158 | GPIO_FN_SDIF0CLK, | 119 | GPIO_FN_SSI3_SDATA, GPIO_FN_SSI3_SCK, GPIO_FN_SSI3_WS, |
159 | GPIO_FN_SCIF0_RTS, | 120 | |
160 | GPIO_FN_IRL7, | 121 | /* SDIF1 */ |
161 | GPIO_FN_SDIF0D3, | 122 | GPIO_FN_SDIF1CMD, GPIO_FN_SDIF1CD, GPIO_FN_SDIF1WP, GPIO_FN_SDIF1CLK, |
162 | GPIO_FN_SCIF0_SCK, | 123 | GPIO_FN_SDIF1D3, GPIO_FN_SDIF1D2, GPIO_FN_SDIF1D1, GPIO_FN_SDIF1D0, |
163 | GPIO_FN_IRL6, | 124 | |
164 | GPIO_FN_SDIF0D2, | 125 | /* SDIF0 */ |
165 | GPIO_FN_SCIF0_RXD, | 126 | GPIO_FN_SDIF0CMD, GPIO_FN_SDIF0CD, GPIO_FN_SDIF0WP, GPIO_FN_SDIF0CLK, |
166 | GPIO_FN_IRL5, | 127 | GPIO_FN_SDIF0D3, GPIO_FN_SDIF0D2, GPIO_FN_SDIF0D1, GPIO_FN_SDIF0D0, |
167 | GPIO_FN_SDIF0D1, | 128 | |
168 | GPIO_FN_SCIF0_TXD, | 129 | /* TMU */ |
169 | GPIO_FN_IRL4, | 130 | GPIO_FN_TCLK, |
170 | GPIO_FN_SDIF0D0, | 131 | |
171 | GPIO_FN_SCIF5_SCK, | 132 | /* INTC */ |
172 | GPIO_FN_FRB, | 133 | GPIO_FN_IRL7, GPIO_FN_IRL6, GPIO_FN_IRL5, GPIO_FN_IRL4, |
173 | GPIO_FN_SCIF5_RXD, | ||
174 | GPIO_FN_IOIS16, | ||
175 | GPIO_FN_SCIF5_TXD, | ||
176 | GPIO_FN_CE2B, | ||
177 | GPIO_FN_DRAK3, | ||
178 | GPIO_FN_CE2A, | ||
179 | GPIO_FN_SCIF4_SCK, | ||
180 | GPIO_FN_DRAK2, | ||
181 | GPIO_FN_SSI3_WS, | ||
182 | GPIO_FN_SCIF4_RXD, | ||
183 | GPIO_FN_DRAK1, | ||
184 | GPIO_FN_SSI3_SDATA, | ||
185 | GPIO_FN_FSTATUS, | ||
186 | GPIO_FN_SCIF4_TXD, | ||
187 | GPIO_FN_DRAK0, | ||
188 | GPIO_FN_SSI3_SCK, | ||
189 | GPIO_FN_FSE, | ||
190 | }; | 134 | }; |
191 | 135 | ||
192 | #endif /* __CPU_SH7786_H__ */ | 136 | #endif /* __CPU_SH7786_H__ */ |
diff --git a/arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c b/arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c index 373b3447bfdf..4229e0724c89 100644 --- a/arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c +++ b/arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c | |||
@@ -149,150 +149,44 @@ enum { | |||
149 | PINMUX_FUNCTION_END, | 149 | PINMUX_FUNCTION_END, |
150 | 150 | ||
151 | PINMUX_MARK_BEGIN, | 151 | PINMUX_MARK_BEGIN, |
152 | CDE_MARK, | 152 | DCLKIN_MARK, DCLKOUT_MARK, ODDF_MARK, |
153 | ETH_MAGIC_MARK, | 153 | VSYNC_MARK, HSYNC_MARK, CDE_MARK, DISP_MARK, |
154 | DISP_MARK, | 154 | DR0_MARK, DR1_MARK, DR2_MARK, DR3_MARK, DR4_MARK, DR5_MARK, |
155 | ETH_LINK_MARK, | 155 | DG0_MARK, DG1_MARK, DG2_MARK, DG3_MARK, DG4_MARK, DG5_MARK, |
156 | DR5_MARK, | 156 | DB0_MARK, DB1_MARK, DB2_MARK, DB3_MARK, DB4_MARK, DB5_MARK, |
157 | ETH_TX_ER_MARK, | 157 | ETH_MAGIC_MARK, ETH_LINK_MARK, ETH_TX_ER_MARK, ETH_TX_EN_MARK, |
158 | DR4_MARK, | 158 | ETH_MDIO_MARK, ETH_RX_CLK_MARK, ETH_MDC_MARK, ETH_COL_MARK, |
159 | ETH_TX_EN_MARK, | 159 | ETH_TX_CLK_MARK, ETH_CRS_MARK, ETH_RX_DV_MARK, ETH_RX_ER_MARK, |
160 | DR3_MARK, | 160 | ETH_TXD3_MARK, ETH_TXD2_MARK, ETH_TXD1_MARK, ETH_TXD0_MARK, |
161 | ETH_TXD3_MARK, | 161 | ETH_RXD3_MARK, ETH_RXD2_MARK, ETH_RXD1_MARK, ETH_RXD0_MARK, |
162 | DR2_MARK, | 162 | HSPI_CLK_MARK, HSPI_CS_MARK, HSPI_RX_MARK, HSPI_TX_MARK, |
163 | ETH_TXD2_MARK, | 163 | SCIF0_CTS_MARK, SCIF0_RTS_MARK, |
164 | DR1_MARK, | 164 | SCIF0_SCK_MARK, SCIF0_RXD_MARK, SCIF0_TXD_MARK, |
165 | ETH_TXD1_MARK, | 165 | SCIF1_SCK_MARK, SCIF1_RXD_MARK, SCIF1_TXD_MARK, |
166 | DR0_MARK, | 166 | SCIF3_SCK_MARK, SCIF3_RXD_MARK, SCIF3_TXD_MARK, |
167 | ETH_TXD0_MARK, | 167 | SCIF4_SCK_MARK, SCIF4_RXD_MARK, SCIF4_TXD_MARK, |
168 | 168 | SCIF5_SCK_MARK, SCIF5_RXD_MARK, SCIF5_TXD_MARK, | |
169 | VSYNC_MARK, | 169 | BREQ_MARK, IOIS16_MARK, CE2B_MARK, CE2A_MARK, BACK_MARK, |
170 | HSPI_CLK_MARK, | 170 | FALE_MARK, FRB_MARK, FSTATUS_MARK, |
171 | ODDF_MARK, | 171 | FSE_MARK, FCLE_MARK, |
172 | HSPI_CS_MARK, | 172 | DACK0_MARK, DACK1_MARK, DACK2_MARK, DACK3_MARK, |
173 | DG5_MARK, | 173 | DREQ0_MARK, DREQ1_MARK, DREQ2_MARK, DREQ3_MARK, |
174 | ETH_MDIO_MARK, | 174 | DRAK0_MARK, DRAK1_MARK, DRAK2_MARK, DRAK3_MARK, |
175 | DG4_MARK, | 175 | USB_OVC1_MARK, USB_OVC0_MARK, |
176 | ETH_RX_CLK_MARK, | 176 | USB_PENC1_MARK, USB_PENC0_MARK, |
177 | DG3_MARK, | ||
178 | ETH_MDC_MARK, | ||
179 | DG2_MARK, | ||
180 | ETH_COL_MARK, | ||
181 | DG1_MARK, | ||
182 | ETH_TX_CLK_MARK, | ||
183 | DG0_MARK, | ||
184 | ETH_CRS_MARK, | ||
185 | |||
186 | DCLKIN_MARK, | ||
187 | HSPI_RX_MARK, | ||
188 | HSYNC_MARK, | ||
189 | HSPI_TX_MARK, | ||
190 | DB5_MARK, | ||
191 | ETH_RXD3_MARK, | ||
192 | DB4_MARK, | ||
193 | ETH_RXD2_MARK, | ||
194 | DB3_MARK, | ||
195 | ETH_RXD1_MARK, | ||
196 | DB2_MARK, | ||
197 | ETH_RXD0_MARK, | ||
198 | DB1_MARK, | ||
199 | ETH_RX_DV_MARK, | ||
200 | DB0_MARK, | ||
201 | ETH_RX_ER_MARK, | ||
202 | |||
203 | DCLKOUT_MARK, | ||
204 | SCIF1_SLK_MARK, | ||
205 | SCIF1_RXD_MARK, | ||
206 | SCIF1_TXD_MARK, | ||
207 | DACK1_MARK, | ||
208 | BACK_MARK, | ||
209 | FALE_MARK, | ||
210 | DACK0_MARK, | ||
211 | FCLE_MARK, | ||
212 | DREQ1_MARK, | ||
213 | BREQ_MARK, | ||
214 | USB_OVC1_MARK, | ||
215 | DREQ0_MARK, | ||
216 | USB_OVC0_MARK, | ||
217 | |||
218 | USB_PENC1_MARK, | ||
219 | USB_PENC0_MARK, | ||
220 | |||
221 | HAC1_SDOUT_MARK, | ||
222 | SSI1_SDATA_MARK, | ||
223 | SDIF1CMD_MARK, | ||
224 | HAC1_SDIN_MARK, | ||
225 | SSI1_SCK_MARK, | ||
226 | SDIF1CD_MARK, | ||
227 | HAC1_SYNC_MARK, | ||
228 | SSI1_WS_MARK, | ||
229 | SDIF1WP_MARK, | ||
230 | HAC1_BITCLK_MARK, | ||
231 | SSI1_CLK_MARK, | ||
232 | SDIF1CLK_MARK, | ||
233 | HAC0_SDOUT_MARK, | ||
234 | SSI0_SDATA_MARK, | ||
235 | SDIF1D3_MARK, | ||
236 | HAC0_SDIN_MARK, | ||
237 | SSI0_SCK_MARK, | ||
238 | SDIF1D2_MARK, | ||
239 | HAC0_SYNC_MARK, | ||
240 | SSI0_WS_MARK, | ||
241 | SDIF1D1_MARK, | ||
242 | HAC0_BITCLK_MARK, | ||
243 | SSI0_CLK_MARK, | ||
244 | SDIF1D0_MARK, | ||
245 | |||
246 | SCIF3_SCK_MARK, | ||
247 | SSI2_SDATA_MARK, | ||
248 | SCIF3_RXD_MARK, | ||
249 | TCLK_MARK, | ||
250 | SSI2_SCK_MARK, | ||
251 | SCIF3_TXD_MARK, | ||
252 | HAC_RES_MARK, | 177 | HAC_RES_MARK, |
253 | SSI2_WS_MARK, | 178 | HAC1_SDOUT_MARK, HAC1_SDIN_MARK, HAC1_SYNC_MARK, HAC1_BITCLK_MARK, |
254 | 179 | HAC0_SDOUT_MARK, HAC0_SDIN_MARK, HAC0_SYNC_MARK, HAC0_BITCLK_MARK, | |
255 | DACK3_MARK, | 180 | SSI0_SDATA_MARK, SSI0_SCK_MARK, SSI0_WS_MARK, SSI0_CLK_MARK, |
256 | SDIF0CMD_MARK, | 181 | SSI1_SDATA_MARK, SSI1_SCK_MARK, SSI1_WS_MARK, SSI1_CLK_MARK, |
257 | DACK2_MARK, | 182 | SSI2_SDATA_MARK, SSI2_SCK_MARK, SSI2_WS_MARK, |
258 | SDIF0CD_MARK, | 183 | SSI3_SDATA_MARK, SSI3_SCK_MARK, SSI3_WS_MARK, |
259 | DREQ3_MARK, | 184 | SDIF1CMD_MARK, SDIF1CD_MARK, SDIF1WP_MARK, SDIF1CLK_MARK, |
260 | SDIF0WP_MARK, | 185 | SDIF1D3_MARK, SDIF1D2_MARK, SDIF1D1_MARK, SDIF1D0_MARK, |
261 | SCIF0_CTS_MARK, | 186 | SDIF0CMD_MARK, SDIF0CD_MARK, SDIF0WP_MARK, SDIF0CLK_MARK, |
262 | DREQ2_MARK, | 187 | SDIF0D3_MARK, SDIF0D2_MARK, SDIF0D1_MARK, SDIF0D0_MARK, |
263 | SDIF0CLK_MARK, | 188 | TCLK_MARK, |
264 | SCIF0_RTS_MARK, | 189 | IRL7_MARK, IRL6_MARK, IRL5_MARK, IRL4_MARK, |
265 | IRL7_MARK, | ||
266 | SDIF0D3_MARK, | ||
267 | SCIF0_SCK_MARK, | ||
268 | IRL6_MARK, | ||
269 | SDIF0D2_MARK, | ||
270 | SCIF0_RXD_MARK, | ||
271 | IRL5_MARK, | ||
272 | SDIF0D1_MARK, | ||
273 | SCIF0_TXD_MARK, | ||
274 | IRL4_MARK, | ||
275 | SDIF0D0_MARK, | ||
276 | |||
277 | SCIF5_SCK_MARK, | ||
278 | FRB_MARK, | ||
279 | SCIF5_RXD_MARK, | ||
280 | IOIS16_MARK, | ||
281 | SCIF5_TXD_MARK, | ||
282 | CE2B_MARK, | ||
283 | DRAK3_MARK, | ||
284 | CE2A_MARK, | ||
285 | SCIF4_SCK_MARK, | ||
286 | DRAK2_MARK, | ||
287 | SSI3_WS_MARK, | ||
288 | SCIF4_RXD_MARK, | ||
289 | DRAK1_MARK, | ||
290 | SSI3_SDATA_MARK, | ||
291 | FSTATUS_MARK, | ||
292 | SCIF4_TXD_MARK, | ||
293 | DRAK0_MARK, | ||
294 | SSI3_SCK_MARK, | ||
295 | FSE_MARK, | ||
296 | PINMUX_MARK_END, | 190 | PINMUX_MARK_END, |
297 | }; | 191 | }; |
298 | 192 | ||
@@ -377,7 +271,6 @@ static pinmux_enum_t pinmux_data[] = { | |||
377 | PINMUX_DATA(PJ1_DATA, PJ1_IN, PJ1_OUT, PJ1_IN_PU), | 271 | PINMUX_DATA(PJ1_DATA, PJ1_IN, PJ1_OUT, PJ1_IN_PU), |
378 | 272 | ||
379 | /* PA FN */ | 273 | /* PA FN */ |
380 | PINMUX_MARK_BEGIN, | ||
381 | PINMUX_DATA(CDE_MARK, P1MSEL2_0, PA7_FN), | 274 | PINMUX_DATA(CDE_MARK, P1MSEL2_0, PA7_FN), |
382 | PINMUX_DATA(DISP_MARK, P1MSEL2_0, PA6_FN), | 275 | PINMUX_DATA(DISP_MARK, P1MSEL2_0, PA6_FN), |
383 | PINMUX_DATA(DR5_MARK, P1MSEL2_0, PA5_FN), | 276 | PINMUX_DATA(DR5_MARK, P1MSEL2_0, PA5_FN), |
@@ -434,7 +327,7 @@ static pinmux_enum_t pinmux_data[] = { | |||
434 | 327 | ||
435 | /* PD FN */ | 328 | /* PD FN */ |
436 | PINMUX_DATA(DCLKOUT_MARK, PD7_FN), | 329 | PINMUX_DATA(DCLKOUT_MARK, PD7_FN), |
437 | PINMUX_DATA(SCIF1_SLK_MARK, PD6_FN), | 330 | PINMUX_DATA(SCIF1_SCK_MARK, PD6_FN), |
438 | PINMUX_DATA(SCIF1_RXD_MARK, PD5_FN), | 331 | PINMUX_DATA(SCIF1_RXD_MARK, PD5_FN), |
439 | PINMUX_DATA(SCIF1_TXD_MARK, PD4_FN), | 332 | PINMUX_DATA(SCIF1_TXD_MARK, PD4_FN), |
440 | PINMUX_DATA(DACK1_MARK, P1MSEL13_1, P1MSEL12_0, PD3_FN), | 333 | PINMUX_DATA(DACK1_MARK, P1MSEL13_1, P1MSEL12_0, PD3_FN), |
@@ -662,7 +555,7 @@ static struct pinmux_gpio pinmux_gpios[] = { | |||
662 | PINMUX_GPIO(GPIO_FN_DB0, DB0_MARK), | 555 | PINMUX_GPIO(GPIO_FN_DB0, DB0_MARK), |
663 | PINMUX_GPIO(GPIO_FN_ETH_RX_ER, ETH_RX_ER_MARK), | 556 | PINMUX_GPIO(GPIO_FN_ETH_RX_ER, ETH_RX_ER_MARK), |
664 | PINMUX_GPIO(GPIO_FN_DCLKOUT, DCLKOUT_MARK), | 557 | PINMUX_GPIO(GPIO_FN_DCLKOUT, DCLKOUT_MARK), |
665 | PINMUX_GPIO(GPIO_FN_SCIF1_SLK, SCIF1_SLK_MARK), | 558 | PINMUX_GPIO(GPIO_FN_SCIF1_SCK, SCIF1_SCK_MARK), |
666 | PINMUX_GPIO(GPIO_FN_SCIF1_RXD, SCIF1_RXD_MARK), | 559 | PINMUX_GPIO(GPIO_FN_SCIF1_RXD, SCIF1_RXD_MARK), |
667 | PINMUX_GPIO(GPIO_FN_SCIF1_TXD, SCIF1_TXD_MARK), | 560 | PINMUX_GPIO(GPIO_FN_SCIF1_TXD, SCIF1_TXD_MARK), |
668 | PINMUX_GPIO(GPIO_FN_DACK1, DACK1_MARK), | 561 | PINMUX_GPIO(GPIO_FN_DACK1, DACK1_MARK), |
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 24c60251f680..04a6004fccc4 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -103,12 +103,11 @@ static int __init early_parse_mem(char *p) | |||
103 | size = memparse(p, &p); | 103 | size = memparse(p, &p); |
104 | 104 | ||
105 | if (size > __MEMORY_SIZE) { | 105 | if (size > __MEMORY_SIZE) { |
106 | static char msg[] __initdata = KERN_ERR | 106 | printk(KERN_ERR |
107 | "Using mem= to increase the size of kernel memory " | 107 | "Using mem= to increase the size of kernel memory " |
108 | "is not allowed.\n" | 108 | "is not allowed.\n" |
109 | " Recompile the kernel with the correct value for " | 109 | " Recompile the kernel with the correct value for " |
110 | "CONFIG_MEMORY_SIZE.\n"; | 110 | "CONFIG_MEMORY_SIZE.\n"); |
111 | printk(msg); | ||
112 | return 0; | 111 | return 0; |
113 | } | 112 | } |
114 | 113 | ||