diff options
author | Simon Horman <horms+renesas@verge.net.au> | 2013-07-21 21:23:09 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-07-24 03:35:23 -0400 |
commit | 5fa6d27612635f4b3e6c19d763c0a65275933898 (patch) | |
tree | cf6241512eb44289d1def189ca577f40cad904d8 | |
parent | 4431374926363df1d907d9c8783f473eb7facf42 (diff) |
ARCH: ARM: shmobile: Remove kota2 board support
Remove support for the sh73a0 based kota2 board.
The sh73a0 SoC is continued to be supported using
the kzm9g board.
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm/configs/kota2_defconfig | 121 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Makefile.boot | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-kota2.c | 550 |
5 files changed, 0 insertions, 679 deletions
diff --git a/arch/arm/configs/kota2_defconfig b/arch/arm/configs/kota2_defconfig deleted file mode 100644 index 57ad3d47de70..000000000000 --- a/arch/arm/configs/kota2_defconfig +++ /dev/null | |||
@@ -1,121 +0,0 @@ | |||
1 | # CONFIG_ARM_PATCH_PHYS_VIRT is not set | ||
2 | CONFIG_EXPERIMENTAL=y | ||
3 | CONFIG_SYSVIPC=y | ||
4 | CONFIG_IKCONFIG=y | ||
5 | CONFIG_IKCONFIG_PROC=y | ||
6 | CONFIG_LOG_BUF_SHIFT=16 | ||
7 | CONFIG_CGROUPS=y | ||
8 | CONFIG_CPUSETS=y | ||
9 | CONFIG_NAMESPACES=y | ||
10 | # CONFIG_UTS_NS is not set | ||
11 | # CONFIG_IPC_NS is not set | ||
12 | # CONFIG_USER_NS is not set | ||
13 | # CONFIG_PID_NS is not set | ||
14 | CONFIG_SYSCTL_SYSCALL=y | ||
15 | CONFIG_EMBEDDED=y | ||
16 | CONFIG_SLAB=y | ||
17 | # CONFIG_BLK_DEV_BSG is not set | ||
18 | # CONFIG_IOSCHED_DEADLINE is not set | ||
19 | # CONFIG_IOSCHED_CFQ is not set | ||
20 | CONFIG_ARCH_SHMOBILE=y | ||
21 | CONFIG_KEYBOARD_GPIO_POLLED=y | ||
22 | CONFIG_ARCH_SH73A0=y | ||
23 | CONFIG_MACH_KOTA2=y | ||
24 | CONFIG_MEMORY_SIZE=0x1e000000 | ||
25 | # CONFIG_SH_TIMER_TMU is not set | ||
26 | # CONFIG_SWP_EMULATE is not set | ||
27 | CONFIG_CPU_BPREDICT_DISABLE=y | ||
28 | CONFIG_ARM_ERRATA_460075=y | ||
29 | CONFIG_ARM_ERRATA_742230=y | ||
30 | CONFIG_ARM_ERRATA_742231=y | ||
31 | CONFIG_PL310_ERRATA_588369=y | ||
32 | CONFIG_ARM_ERRATA_720789=y | ||
33 | CONFIG_PL310_ERRATA_727915=y | ||
34 | CONFIG_ARM_ERRATA_743622=y | ||
35 | CONFIG_ARM_ERRATA_751472=y | ||
36 | CONFIG_PL310_ERRATA_753970=y | ||
37 | CONFIG_ARM_ERRATA_754322=y | ||
38 | CONFIG_PL310_ERRATA_769419=y | ||
39 | CONFIG_NO_HZ=y | ||
40 | CONFIG_SMP=y | ||
41 | CONFIG_AEABI=y | ||
42 | # CONFIG_OABI_COMPAT is not set | ||
43 | CONFIG_HIGHMEM=y | ||
44 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
45 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
46 | CONFIG_CMDLINE="console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel" | ||
47 | CONFIG_CMDLINE_FORCE=y | ||
48 | CONFIG_KEXEC=y | ||
49 | CONFIG_CPU_IDLE=y | ||
50 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
51 | CONFIG_PM_RUNTIME=y | ||
52 | CONFIG_NET=y | ||
53 | CONFIG_PACKET=y | ||
54 | CONFIG_UNIX=y | ||
55 | CONFIG_INET=y | ||
56 | CONFIG_IP_PNP=y | ||
57 | CONFIG_IP_PNP_DHCP=y | ||
58 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
59 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
60 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
61 | # CONFIG_INET_LRO is not set | ||
62 | # CONFIG_INET_DIAG is not set | ||
63 | # CONFIG_IPV6 is not set | ||
64 | CONFIG_CFG80211=y | ||
65 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
66 | CONFIG_MAC80211=y | ||
67 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
68 | # CONFIG_BLK_DEV is not set | ||
69 | CONFIG_NETDEVICES=y | ||
70 | # CONFIG_NET_VENDOR_BROADCOM is not set | ||
71 | # CONFIG_NET_VENDOR_CHELSIO is not set | ||
72 | # CONFIG_NET_VENDOR_FARADAY is not set | ||
73 | # CONFIG_NET_VENDOR_INTEL is not set | ||
74 | # CONFIG_NET_VENDOR_MARVELL is not set | ||
75 | # CONFIG_NET_VENDOR_MICREL is not set | ||
76 | # CONFIG_NET_VENDOR_NATSEMI is not set | ||
77 | # CONFIG_NET_VENDOR_SEEQ is not set | ||
78 | CONFIG_SMSC911X=y | ||
79 | # CONFIG_NET_VENDOR_STMICRO is not set | ||
80 | CONFIG_B43=y | ||
81 | CONFIG_B43_PHY_N=y | ||
82 | CONFIG_B43_DEBUG=y | ||
83 | CONFIG_INPUT_SPARSEKMAP=y | ||
84 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
85 | CONFIG_INPUT_EVDEV=y | ||
86 | # CONFIG_KEYBOARD_ATKBD is not set | ||
87 | CONFIG_KEYBOARD_GPIO=y | ||
88 | CONFIG_KEYBOARD_SH_KEYSC=y | ||
89 | # CONFIG_INPUT_MOUSE is not set | ||
90 | # CONFIG_LEGACY_PTYS is not set | ||
91 | CONFIG_SERIAL_SH_SCI=y | ||
92 | CONFIG_SERIAL_SH_SCI_NR_UARTS=9 | ||
93 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
94 | # CONFIG_HW_RANDOM is not set | ||
95 | CONFIG_I2C_SH_MOBILE=y | ||
96 | # CONFIG_HWMON is not set | ||
97 | CONFIG_BCMA=y | ||
98 | CONFIG_BCMA_DEBUG=y | ||
99 | CONFIG_FB=y | ||
100 | CONFIG_FB_SH_MOBILE_LCDC=y | ||
101 | CONFIG_LCD_PLATFORM=y | ||
102 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
103 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | ||
104 | # CONFIG_HID_SUPPORT is not set | ||
105 | # CONFIG_USB_SUPPORT is not set | ||
106 | CONFIG_MMC=y | ||
107 | CONFIG_MMC_SDHI=y | ||
108 | CONFIG_MMC_SH_MMCIF=y | ||
109 | CONFIG_NEW_LEDS=y | ||
110 | CONFIG_LEDS_CLASS=y | ||
111 | CONFIG_LEDS_GPIO=y | ||
112 | CONFIG_LEDS_RENESAS_TPU=y | ||
113 | CONFIG_LEDS_TRIGGERS=y | ||
114 | # CONFIG_DNOTIFY is not set | ||
115 | CONFIG_TMPFS=y | ||
116 | # CONFIG_MISC_FILESYSTEMS is not set | ||
117 | CONFIG_MAGIC_SYSRQ=y | ||
118 | CONFIG_DEBUG_INFO=y | ||
119 | CONFIG_DEBUG_INFO_REDUCED=y | ||
120 | # CONFIG_FTRACE is not set | ||
121 | CONFIG_DEBUG_USER=y | ||
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index dd80f215feeb..c536cca9fdcb 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -91,12 +91,6 @@ config MACH_MACKEREL | |||
91 | select SND_SOC_AK4642 if SND_SIMPLE_CARD | 91 | select SND_SOC_AK4642 if SND_SIMPLE_CARD |
92 | select USE_OF | 92 | select USE_OF |
93 | 93 | ||
94 | config MACH_KOTA2 | ||
95 | bool "KOTA2 board" | ||
96 | depends on ARCH_SH73A0 | ||
97 | select ARCH_REQUIRE_GPIOLIB | ||
98 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
99 | |||
100 | config MACH_ARMADILLO800EVA | 94 | config MACH_ARMADILLO800EVA |
101 | bool "Armadillo-800 EVA board" | 95 | bool "Armadillo-800 EVA board" |
102 | depends on ARCH_R8A7740 | 96 | depends on ARCH_R8A7740 |
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index e8d0a2c904a0..857a09d3ea11 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -38,7 +38,6 @@ obj-$(CONFIG_ARCH_SH73A0) += pm-sh73a0.o | |||
38 | obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o | 38 | obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o |
39 | obj-$(CONFIG_MACH_APE6EVM) += board-ape6evm.o | 39 | obj-$(CONFIG_MACH_APE6EVM) += board-ape6evm.o |
40 | obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o | 40 | obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o |
41 | obj-$(CONFIG_MACH_KOTA2) += board-kota2.o | ||
42 | obj-$(CONFIG_MACH_BOCKW) += board-bockw.o | 41 | obj-$(CONFIG_MACH_BOCKW) += board-bockw.o |
43 | obj-$(CONFIG_MACH_MARZEN) += board-marzen.o | 42 | obj-$(CONFIG_MACH_MARZEN) += board-marzen.o |
44 | obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o | 43 | obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o |
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot index 7785c52b5cfd..9156c56aee80 100644 --- a/arch/arm/mach-shmobile/Makefile.boot +++ b/arch/arm/mach-shmobile/Makefile.boot | |||
@@ -5,7 +5,6 @@ loadaddr-$(CONFIG_MACH_APE6EVM) += 0x40008000 | |||
5 | loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000 | 5 | loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000 |
6 | loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += 0x40008000 | 6 | loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += 0x40008000 |
7 | loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 | 7 | loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 |
8 | loadaddr-$(CONFIG_MACH_KOTA2) += 0x41008000 | ||
9 | loadaddr-$(CONFIG_MACH_KZM9D) += 0x40008000 | 8 | loadaddr-$(CONFIG_MACH_KZM9D) += 0x40008000 |
10 | loadaddr-$(CONFIG_MACH_KZM9D_REFERENCE) += 0x40008000 | 9 | loadaddr-$(CONFIG_MACH_KZM9D_REFERENCE) += 0x40008000 |
11 | loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 | 10 | loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 |
diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c deleted file mode 100644 index 6af20d909bdb..000000000000 --- a/arch/arm/mach-shmobile/board-kota2.c +++ /dev/null | |||
@@ -1,550 +0,0 @@ | |||
1 | /* | ||
2 | * kota2 board support | ||
3 | * | ||
4 | * Copyright (C) 2011 Renesas Solutions Corp. | ||
5 | * Copyright (C) 2011 Magnus Damm | ||
6 | * Copyright (C) 2010 Takashi Yoshii <yoshii.takashi.zj@renesas.com> | ||
7 | * Copyright (C) 2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; version 2 of the License. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | ||
22 | |||
23 | #include <linux/kernel.h> | ||
24 | #include <linux/init.h> | ||
25 | #include <linux/interrupt.h> | ||
26 | #include <linux/irq.h> | ||
27 | #include <linux/pinctrl/machine.h> | ||
28 | #include <linux/pinctrl/pinconf-generic.h> | ||
29 | #include <linux/platform_data/pwm-renesas-tpu.h> | ||
30 | #include <linux/platform_device.h> | ||
31 | #include <linux/delay.h> | ||
32 | #include <linux/io.h> | ||
33 | #include <linux/regulator/fixed.h> | ||
34 | #include <linux/regulator/machine.h> | ||
35 | #include <linux/smsc911x.h> | ||
36 | #include <linux/gpio.h> | ||
37 | #include <linux/input.h> | ||
38 | #include <linux/input/sh_keysc.h> | ||
39 | #include <linux/gpio_keys.h> | ||
40 | #include <linux/leds.h> | ||
41 | #include <linux/leds_pwm.h> | ||
42 | #include <linux/irqchip/arm-gic.h> | ||
43 | #include <linux/mmc/host.h> | ||
44 | #include <linux/mmc/sh_mmcif.h> | ||
45 | #include <linux/mfd/tmio.h> | ||
46 | #include <linux/mmc/sh_mobile_sdhi.h> | ||
47 | #include <mach/hardware.h> | ||
48 | #include <mach/irqs.h> | ||
49 | #include <mach/sh73a0.h> | ||
50 | #include <mach/common.h> | ||
51 | #include <asm/mach-types.h> | ||
52 | #include <asm/mach/arch.h> | ||
53 | #include <asm/mach/time.h> | ||
54 | #include <asm/hardware/cache-l2x0.h> | ||
55 | #include <asm/traps.h> | ||
56 | |||
57 | /* Dummy supplies, where voltage doesn't matter */ | ||
58 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
59 | REGULATOR_SUPPLY("vddvario", "smsc911x"), | ||
60 | REGULATOR_SUPPLY("vdd33a", "smsc911x"), | ||
61 | }; | ||
62 | |||
63 | /* SMSC 9220 */ | ||
64 | static struct resource smsc9220_resources[] = { | ||
65 | [0] = { | ||
66 | .start = 0x14000000, /* CS5A */ | ||
67 | .end = 0x140000ff, /* A1->A7 */ | ||
68 | .flags = IORESOURCE_MEM, | ||
69 | }, | ||
70 | [1] = { | ||
71 | .start = SH73A0_PINT0_IRQ(2), /* PINTA2 */ | ||
72 | .flags = IORESOURCE_IRQ, | ||
73 | }, | ||
74 | }; | ||
75 | |||
76 | static struct smsc911x_platform_config smsc9220_platdata = { | ||
77 | .flags = SMSC911X_USE_32BIT, /* 32-bit SW on 16-bit HW bus */ | ||
78 | .phy_interface = PHY_INTERFACE_MODE_MII, | ||
79 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | ||
80 | .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL, | ||
81 | }; | ||
82 | |||
83 | static struct platform_device eth_device = { | ||
84 | .name = "smsc911x", | ||
85 | .id = 0, | ||
86 | .dev = { | ||
87 | .platform_data = &smsc9220_platdata, | ||
88 | }, | ||
89 | .resource = smsc9220_resources, | ||
90 | .num_resources = ARRAY_SIZE(smsc9220_resources), | ||
91 | }; | ||
92 | |||
93 | /* KEYSC */ | ||
94 | static struct sh_keysc_info keysc_platdata = { | ||
95 | .mode = SH_KEYSC_MODE_6, | ||
96 | .scan_timing = 3, | ||
97 | .delay = 100, | ||
98 | .keycodes = { | ||
99 | KEY_NUMERIC_STAR, KEY_NUMERIC_0, KEY_NUMERIC_POUND, | ||
100 | 0, 0, 0, 0, 0, | ||
101 | KEY_NUMERIC_7, KEY_NUMERIC_8, KEY_NUMERIC_9, | ||
102 | 0, KEY_DOWN, 0, 0, 0, | ||
103 | KEY_NUMERIC_4, KEY_NUMERIC_5, KEY_NUMERIC_6, | ||
104 | KEY_LEFT, KEY_ENTER, KEY_RIGHT, 0, 0, | ||
105 | KEY_NUMERIC_1, KEY_NUMERIC_2, KEY_NUMERIC_3, | ||
106 | 0, KEY_UP, 0, 0, 0, | ||
107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
111 | }, | ||
112 | }; | ||
113 | |||
114 | static struct resource keysc_resources[] = { | ||
115 | [0] = { | ||
116 | .name = "KEYSC", | ||
117 | .start = 0xe61b0000, | ||
118 | .end = 0xe61b0098 - 1, | ||
119 | .flags = IORESOURCE_MEM, | ||
120 | }, | ||
121 | [1] = { | ||
122 | .start = gic_spi(71), | ||
123 | .flags = IORESOURCE_IRQ, | ||
124 | }, | ||
125 | }; | ||
126 | |||
127 | static struct platform_device keysc_device = { | ||
128 | .name = "sh_keysc", | ||
129 | .id = 0, | ||
130 | .num_resources = ARRAY_SIZE(keysc_resources), | ||
131 | .resource = keysc_resources, | ||
132 | .dev = { | ||
133 | .platform_data = &keysc_platdata, | ||
134 | }, | ||
135 | }; | ||
136 | |||
137 | /* GPIO KEY */ | ||
138 | #define GPIO_KEY(c, g, d) { .code = c, .gpio = g, .desc = d, .active_low = 1 } | ||
139 | |||
140 | static struct gpio_keys_button gpio_buttons[] = { | ||
141 | GPIO_KEY(KEY_VOLUMEUP, 56, "+"), /* S2: VOL+ [IRQ9] */ | ||
142 | GPIO_KEY(KEY_VOLUMEDOWN, 54, "-"), /* S3: VOL- [IRQ10] */ | ||
143 | GPIO_KEY(KEY_MENU, 27, "Menu"), /* S4: MENU [IRQ30] */ | ||
144 | GPIO_KEY(KEY_HOMEPAGE, 26, "Home"), /* S5: HOME [IRQ31] */ | ||
145 | GPIO_KEY(KEY_BACK, 11, "Back"), /* S6: BACK [IRQ0] */ | ||
146 | GPIO_KEY(KEY_PHONE, 238, "Tel"), /* S7: TEL [IRQ11] */ | ||
147 | GPIO_KEY(KEY_POWER, 239, "C1"), /* S8: CAM [IRQ13] */ | ||
148 | GPIO_KEY(KEY_MAIL, 224, "Mail"), /* S9: MAIL [IRQ3] */ | ||
149 | /* Omitted button "C3?": 223 - S10: CUST [IRQ8] */ | ||
150 | GPIO_KEY(KEY_CAMERA, 164, "C2"), /* S11: CAM_HALF [IRQ25] */ | ||
151 | /* Omitted button "?": 152 - S12: CAM_FULL [No IRQ] */ | ||
152 | }; | ||
153 | |||
154 | static struct gpio_keys_platform_data gpio_key_info = { | ||
155 | .buttons = gpio_buttons, | ||
156 | .nbuttons = ARRAY_SIZE(gpio_buttons), | ||
157 | }; | ||
158 | |||
159 | static struct platform_device gpio_keys_device = { | ||
160 | .name = "gpio-keys", | ||
161 | .id = -1, | ||
162 | .dev = { | ||
163 | .platform_data = &gpio_key_info, | ||
164 | }, | ||
165 | }; | ||
166 | |||
167 | /* GPIO LED */ | ||
168 | #define GPIO_LED(n, g) { .name = n, .gpio = g } | ||
169 | |||
170 | static struct gpio_led gpio_leds[] = { | ||
171 | GPIO_LED("G", 20), /* PORT20 [GPO0] -> LED7 -> "G" */ | ||
172 | GPIO_LED("H", 21), /* PORT21 [GPO1] -> LED8 -> "H" */ | ||
173 | GPIO_LED("J", 22), /* PORT22 [GPO2] -> LED9 -> "J" */ | ||
174 | }; | ||
175 | |||
176 | static struct gpio_led_platform_data gpio_leds_info = { | ||
177 | .leds = gpio_leds, | ||
178 | .num_leds = ARRAY_SIZE(gpio_leds), | ||
179 | }; | ||
180 | |||
181 | static struct platform_device gpio_leds_device = { | ||
182 | .name = "leds-gpio", | ||
183 | .id = -1, | ||
184 | .dev = { | ||
185 | .platform_data = &gpio_leds_info, | ||
186 | }, | ||
187 | }; | ||
188 | |||
189 | /* TPU LED */ | ||
190 | static struct resource tpu1_pwm_resources[] = { | ||
191 | [0] = { | ||
192 | .start = 0xe6610000, | ||
193 | .end = 0xe66100ff, | ||
194 | .flags = IORESOURCE_MEM, | ||
195 | }, | ||
196 | }; | ||
197 | |||
198 | static struct platform_device tpu1_pwm_device = { | ||
199 | .name = "renesas-tpu-pwm", | ||
200 | .id = 1, | ||
201 | .num_resources = ARRAY_SIZE(tpu1_pwm_resources), | ||
202 | .resource = tpu1_pwm_resources, | ||
203 | }; | ||
204 | |||
205 | static struct resource tpu2_pwm_resources[] = { | ||
206 | [0] = { | ||
207 | .start = 0xe6620000, | ||
208 | .end = 0xe66200ff, | ||
209 | .flags = IORESOURCE_MEM, | ||
210 | }, | ||
211 | }; | ||
212 | |||
213 | static struct platform_device tpu2_pwm_device = { | ||
214 | .name = "renesas-tpu-pwm", | ||
215 | .id = 2, | ||
216 | .num_resources = ARRAY_SIZE(tpu2_pwm_resources), | ||
217 | .resource = tpu2_pwm_resources, | ||
218 | }; | ||
219 | |||
220 | static struct resource tpu3_pwm_resources[] = { | ||
221 | [0] = { | ||
222 | .start = 0xe6630000, | ||
223 | .end = 0xe66300ff, | ||
224 | .flags = IORESOURCE_MEM, | ||
225 | }, | ||
226 | }; | ||
227 | |||
228 | static struct platform_device tpu3_pwm_device = { | ||
229 | .name = "renesas-tpu-pwm", | ||
230 | .id = 3, | ||
231 | .num_resources = ARRAY_SIZE(tpu3_pwm_resources), | ||
232 | .resource = tpu3_pwm_resources, | ||
233 | }; | ||
234 | |||
235 | static struct resource tpu4_pwm_resources[] = { | ||
236 | [0] = { | ||
237 | .start = 0xe6640000, | ||
238 | .end = 0xe66400ff, | ||
239 | .flags = IORESOURCE_MEM, | ||
240 | }, | ||
241 | }; | ||
242 | |||
243 | static struct platform_device tpu4_pwm_device = { | ||
244 | .name = "renesas-tpu-pwm", | ||
245 | .id = 4, | ||
246 | .num_resources = ARRAY_SIZE(tpu4_pwm_resources), | ||
247 | .resource = tpu4_pwm_resources, | ||
248 | }; | ||
249 | |||
250 | static struct pwm_lookup pwm_lookup[] = { | ||
251 | PWM_LOOKUP("renesas-tpu-pwm.1", 2, "leds-pwm.0", "V2513"), | ||
252 | PWM_LOOKUP("renesas-tpu-pwm.2", 1, "leds-pwm.0", "V2515"), | ||
253 | PWM_LOOKUP("renesas-tpu-pwm.3", 0, "leds-pwm.0", "KEYLED"), | ||
254 | PWM_LOOKUP("renesas-tpu-pwm.4", 1, "leds-pwm.0", "V2514"), | ||
255 | }; | ||
256 | |||
257 | static struct led_pwm tpu_pwm_leds[] = { | ||
258 | { | ||
259 | .name = "V2513", | ||
260 | .max_brightness = 1000, | ||
261 | }, { | ||
262 | .name = "V2515", | ||
263 | .max_brightness = 1000, | ||
264 | }, { | ||
265 | .name = "KEYLED", | ||
266 | .max_brightness = 1000, | ||
267 | }, { | ||
268 | .name = "V2514", | ||
269 | .max_brightness = 1000, | ||
270 | }, | ||
271 | }; | ||
272 | |||
273 | static struct led_pwm_platform_data leds_pwm_pdata = { | ||
274 | .num_leds = ARRAY_SIZE(tpu_pwm_leds), | ||
275 | .leds = tpu_pwm_leds, | ||
276 | }; | ||
277 | |||
278 | static struct platform_device leds_pwm_device = { | ||
279 | .name = "leds-pwm", | ||
280 | .id = 0, | ||
281 | .dev = { | ||
282 | .platform_data = &leds_pwm_pdata, | ||
283 | }, | ||
284 | }; | ||
285 | |||
286 | /* Fixed 1.8V regulator to be used by MMCIF */ | ||
287 | static struct regulator_consumer_supply fixed1v8_power_consumers[] = | ||
288 | { | ||
289 | REGULATOR_SUPPLY("vmmc", "sh_mmcif.0"), | ||
290 | REGULATOR_SUPPLY("vqmmc", "sh_mmcif.0"), | ||
291 | }; | ||
292 | |||
293 | /* MMCIF */ | ||
294 | static struct resource mmcif_resources[] = { | ||
295 | [0] = { | ||
296 | .name = "MMCIF", | ||
297 | .start = 0xe6bd0000, | ||
298 | .end = 0xe6bd00ff, | ||
299 | .flags = IORESOURCE_MEM, | ||
300 | }, | ||
301 | [1] = { | ||
302 | .start = gic_spi(140), | ||
303 | .flags = IORESOURCE_IRQ, | ||
304 | }, | ||
305 | [2] = { | ||
306 | .start = gic_spi(141), | ||
307 | .flags = IORESOURCE_IRQ, | ||
308 | }, | ||
309 | }; | ||
310 | |||
311 | static struct sh_mmcif_plat_data mmcif_info = { | ||
312 | .ocr = MMC_VDD_165_195, | ||
313 | .caps = MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE, | ||
314 | }; | ||
315 | |||
316 | static struct platform_device mmcif_device = { | ||
317 | .name = "sh_mmcif", | ||
318 | .id = 0, | ||
319 | .dev = { | ||
320 | .platform_data = &mmcif_info, | ||
321 | }, | ||
322 | .num_resources = ARRAY_SIZE(mmcif_resources), | ||
323 | .resource = mmcif_resources, | ||
324 | }; | ||
325 | |||
326 | /* Fixed 3.3V regulator to be used by SDHI0 and SDHI1 */ | ||
327 | static struct regulator_consumer_supply fixed3v3_power_consumers[] = | ||
328 | { | ||
329 | REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"), | ||
330 | REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), | ||
331 | REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.1"), | ||
332 | REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.1"), | ||
333 | }; | ||
334 | |||
335 | /* SDHI0 */ | ||
336 | static struct sh_mobile_sdhi_info sdhi0_info = { | ||
337 | .tmio_caps = MMC_CAP_SD_HIGHSPEED, | ||
338 | .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT, | ||
339 | }; | ||
340 | |||
341 | static struct resource sdhi0_resources[] = { | ||
342 | [0] = { | ||
343 | .name = "SDHI0", | ||
344 | .start = 0xee100000, | ||
345 | .end = 0xee1000ff, | ||
346 | .flags = IORESOURCE_MEM, | ||
347 | }, | ||
348 | [1] = { | ||
349 | .start = gic_spi(83), | ||
350 | .flags = IORESOURCE_IRQ, | ||
351 | }, | ||
352 | [2] = { | ||
353 | .start = gic_spi(84), | ||
354 | .flags = IORESOURCE_IRQ, | ||
355 | }, | ||
356 | [3] = { | ||
357 | .start = gic_spi(85), | ||
358 | .flags = IORESOURCE_IRQ, | ||
359 | }, | ||
360 | }; | ||
361 | |||
362 | static struct platform_device sdhi0_device = { | ||
363 | .name = "sh_mobile_sdhi", | ||
364 | .id = 0, | ||
365 | .num_resources = ARRAY_SIZE(sdhi0_resources), | ||
366 | .resource = sdhi0_resources, | ||
367 | .dev = { | ||
368 | .platform_data = &sdhi0_info, | ||
369 | }, | ||
370 | }; | ||
371 | |||
372 | /* SDHI1 */ | ||
373 | static struct sh_mobile_sdhi_info sdhi1_info = { | ||
374 | .tmio_caps = MMC_CAP_NONREMOVABLE | MMC_CAP_SDIO_IRQ, | ||
375 | .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT, | ||
376 | }; | ||
377 | |||
378 | static struct resource sdhi1_resources[] = { | ||
379 | [0] = { | ||
380 | .name = "SDHI1", | ||
381 | .start = 0xee120000, | ||
382 | .end = 0xee1200ff, | ||
383 | .flags = IORESOURCE_MEM, | ||
384 | }, | ||
385 | [1] = { | ||
386 | .start = gic_spi(87), | ||
387 | .flags = IORESOURCE_IRQ, | ||
388 | }, | ||
389 | [2] = { | ||
390 | .start = gic_spi(88), | ||
391 | .flags = IORESOURCE_IRQ, | ||
392 | }, | ||
393 | [3] = { | ||
394 | .start = gic_spi(89), | ||
395 | .flags = IORESOURCE_IRQ, | ||
396 | }, | ||
397 | }; | ||
398 | |||
399 | static struct platform_device sdhi1_device = { | ||
400 | .name = "sh_mobile_sdhi", | ||
401 | .id = 1, | ||
402 | .num_resources = ARRAY_SIZE(sdhi1_resources), | ||
403 | .resource = sdhi1_resources, | ||
404 | .dev = { | ||
405 | .platform_data = &sdhi1_info, | ||
406 | }, | ||
407 | }; | ||
408 | |||
409 | static struct platform_device *kota2_devices[] __initdata = { | ||
410 | ð_device, | ||
411 | &keysc_device, | ||
412 | &gpio_keys_device, | ||
413 | &gpio_leds_device, | ||
414 | &tpu1_pwm_device, | ||
415 | &tpu2_pwm_device, | ||
416 | &tpu3_pwm_device, | ||
417 | &tpu4_pwm_device, | ||
418 | &leds_pwm_device, | ||
419 | &mmcif_device, | ||
420 | &sdhi0_device, | ||
421 | &sdhi1_device, | ||
422 | }; | ||
423 | |||
424 | static unsigned long pin_pullup_conf[] = { | ||
425 | PIN_CONF_PACKED(PIN_CONFIG_BIAS_PULL_UP, 0), | ||
426 | }; | ||
427 | |||
428 | static const struct pinctrl_map kota2_pinctrl_map[] = { | ||
429 | /* KEYSC */ | ||
430 | PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
431 | "keysc_in8", "keysc"), | ||
432 | PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
433 | "keysc_out04", "keysc"), | ||
434 | PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
435 | "keysc_out5", "keysc"), | ||
436 | PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
437 | "keysc_out6_0", "keysc"), | ||
438 | PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
439 | "keysc_out7_0", "keysc"), | ||
440 | PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
441 | "keysc_out8_0", "keysc"), | ||
442 | PIN_MAP_CONFIGS_GROUP_DEFAULT("sh_keysc.0", "pfc-sh73a0", | ||
443 | "keysc_in8", pin_pullup_conf), | ||
444 | /* MMCIF */ | ||
445 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
446 | "mmc0_data8_0", "mmc0"), | ||
447 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
448 | "mmc0_ctrl_0", "mmc0"), | ||
449 | PIN_MAP_CONFIGS_PIN_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
450 | "PORT279", pin_pullup_conf), | ||
451 | PIN_MAP_CONFIGS_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh73a0", | ||
452 | "mmc0_data8_0", pin_pullup_conf), | ||
453 | /* SCIFA2 (UART2) */ | ||
454 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.2", "pfc-sh73a0", | ||
455 | "scifa2_data_0", "scifa2"), | ||
456 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.2", "pfc-sh73a0", | ||
457 | "scifa2_ctrl_0", "scifa2"), | ||
458 | /* SCIFA4 (UART1) */ | ||
459 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0", | ||
460 | "scifa4_data", "scifa4"), | ||
461 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0", | ||
462 | "scifa4_ctrl", "scifa4"), | ||
463 | /* SCIFB (BT) */ | ||
464 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.8", "pfc-sh73a0", | ||
465 | "scifb_data_0", "scifb"), | ||
466 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.8", "pfc-sh73a0", | ||
467 | "scifb_clk_0", "scifb"), | ||
468 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.8", "pfc-sh73a0", | ||
469 | "scifb_ctrl_0", "scifb"), | ||
470 | /* SDHI0 (microSD) */ | ||
471 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
472 | "sdhi0_data4", "sdhi0"), | ||
473 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
474 | "sdhi0_ctrl", "sdhi0"), | ||
475 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
476 | "sdhi0_cd", "sdhi0"), | ||
477 | PIN_MAP_CONFIGS_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
478 | "sdhi0_data4", pin_pullup_conf), | ||
479 | PIN_MAP_CONFIGS_PIN_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
480 | "PORT256", pin_pullup_conf), | ||
481 | PIN_MAP_CONFIGS_PIN_DEFAULT("sh_mobile_sdhi.0", "pfc-sh73a0", | ||
482 | "PORT251", pin_pullup_conf), | ||
483 | /* SDHI1 (BCM4330) */ | ||
484 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-sh73a0", | ||
485 | "sdhi1_data4", "sdhi1"), | ||
486 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-sh73a0", | ||
487 | "sdhi1_ctrl", "sdhi1"), | ||
488 | PIN_MAP_CONFIGS_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-sh73a0", | ||
489 | "sdhi1_data4", pin_pullup_conf), | ||
490 | PIN_MAP_CONFIGS_PIN_DEFAULT("sh_mobile_sdhi.1", "pfc-sh73a0", | ||
491 | "PORT263", pin_pullup_conf), | ||
492 | /* SMSC911X */ | ||
493 | PIN_MAP_MUX_GROUP_DEFAULT("smsc911x.0", "pfc-sh73a0", | ||
494 | "bsc_data_0_7", "bsc"), | ||
495 | PIN_MAP_MUX_GROUP_DEFAULT("smsc911x.0", "pfc-sh73a0", | ||
496 | "bsc_data_8_15", "bsc"), | ||
497 | PIN_MAP_MUX_GROUP_DEFAULT("smsc911x.0", "pfc-sh73a0", | ||
498 | "bsc_cs5_a", "bsc"), | ||
499 | PIN_MAP_MUX_GROUP_DEFAULT("smsc911x.0", "pfc-sh73a0", | ||
500 | "bsc_we0", "bsc"), | ||
501 | /* TPU */ | ||
502 | PIN_MAP_MUX_GROUP_DEFAULT("renesas-tpu-pwm.1", "pfc-sh73a0", | ||
503 | "tpu1_to2", "tpu1"), | ||
504 | PIN_MAP_MUX_GROUP_DEFAULT("renesas-tpu-pwm.2", "pfc-sh73a0", | ||
505 | "tpu2_to1", "tpu2"), | ||
506 | PIN_MAP_MUX_GROUP_DEFAULT("renesas-tpu-pwm.3", "pfc-sh73a0", | ||
507 | "tpu3_to0", "tpu3"), | ||
508 | PIN_MAP_MUX_GROUP_DEFAULT("renesas-tpu-pwm.4", "pfc-sh73a0", | ||
509 | "tpu4_to1", "tpu4"), | ||
510 | }; | ||
511 | |||
512 | static void __init kota2_init(void) | ||
513 | { | ||
514 | regulator_register_always_on(0, "fixed-1.8V", fixed1v8_power_consumers, | ||
515 | ARRAY_SIZE(fixed1v8_power_consumers), 1800000); | ||
516 | regulator_register_always_on(1, "fixed-3.3V", fixed3v3_power_consumers, | ||
517 | ARRAY_SIZE(fixed3v3_power_consumers), 3300000); | ||
518 | regulator_register_fixed(2, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
519 | |||
520 | pinctrl_register_mappings(kota2_pinctrl_map, | ||
521 | ARRAY_SIZE(kota2_pinctrl_map)); | ||
522 | pwm_add_table(pwm_lookup, ARRAY_SIZE(pwm_lookup)); | ||
523 | |||
524 | sh73a0_pinmux_init(); | ||
525 | |||
526 | /* SMSC911X */ | ||
527 | gpio_request_one(144, GPIOF_IN, NULL); /* PINTA2 */ | ||
528 | gpio_request_one(145, GPIOF_OUT_INIT_HIGH, NULL); /* RESET */ | ||
529 | |||
530 | /* MMCIF */ | ||
531 | gpio_request_one(208, GPIOF_OUT_INIT_HIGH, NULL); /* Reset */ | ||
532 | |||
533 | #ifdef CONFIG_CACHE_L2X0 | ||
534 | /* Early BRESP enable, Shared attribute override enable, 64K*8way */ | ||
535 | l2x0_init(IOMEM(0xf0100000), 0x40460000, 0x82000fff); | ||
536 | #endif | ||
537 | sh73a0_add_standard_devices(); | ||
538 | platform_add_devices(kota2_devices, ARRAY_SIZE(kota2_devices)); | ||
539 | } | ||
540 | |||
541 | MACHINE_START(KOTA2, "kota2") | ||
542 | .smp = smp_ops(sh73a0_smp_ops), | ||
543 | .map_io = sh73a0_map_io, | ||
544 | .init_early = sh73a0_add_early_devices, | ||
545 | .nr_irqs = NR_IRQS_LEGACY, | ||
546 | .init_irq = sh73a0_init_irq, | ||
547 | .init_machine = kota2_init, | ||
548 | .init_late = shmobile_init_late, | ||
549 | .init_time = sh73a0_earlytimer_init, | ||
550 | MACHINE_END | ||