diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-05 17:44:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-05 17:44:13 -0400 |
commit | 930b440cd8256f3861bdb0a59d26efaadac7941a (patch) | |
tree | 145ac54e152834fed7bce78b3eb33e8ea4d90226 /arch/arm | |
parent | ff050ad12c551233e546506409c89eb2f640d9f3 (diff) | |
parent | 077492acceeafc0a106f88b0780623d2321a8947 (diff) |
Merge tag 'boards-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board changes from Arnd Bergmann:
"As we continue to replace board files with device tree descriptions,
this part of the ARM support is getting smaller. We have basically
just defconfig changes here this time, and a significant number of
Renesas shmobile changes, as Renesas is still in the process of
deprecating board file support"
* tag 'boards-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
ARM: enable fhandle in multi_v7_defconfig
ARM: tegra: enable fhandle in tegra_defconfig
ARM: update multi_v7_defconfig for Tegra
ARM: add Marvell Dove and some drivers to multi_v7 defconfig
ARM: fix duplicate symbols in multi_v5_defconfig
ARM: pxa: add gpio keys information
ARM: tegra: defconfig updates
ARM: config: keystone: enable AEMIF/NAND support
ARM: qcom: Enable basic support for Qualcomm platforms in multi_v7_defconfig
ARM: kirkwood: Add HP T5325 devices to {multi|mvebu}_v5_defconfig
ARM: config: Add mvebu_v5_defconfig
ARM: config: Add a multi_v5_defconfig
ARM: shmobile: r7s72100: update defconfig for I2C usage
ARM: shmobile: Remove Lager DT reference legacy clock bits
ARM: shmobile: Remove Koelsch DT reference legacy clock bits
ARM: shmobile: Remove KZM9D board code
ARM: mvebu: update defconfigs for Armada 375 and 38x
ARM: dove: Enable watchdog support in the defconfig
ARM: mvebu: Enable watchdog support in defconfig
ARM: config: keystone: enable led support
...
Diffstat (limited to 'arch/arm')
34 files changed, 2196 insertions, 216 deletions
diff --git a/arch/arm/boot/dts/r8a7778-bockw-reference.dts b/arch/arm/boot/dts/r8a7778-bockw-reference.dts index bb62c7a906f4..06cda19dac6a 100644 --- a/arch/arm/boot/dts/r8a7778-bockw-reference.dts +++ b/arch/arm/boot/dts/r8a7778-bockw-reference.dts | |||
@@ -17,6 +17,7 @@ | |||
17 | /dts-v1/; | 17 | /dts-v1/; |
18 | #include "r8a7778.dtsi" | 18 | #include "r8a7778.dtsi" |
19 | #include <dt-bindings/interrupt-controller/irq.h> | 19 | #include <dt-bindings/interrupt-controller/irq.h> |
20 | #include <dt-bindings/gpio/gpio.h> | ||
20 | 21 | ||
21 | / { | 22 | / { |
22 | model = "bockw"; | 23 | model = "bockw"; |
@@ -84,7 +85,7 @@ | |||
84 | 85 | ||
85 | sdhi0_pins: sd0 { | 86 | sdhi0_pins: sd0 { |
86 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", | 87 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", |
87 | "sdhi0_cd", "sdhi0_wp"; | 88 | "sdhi0_cd"; |
88 | renesas,function = "sdhi0"; | 89 | renesas,function = "sdhi0"; |
89 | }; | 90 | }; |
90 | 91 | ||
@@ -101,6 +102,7 @@ | |||
101 | vmmc-supply = <&fixedregulator3v3>; | 102 | vmmc-supply = <&fixedregulator3v3>; |
102 | bus-width = <4>; | 103 | bus-width = <4>; |
103 | status = "okay"; | 104 | status = "okay"; |
105 | wp-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>; | ||
104 | }; | 106 | }; |
105 | 107 | ||
106 | &hspi0 { | 108 | &hspi0 { |
diff --git a/arch/arm/configs/ape6evm_defconfig b/arch/arm/configs/ape6evm_defconfig index cb26c62dc722..bb396c0e5fda 100644 --- a/arch/arm/configs/ape6evm_defconfig +++ b/arch/arm/configs/ape6evm_defconfig | |||
@@ -48,6 +48,8 @@ CONFIG_IP_PNP_DHCP=y | |||
48 | # CONFIG_IPV6_SIT is not set | 48 | # CONFIG_IPV6_SIT is not set |
49 | CONFIG_NETFILTER=y | 49 | CONFIG_NETFILTER=y |
50 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 50 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
51 | CONFIG_DEVTMPFS=y | ||
52 | CONFIG_DEVTMPFS_MOUNT=y | ||
51 | # CONFIG_FW_LOADER_USER_HELPER is not set | 53 | # CONFIG_FW_LOADER_USER_HELPER is not set |
52 | CONFIG_NETDEVICES=y | 54 | CONFIG_NETDEVICES=y |
53 | # CONFIG_NET_CADENCE is not set | 55 | # CONFIG_NET_CADENCE is not set |
diff --git a/arch/arm/configs/armadillo800eva_defconfig b/arch/arm/configs/armadillo800eva_defconfig index 9287a62de830..065adddeee3e 100644 --- a/arch/arm/configs/armadillo800eva_defconfig +++ b/arch/arm/configs/armadillo800eva_defconfig | |||
@@ -58,6 +58,8 @@ CONFIG_IP_PNP_DHCP=y | |||
58 | # CONFIG_IPV6 is not set | 58 | # CONFIG_IPV6 is not set |
59 | # CONFIG_WIRELESS is not set | 59 | # CONFIG_WIRELESS is not set |
60 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 60 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
61 | CONFIG_DEVTMPFS=y | ||
62 | CONFIG_DEVTMPFS_MOUNT=y | ||
61 | CONFIG_SCSI=y | 63 | CONFIG_SCSI=y |
62 | CONFIG_BLK_DEV_SD=y | 64 | CONFIG_BLK_DEV_SD=y |
63 | CONFIG_MD=y | 65 | CONFIG_MD=y |
diff --git a/arch/arm/configs/bockw_defconfig b/arch/arm/configs/bockw_defconfig index 80cff50beb34..e816140d81c5 100644 --- a/arch/arm/configs/bockw_defconfig +++ b/arch/arm/configs/bockw_defconfig | |||
@@ -44,6 +44,8 @@ CONFIG_IP_PNP_DHCP=y | |||
44 | # CONFIG_INET_DIAG is not set | 44 | # CONFIG_INET_DIAG is not set |
45 | # CONFIG_IPV6 is not set | 45 | # CONFIG_IPV6 is not set |
46 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 46 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
47 | CONFIG_DEVTMPFS=y | ||
48 | CONFIG_DEVTMPFS_MOUNT=y | ||
47 | # CONFIG_STANDALONE is not set | 49 | # CONFIG_STANDALONE is not set |
48 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 50 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
49 | # CONFIG_FW_LOADER is not set | 51 | # CONFIG_FW_LOADER is not set |
diff --git a/arch/arm/configs/dove_defconfig b/arch/arm/configs/dove_defconfig index 110105476848..f15955144175 100644 --- a/arch/arm/configs/dove_defconfig +++ b/arch/arm/configs/dove_defconfig | |||
@@ -48,7 +48,6 @@ CONFIG_MTD_CFI_INTELEXT=y | |||
48 | CONFIG_MTD_CFI_STAA=y | 48 | CONFIG_MTD_CFI_STAA=y |
49 | CONFIG_MTD_PHYSMAP=y | 49 | CONFIG_MTD_PHYSMAP=y |
50 | CONFIG_MTD_M25P80=y | 50 | CONFIG_MTD_M25P80=y |
51 | CONFIG_MTD_UBI=y | ||
52 | CONFIG_BLK_DEV_LOOP=y | 51 | CONFIG_BLK_DEV_LOOP=y |
53 | CONFIG_BLK_DEV_RAM=y | 52 | CONFIG_BLK_DEV_RAM=y |
54 | CONFIG_BLK_DEV_RAM_COUNT=1 | 53 | CONFIG_BLK_DEV_RAM_COUNT=1 |
@@ -80,6 +79,8 @@ CONFIG_SPI_ORION=y | |||
80 | # CONFIG_HWMON is not set | 79 | # CONFIG_HWMON is not set |
81 | CONFIG_THERMAL=y | 80 | CONFIG_THERMAL=y |
82 | CONFIG_DOVE_THERMAL=y | 81 | CONFIG_DOVE_THERMAL=y |
82 | CONFIG_WATCHDOG=y | ||
83 | CONFIG_ORION_WATCHDOG=y | ||
83 | CONFIG_USB=y | 84 | CONFIG_USB=y |
84 | CONFIG_USB_XHCI_HCD=y | 85 | CONFIG_USB_XHCI_HCD=y |
85 | CONFIG_USB_EHCI_HCD=y | 86 | CONFIG_USB_EHCI_HCD=y |
diff --git a/arch/arm/configs/genmai_defconfig b/arch/arm/configs/genmai_defconfig index aa0b704f48af..d238fafb6762 100644 --- a/arch/arm/configs/genmai_defconfig +++ b/arch/arm/configs/genmai_defconfig | |||
@@ -50,6 +50,9 @@ CONFIG_IP_PNP_DHCP=y | |||
50 | # CONFIG_IPV6 is not set | 50 | # CONFIG_IPV6 is not set |
51 | # CONFIG_WIRELESS is not set | 51 | # CONFIG_WIRELESS is not set |
52 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 52 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
53 | CONFIG_DEVTMPFS=y | ||
54 | CONFIG_DEVTMPFS_MOUNT=y | ||
55 | CONFIG_EEPROM_AT24=y | ||
53 | CONFIG_NETDEVICES=y | 56 | CONFIG_NETDEVICES=y |
54 | # CONFIG_NET_CORE is not set | 57 | # CONFIG_NET_CORE is not set |
55 | # CONFIG_NET_VENDOR_ARC is not set | 58 | # CONFIG_NET_VENDOR_ARC is not set |
@@ -78,7 +81,10 @@ CONFIG_SERIAL_SH_SCI=y | |||
78 | CONFIG_SERIAL_SH_SCI_NR_UARTS=10 | 81 | CONFIG_SERIAL_SH_SCI_NR_UARTS=10 |
79 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | 82 | CONFIG_SERIAL_SH_SCI_CONSOLE=y |
80 | # CONFIG_HW_RANDOM is not set | 83 | # CONFIG_HW_RANDOM is not set |
81 | CONFIG_I2C_SH_MOBILE=y | 84 | CONFIG_I2C_CHARDEV=y |
85 | CONFIG_I2C_RIIC=y | ||
86 | CONFIG_SPI=y | ||
87 | CONFIG_SPI_RSPI=y | ||
82 | # CONFIG_HWMON is not set | 88 | # CONFIG_HWMON is not set |
83 | CONFIG_THERMAL=y | 89 | CONFIG_THERMAL=y |
84 | CONFIG_RCAR_THERMAL=y | 90 | CONFIG_RCAR_THERMAL=y |
diff --git a/arch/arm/configs/keystone_defconfig b/arch/arm/configs/keystone_defconfig index 4582e160feab..ec9a41d50680 100644 --- a/arch/arm/configs/keystone_defconfig +++ b/arch/arm/configs/keystone_defconfig | |||
@@ -111,6 +111,7 @@ CONFIG_MTD_BLOCK=y | |||
111 | CONFIG_MTD_PLATRAM=y | 111 | CONFIG_MTD_PLATRAM=y |
112 | CONFIG_MTD_M25P80=y | 112 | CONFIG_MTD_M25P80=y |
113 | CONFIG_MTD_NAND=y | 113 | CONFIG_MTD_NAND=y |
114 | CONFIG_MTD_NAND_DAVINCI=y | ||
114 | CONFIG_MTD_UBI=y | 115 | CONFIG_MTD_UBI=y |
115 | CONFIG_PROC_DEVICETREE=y | 116 | CONFIG_PROC_DEVICETREE=y |
116 | CONFIG_BLK_DEV_LOOP=y | 117 | CONFIG_BLK_DEV_LOOP=y |
@@ -131,6 +132,8 @@ CONFIG_SPI_DAVINCI=y | |||
131 | CONFIG_SPI_SPIDEV=y | 132 | CONFIG_SPI_SPIDEV=y |
132 | # CONFIG_HWMON is not set | 133 | # CONFIG_HWMON is not set |
133 | CONFIG_WATCHDOG=y | 134 | CONFIG_WATCHDOG=y |
135 | CONFIG_WATCHDOG_CORE=y | ||
136 | CONFIG_DAVINCI_WATCHDOG=y | ||
134 | CONFIG_USB=y | 137 | CONFIG_USB=y |
135 | CONFIG_USB_DEBUG=y | 138 | CONFIG_USB_DEBUG=y |
136 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | 139 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y |
@@ -145,6 +148,7 @@ CONFIG_DMADEVICES=y | |||
145 | CONFIG_TI_EDMA=y | 148 | CONFIG_TI_EDMA=y |
146 | CONFIG_COMMON_CLK_DEBUG=y | 149 | CONFIG_COMMON_CLK_DEBUG=y |
147 | CONFIG_MEMORY=y | 150 | CONFIG_MEMORY=y |
151 | CONFIG_TI_AEMIF=y | ||
148 | CONFIG_EXT4_FS=y | 152 | CONFIG_EXT4_FS=y |
149 | CONFIG_EXT4_FS_POSIX_ACL=y | 153 | CONFIG_EXT4_FS_POSIX_ACL=y |
150 | CONFIG_MSDOS_FS=y | 154 | CONFIG_MSDOS_FS=y |
@@ -177,3 +181,14 @@ CONFIG_CRYPTO_DES=y | |||
177 | CONFIG_CRYPTO_ANSI_CPRNG=y | 181 | CONFIG_CRYPTO_ANSI_CPRNG=y |
178 | CONFIG_CRYPTO_USER_API_HASH=y | 182 | CONFIG_CRYPTO_USER_API_HASH=y |
179 | CONFIG_CRYPTO_USER_API_SKCIPHER=y | 183 | CONFIG_CRYPTO_USER_API_SKCIPHER=y |
184 | CONFIG_GPIOLIB=y | ||
185 | CONFIG_GPIO_SYSFS=y | ||
186 | CONFIG_GPIO_DAVINCI=y | ||
187 | CONFIG_LEDS_CLASS=y | ||
188 | CONFIG_NEW_LEDS=y | ||
189 | CONFIG_LEDS_GPIO=y | ||
190 | CONFIG_LEDS_TRIGGERS=y | ||
191 | CONFIG_LEDS_TRIGGER_ONESHOT=y | ||
192 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
193 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | ||
194 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
diff --git a/arch/arm/configs/koelsch_defconfig b/arch/arm/configs/koelsch_defconfig index e248f49d5549..86faab565a96 100644 --- a/arch/arm/configs/koelsch_defconfig +++ b/arch/arm/configs/koelsch_defconfig | |||
@@ -8,7 +8,6 @@ CONFIG_SYSCTL_SYSCALL=y | |||
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EMBEDDED=y |
9 | CONFIG_PERF_EVENTS=y | 9 | CONFIG_PERF_EVENTS=y |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
11 | # CONFIG_BLOCK is not set | ||
12 | CONFIG_ARCH_SHMOBILE_LEGACY=y | 11 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
13 | CONFIG_ARCH_R8A7791=y | 12 | CONFIG_ARCH_R8A7791=y |
14 | CONFIG_MACH_KOELSCH=y | 13 | CONFIG_MACH_KOELSCH=y |
@@ -35,7 +34,14 @@ CONFIG_UNIX=y | |||
35 | CONFIG_INET=y | 34 | CONFIG_INET=y |
36 | CONFIG_IP_PNP=y | 35 | CONFIG_IP_PNP=y |
37 | CONFIG_IP_PNP_DHCP=y | 36 | CONFIG_IP_PNP_DHCP=y |
37 | CONFIG_DEVTMPFS=y | ||
38 | CONFIG_DEVTMPFS_MOUNT=y | ||
38 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 39 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
40 | CONFIG_BLK_DEV_SD=y | ||
41 | CONFIG_ATA=y | ||
42 | CONFIG_SATA_RCAR=y | ||
43 | CONFIG_MTD=y | ||
44 | CONFIG_MTD_M25P80=y | ||
39 | CONFIG_NETDEVICES=y | 45 | CONFIG_NETDEVICES=y |
40 | # CONFIG_NET_VENDOR_ARC is not set | 46 | # CONFIG_NET_VENDOR_ARC is not set |
41 | # CONFIG_NET_CADENCE is not set | 47 | # CONFIG_NET_CADENCE is not set |
@@ -53,18 +59,31 @@ CONFIG_SH_ETH=y | |||
53 | # CONFIG_NET_VENDOR_VIA is not set | 59 | # CONFIG_NET_VENDOR_VIA is not set |
54 | # CONFIG_NET_VENDOR_WIZNET is not set | 60 | # CONFIG_NET_VENDOR_WIZNET is not set |
55 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | 61 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set |
62 | CONFIG_KEYBOARD_GPIO=y | ||
56 | # CONFIG_INPUT_MOUSE is not set | 63 | # CONFIG_INPUT_MOUSE is not set |
57 | # CONFIG_LEGACY_PTYS is not set | 64 | # CONFIG_LEGACY_PTYS is not set |
58 | CONFIG_SERIAL_SH_SCI=y | 65 | CONFIG_SERIAL_SH_SCI=y |
59 | CONFIG_SERIAL_SH_SCI_NR_UARTS=20 | 66 | CONFIG_SERIAL_SH_SCI_NR_UARTS=20 |
60 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | 67 | CONFIG_SERIAL_SH_SCI_CONSOLE=y |
68 | CONFIG_I2C=y | ||
69 | CONFIG_I2C_RCAR=y | ||
70 | CONFIG_SPI=y | ||
71 | CONFIG_SPI_RSPI=y | ||
72 | CONFIG_GPIOLIB=y | ||
73 | CONFIG_GPIO_RCAR=y | ||
61 | # CONFIG_HWMON is not set | 74 | # CONFIG_HWMON is not set |
62 | CONFIG_THERMAL=y | 75 | CONFIG_THERMAL=y |
63 | CONFIG_RCAR_THERMAL=y | 76 | CONFIG_RCAR_THERMAL=y |
77 | CONFIG_REGULATOR=y | ||
78 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
79 | CONFIG_REGULATOR_GPIO=y | ||
64 | # CONFIG_HID is not set | 80 | # CONFIG_HID is not set |
65 | # CONFIG_USB_SUPPORT is not set | 81 | # CONFIG_USB_SUPPORT is not set |
82 | CONFIG_MMC=y | ||
83 | CONFIG_MMC_SDHI=y | ||
66 | CONFIG_NEW_LEDS=y | 84 | CONFIG_NEW_LEDS=y |
67 | CONFIG_LEDS_CLASS=y | 85 | CONFIG_LEDS_CLASS=y |
86 | CONFIG_LEDS_GPIO=y | ||
68 | # CONFIG_IOMMU_SUPPORT is not set | 87 | # CONFIG_IOMMU_SUPPORT is not set |
69 | # CONFIG_DNOTIFY is not set | 88 | # CONFIG_DNOTIFY is not set |
70 | CONFIG_TMPFS=y | 89 | CONFIG_TMPFS=y |
diff --git a/arch/arm/configs/kzm9d_defconfig b/arch/arm/configs/kzm9d_defconfig deleted file mode 100644 index e42ce3756af3..000000000000 --- a/arch/arm/configs/kzm9d_defconfig +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | # CONFIG_ARM_PATCH_PHYS_VIRT is not set | ||
2 | CONFIG_EXPERIMENTAL=y | ||
3 | CONFIG_SYSVIPC=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_IKCONFIG=y | ||
6 | CONFIG_IKCONFIG_PROC=y | ||
7 | CONFIG_LOG_BUF_SHIFT=16 | ||
8 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
9 | CONFIG_SYSCTL_SYSCALL=y | ||
10 | CONFIG_EMBEDDED=y | ||
11 | CONFIG_PERF_EVENTS=y | ||
12 | CONFIG_SLAB=y | ||
13 | # CONFIG_BLK_DEV_BSG is not set | ||
14 | # CONFIG_IOSCHED_DEADLINE is not set | ||
15 | # CONFIG_IOSCHED_CFQ is not set | ||
16 | CONFIG_ARCH_SHMOBILE_LEGACY=y | ||
17 | CONFIG_ARCH_EMEV2=y | ||
18 | CONFIG_MACH_KZM9D=y | ||
19 | CONFIG_MEMORY_START=0x40000000 | ||
20 | CONFIG_MEMORY_SIZE=0x10000000 | ||
21 | # CONFIG_SH_TIMER_TMU is not set | ||
22 | # CONFIG_SWP_EMULATE is not set | ||
23 | # CONFIG_CACHE_L2X0 is not set | ||
24 | CONFIG_SMP=y | ||
25 | CONFIG_NR_CPUS=2 | ||
26 | CONFIG_HOTPLUG_CPU=y | ||
27 | # CONFIG_LOCAL_TIMERS is not set | ||
28 | CONFIG_AEABI=y | ||
29 | # CONFIG_OABI_COMPAT is not set | ||
30 | # CONFIG_CROSS_MEMORY_ATTACH is not set | ||
31 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
32 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
33 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
34 | CONFIG_ARM_APPENDED_DTB=y | ||
35 | CONFIG_AUTO_ZRELADDR=y | ||
36 | CONFIG_VFP=y | ||
37 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
38 | CONFIG_PM_RUNTIME=y | ||
39 | CONFIG_NET=y | ||
40 | CONFIG_PACKET=y | ||
41 | CONFIG_UNIX=y | ||
42 | CONFIG_INET=y | ||
43 | CONFIG_IP_PNP=y | ||
44 | CONFIG_IP_PNP_DHCP=y | ||
45 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
46 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
47 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
48 | # CONFIG_INET_LRO is not set | ||
49 | # CONFIG_INET_DIAG is not set | ||
50 | # CONFIG_IPV6 is not set | ||
51 | # CONFIG_WIRELESS is not set | ||
52 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
53 | # CONFIG_BLK_DEV is not set | ||
54 | CONFIG_NETDEVICES=y | ||
55 | # CONFIG_NET_VENDOR_BROADCOM is not set | ||
56 | # CONFIG_NET_VENDOR_CHELSIO is not set | ||
57 | # CONFIG_NET_VENDOR_CIRRUS is not set | ||
58 | # CONFIG_NET_VENDOR_FARADAY is not set | ||
59 | # CONFIG_NET_VENDOR_INTEL is not set | ||
60 | # CONFIG_NET_VENDOR_MARVELL is not set | ||
61 | # CONFIG_NET_VENDOR_MICREL is not set | ||
62 | # CONFIG_NET_VENDOR_NATSEMI is not set | ||
63 | # CONFIG_NET_VENDOR_SEEQ is not set | ||
64 | CONFIG_SMSC911X=y | ||
65 | # CONFIG_NET_VENDOR_STMICRO is not set | ||
66 | # CONFIG_NET_VENDOR_WIZNET is not set | ||
67 | # CONFIG_WLAN is not set | ||
68 | # CONFIG_INPUT_MOUSEDEV is not set | ||
69 | # CONFIG_INPUT_KEYBOARD is not set | ||
70 | # CONFIG_INPUT_MOUSE is not set | ||
71 | # CONFIG_SERIO is not set | ||
72 | # CONFIG_LEGACY_PTYS is not set | ||
73 | # CONFIG_DEVKMEM is not set | ||
74 | CONFIG_SERIAL_8250=y | ||
75 | CONFIG_SERIAL_8250_CONSOLE=y | ||
76 | CONFIG_SERIAL_8250_EM=y | ||
77 | # CONFIG_HW_RANDOM is not set | ||
78 | CONFIG_GPIOLIB=y | ||
79 | CONFIG_GPIO_EM=y | ||
80 | # CONFIG_HWMON is not set | ||
81 | # CONFIG_HID_SUPPORT is not set | ||
82 | # CONFIG_USB_SUPPORT is not set | ||
83 | # CONFIG_IOMMU_SUPPORT is not set | ||
84 | # CONFIG_DNOTIFY is not set | ||
85 | CONFIG_TMPFS=y | ||
86 | # CONFIG_MISC_FILESYSTEMS is not set | ||
87 | CONFIG_NFS_FS=y | ||
88 | CONFIG_ROOT_NFS=y | ||
89 | # CONFIG_FTRACE is not set | ||
diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig index 9934dbc23d64..12bd1f63c399 100644 --- a/arch/arm/configs/kzm9g_defconfig +++ b/arch/arm/configs/kzm9g_defconfig | |||
@@ -60,6 +60,8 @@ CONFIG_IRDA=y | |||
60 | CONFIG_SH_IRDA=y | 60 | CONFIG_SH_IRDA=y |
61 | # CONFIG_WIRELESS is not set | 61 | # CONFIG_WIRELESS is not set |
62 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 62 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
63 | CONFIG_DEVTMPFS=y | ||
64 | CONFIG_DEVTMPFS_MOUNT=y | ||
63 | CONFIG_SCSI=y | 65 | CONFIG_SCSI=y |
64 | CONFIG_BLK_DEV_SD=y | 66 | CONFIG_BLK_DEV_SD=y |
65 | CONFIG_NETDEVICES=y | 67 | CONFIG_NETDEVICES=y |
diff --git a/arch/arm/configs/lager_defconfig b/arch/arm/configs/lager_defconfig index 883443f8f4f3..58702440472a 100644 --- a/arch/arm/configs/lager_defconfig +++ b/arch/arm/configs/lager_defconfig | |||
@@ -49,6 +49,13 @@ CONFIG_IP_PNP_DHCP=y | |||
49 | # CONFIG_IPV6 is not set | 49 | # CONFIG_IPV6 is not set |
50 | # CONFIG_WIRELESS is not set | 50 | # CONFIG_WIRELESS is not set |
51 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 51 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
52 | CONFIG_DEVTMPFS=y | ||
53 | CONFIG_DEVTMPFS_MOUNT=y | ||
54 | CONFIG_MTD=y | ||
55 | CONFIG_MTD_M25P80=y | ||
56 | CONFIG_BLK_DEV_SD=y | ||
57 | CONFIG_ATA=y | ||
58 | CONFIG_SATA_RCAR=y | ||
52 | CONFIG_NETDEVICES=y | 59 | CONFIG_NETDEVICES=y |
53 | # CONFIG_NET_CORE is not set | 60 | # CONFIG_NET_CORE is not set |
54 | # CONFIG_NET_VENDOR_ARC is not set | 61 | # CONFIG_NET_VENDOR_ARC is not set |
@@ -81,6 +88,8 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y | |||
81 | CONFIG_I2C=y | 88 | CONFIG_I2C=y |
82 | CONFIG_I2C_GPIO=y | 89 | CONFIG_I2C_GPIO=y |
83 | CONFIG_I2C_RCAR=y | 90 | CONFIG_I2C_RCAR=y |
91 | CONFIG_SPI=y | ||
92 | CONFIG_SPI_RSPI=y | ||
84 | CONFIG_GPIO_SH_PFC=y | 93 | CONFIG_GPIO_SH_PFC=y |
85 | CONFIG_GPIOLIB=y | 94 | CONFIG_GPIOLIB=y |
86 | CONFIG_GPIO_RCAR=y | 95 | CONFIG_GPIO_RCAR=y |
@@ -90,8 +99,20 @@ CONFIG_RCAR_THERMAL=y | |||
90 | CONFIG_REGULATOR=y | 99 | CONFIG_REGULATOR=y |
91 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | 100 | CONFIG_REGULATOR_FIXED_VOLTAGE=y |
92 | CONFIG_REGULATOR_GPIO=y | 101 | CONFIG_REGULATOR_GPIO=y |
102 | CONFIG_MEDIA_SUPPORT=y | ||
103 | CONFIG_MEDIA_CAMERA_SUPPORT=y | ||
104 | CONFIG_V4L_PLATFORM_DRIVERS=y | ||
105 | CONFIG_SOC_CAMERA=y | ||
106 | CONFIG_SOC_CAMERA_PLATFORM=y | ||
107 | CONFIG_VIDEO_RCAR_VIN=y | ||
108 | # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set | ||
109 | CONFIG_VIDEO_ADV7180=y | ||
93 | CONFIG_DRM=y | 110 | CONFIG_DRM=y |
94 | CONFIG_DRM_RCAR_DU=y | 111 | CONFIG_DRM_RCAR_DU=y |
112 | CONFIG_SOUND=y | ||
113 | CONFIG_SND=y | ||
114 | CONFIG_SND_SOC=y | ||
115 | CONFIG_SND_SOC_RCAR=y | ||
95 | # CONFIG_USB_SUPPORT is not set | 116 | # CONFIG_USB_SUPPORT is not set |
96 | CONFIG_MMC=y | 117 | CONFIG_MMC=y |
97 | CONFIG_MMC_SDHI=y | 118 | CONFIG_MMC_SDHI=y |
diff --git a/arch/arm/configs/mackerel_defconfig b/arch/arm/configs/mackerel_defconfig index a61e1653fc5e..57ececba2ae6 100644 --- a/arch/arm/configs/mackerel_defconfig +++ b/arch/arm/configs/mackerel_defconfig | |||
@@ -42,6 +42,8 @@ CONFIG_IP_PNP_DHCP=y | |||
42 | # CONFIG_IPV6 is not set | 42 | # CONFIG_IPV6 is not set |
43 | # CONFIG_WIRELESS is not set | 43 | # CONFIG_WIRELESS is not set |
44 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 44 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
45 | CONFIG_DEVTMPFS=y | ||
46 | CONFIG_DEVTMPFS_MOUNT=y | ||
45 | # CONFIG_FIRMWARE_IN_KERNEL is not set | 47 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
46 | CONFIG_MTD=y | 48 | CONFIG_MTD=y |
47 | CONFIG_MTD_CONCAT=y | 49 | CONFIG_MTD_CONCAT=y |
diff --git a/arch/arm/configs/marzen_defconfig b/arch/arm/configs/marzen_defconfig index f21bd405cc2a..92994f7f6fd8 100644 --- a/arch/arm/configs/marzen_defconfig +++ b/arch/arm/configs/marzen_defconfig | |||
@@ -43,6 +43,8 @@ CONFIG_IP_PNP_DHCP=y | |||
43 | # CONFIG_IPV6 is not set | 43 | # CONFIG_IPV6 is not set |
44 | # CONFIG_WIRELESS is not set | 44 | # CONFIG_WIRELESS is not set |
45 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 45 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
46 | CONFIG_DEVTMPFS=y | ||
47 | CONFIG_DEVTMPFS_MOUNT=y | ||
46 | # CONFIG_STANDALONE is not set | 48 | # CONFIG_STANDALONE is not set |
47 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 49 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
48 | # CONFIG_FW_LOADER is not set | 50 | # CONFIG_FW_LOADER is not set |
diff --git a/arch/arm/configs/multi_v5_defconfig b/arch/arm/configs/multi_v5_defconfig new file mode 100644 index 000000000000..aa3dfb084fed --- /dev/null +++ b/arch/arm/configs/multi_v5_defconfig | |||
@@ -0,0 +1,190 @@ | |||
1 | CONFIG_SYSVIPC=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_HIGH_RES_TIMERS=y | ||
4 | CONFIG_LOG_BUF_SHIFT=19 | ||
5 | CONFIG_PROFILING=y | ||
6 | CONFIG_OPROFILE=y | ||
7 | CONFIG_KPROBES=y | ||
8 | CONFIG_MODULES=y | ||
9 | CONFIG_MODULE_UNLOAD=y | ||
10 | # CONFIG_BLK_DEV_BSG is not set | ||
11 | # CONFIG_ARCH_MULTI_V7 is not set | ||
12 | CONFIG_ARCH_MVEBU=y | ||
13 | CONFIG_MACH_KIRKWOOD=y | ||
14 | CONFIG_MACH_T5325=y | ||
15 | CONFIG_ARCH_MXC=y | ||
16 | CONFIG_MACH_IMX25_DT=y | ||
17 | CONFIG_MACH_IMX27_DT=y | ||
18 | CONFIG_ARCH_U300=y | ||
19 | CONFIG_PCI_MVEBU=y | ||
20 | CONFIG_PREEMPT=y | ||
21 | CONFIG_AEABI=y | ||
22 | CONFIG_HIGHMEM=y | ||
23 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
24 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
25 | CONFIG_ARM_APPENDED_DTB=y | ||
26 | CONFIG_ARM_ATAG_DTB_COMPAT=y | ||
27 | CONFIG_CPU_FREQ=y | ||
28 | CONFIG_CPU_FREQ_STAT_DETAILS=y | ||
29 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
30 | CONFIG_CPU_IDLE=y | ||
31 | CONFIG_ARM_KIRKWOOD_CPUIDLE=y | ||
32 | CONFIG_NET=y | ||
33 | CONFIG_PACKET=y | ||
34 | CONFIG_UNIX=y | ||
35 | CONFIG_INET=y | ||
36 | CONFIG_IP_MULTICAST=y | ||
37 | CONFIG_IP_PNP=y | ||
38 | CONFIG_IP_PNP_DHCP=y | ||
39 | CONFIG_IP_PNP_BOOTP=y | ||
40 | # CONFIG_IPV6 is not set | ||
41 | CONFIG_NET_PKTGEN=m | ||
42 | CONFIG_CFG80211=y | ||
43 | CONFIG_MAC80211=y | ||
44 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
45 | CONFIG_MTD=y | ||
46 | CONFIG_MTD_CMDLINE_PARTS=y | ||
47 | CONFIG_MTD_BLOCK=y | ||
48 | CONFIG_MTD_CFI=y | ||
49 | CONFIG_MTD_JEDECPROBE=y | ||
50 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
51 | CONFIG_MTD_CFI_GEOMETRY=y | ||
52 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
53 | CONFIG_MTD_CFI_INTELEXT=y | ||
54 | CONFIG_MTD_CFI_STAA=y | ||
55 | CONFIG_MTD_PHYSMAP=y | ||
56 | CONFIG_MTD_M25P80=y | ||
57 | CONFIG_MTD_NAND=y | ||
58 | CONFIG_MTD_NAND_ORION=y | ||
59 | CONFIG_BLK_DEV_LOOP=y | ||
60 | CONFIG_EEPROM_AT24=y | ||
61 | # CONFIG_SCSI_PROC_FS is not set | ||
62 | CONFIG_BLK_DEV_SD=y | ||
63 | CONFIG_BLK_DEV_SR=m | ||
64 | CONFIG_CHR_DEV_SG=m | ||
65 | CONFIG_ATA=y | ||
66 | CONFIG_SATA_AHCI=y | ||
67 | CONFIG_SATA_MV=y | ||
68 | CONFIG_NETDEVICES=y | ||
69 | CONFIG_NET_DSA_MV88E6123_61_65=y | ||
70 | CONFIG_MV643XX_ETH=y | ||
71 | CONFIG_R8169=y | ||
72 | CONFIG_MARVELL_PHY=y | ||
73 | CONFIG_LIBERTAS=y | ||
74 | CONFIG_LIBERTAS_SDIO=y | ||
75 | CONFIG_INPUT_EVDEV=y | ||
76 | CONFIG_KEYBOARD_GPIO=y | ||
77 | # CONFIG_INPUT_MOUSE is not set | ||
78 | CONFIG_LEGACY_PTY_COUNT=16 | ||
79 | # CONFIG_DEVKMEM is not set | ||
80 | CONFIG_SERIAL_8250=y | ||
81 | CONFIG_SERIAL_8250_CONSOLE=y | ||
82 | CONFIG_SERIAL_8250_RUNTIME_UARTS=2 | ||
83 | CONFIG_SERIAL_OF_PLATFORM=y | ||
84 | # CONFIG_HW_RANDOM is not set | ||
85 | CONFIG_I2C=y | ||
86 | # CONFIG_I2C_COMPAT is not set | ||
87 | CONFIG_I2C_CHARDEV=y | ||
88 | CONFIG_I2C_MV64XXX=y | ||
89 | CONFIG_I2C_NOMADIK=y | ||
90 | CONFIG_SPI=y | ||
91 | CONFIG_SPI_ORION=y | ||
92 | CONFIG_GPIO_SYSFS=y | ||
93 | CONFIG_POWER_SUPPLY=y | ||
94 | CONFIG_POWER_RESET=y | ||
95 | CONFIG_POWER_RESET_GPIO=y | ||
96 | CONFIG_POWER_RESET_QNAP=y | ||
97 | CONFIG_SENSORS_ADT7475=y | ||
98 | CONFIG_SENSORS_LM63=y | ||
99 | CONFIG_SENSORS_LM75=y | ||
100 | CONFIG_SENSORS_LM85=y | ||
101 | CONFIG_THERMAL=y | ||
102 | CONFIG_KIRKWOOD_THERMAL=y | ||
103 | CONFIG_WATCHDOG=y | ||
104 | CONFIG_ORION_WATCHDOG=y | ||
105 | CONFIG_FB=y | ||
106 | CONFIG_SOUND=y | ||
107 | CONFIG_SND=y | ||
108 | CONFIG_SND_SOC=y | ||
109 | CONFIG_SND_KIRKWOOD_SOC=y | ||
110 | CONFIG_SND_KIRKWOOD_SOC_T5325=y | ||
111 | # CONFIG_ABX500_CORE is not set | ||
112 | CONFIG_REGULATOR=y | ||
113 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
114 | CONFIG_HID_DRAGONRISE=y | ||
115 | CONFIG_HID_GYRATION=y | ||
116 | CONFIG_HID_TWINHAN=y | ||
117 | CONFIG_HID_NTRIG=y | ||
118 | CONFIG_HID_PANTHERLORD=y | ||
119 | CONFIG_HID_PETALYNX=y | ||
120 | CONFIG_HID_SAMSUNG=y | ||
121 | CONFIG_HID_SONY=y | ||
122 | CONFIG_HID_SUNPLUS=y | ||
123 | CONFIG_HID_GREENASIA=y | ||
124 | CONFIG_HID_SMARTJOYPLUS=y | ||
125 | CONFIG_HID_TOPSEED=y | ||
126 | CONFIG_HID_THRUSTMASTER=y | ||
127 | CONFIG_HID_ZEROPLUS=y | ||
128 | CONFIG_USB=y | ||
129 | CONFIG_USB_XHCI_HCD=y | ||
130 | CONFIG_USB_EHCI_HCD=y | ||
131 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | ||
132 | CONFIG_USB_PRINTER=m | ||
133 | CONFIG_USB_STORAGE=y | ||
134 | CONFIG_USB_STORAGE_DATAFAB=y | ||
135 | CONFIG_USB_STORAGE_FREECOM=y | ||
136 | CONFIG_USB_STORAGE_SDDR09=y | ||
137 | CONFIG_USB_STORAGE_SDDR55=y | ||
138 | CONFIG_USB_STORAGE_JUMPSHOT=y | ||
139 | CONFIG_MMC=y | ||
140 | CONFIG_SDIO_UART=y | ||
141 | CONFIG_MMC_MVSDIO=y | ||
142 | CONFIG_NEW_LEDS=y | ||
143 | CONFIG_LEDS_CLASS=y | ||
144 | CONFIG_LEDS_GPIO=y | ||
145 | CONFIG_LEDS_TRIGGERS=y | ||
146 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
147 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
148 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
149 | CONFIG_RTC_CLASS=y | ||
150 | CONFIG_RTC_DRV_RS5C372=y | ||
151 | CONFIG_RTC_DRV_PCF8563=y | ||
152 | CONFIG_RTC_DRV_S35390A=y | ||
153 | CONFIG_RTC_DRV_MV=y | ||
154 | CONFIG_DMADEVICES=y | ||
155 | CONFIG_MV_XOR=y | ||
156 | CONFIG_STAGING=y | ||
157 | CONFIG_FB_XGI=y | ||
158 | CONFIG_EXT2_FS=y | ||
159 | CONFIG_EXT3_FS=y | ||
160 | # CONFIG_EXT3_FS_XATTR is not set | ||
161 | CONFIG_EXT4_FS=y | ||
162 | CONFIG_ISO9660_FS=m | ||
163 | CONFIG_JOLIET=y | ||
164 | CONFIG_UDF_FS=m | ||
165 | CONFIG_MSDOS_FS=y | ||
166 | CONFIG_VFAT_FS=y | ||
167 | CONFIG_TMPFS=y | ||
168 | CONFIG_JFFS2_FS=y | ||
169 | CONFIG_CRAMFS=y | ||
170 | CONFIG_NFS_FS=y | ||
171 | CONFIG_ROOT_NFS=y | ||
172 | CONFIG_NLS_CODEPAGE_437=y | ||
173 | CONFIG_NLS_CODEPAGE_850=y | ||
174 | CONFIG_NLS_ISO8859_1=y | ||
175 | CONFIG_NLS_ISO8859_2=y | ||
176 | CONFIG_NLS_UTF8=y | ||
177 | CONFIG_DEBUG_INFO=y | ||
178 | CONFIG_DEBUG_FS=y | ||
179 | CONFIG_MAGIC_SYSRQ=y | ||
180 | CONFIG_DEBUG_KERNEL=y | ||
181 | # CONFIG_SCHED_DEBUG is not set | ||
182 | # CONFIG_DEBUG_PREEMPT is not set | ||
183 | # CONFIG_FTRACE is not set | ||
184 | CONFIG_DEBUG_USER=y | ||
185 | CONFIG_CRYPTO_CBC=m | ||
186 | CONFIG_CRYPTO_PCBC=m | ||
187 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
188 | CONFIG_CRYPTO_DEV_MV_CESA=y | ||
189 | CONFIG_CRC_CCITT=y | ||
190 | CONFIG_LIBCRC32C=y | ||
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 4863cdc3fb95..d4e8a47a2f7c 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig | |||
@@ -1,4 +1,5 @@ | |||
1 | CONFIG_SYSVIPC=y | 1 | CONFIG_SYSVIPC=y |
2 | CONFIG_FHANDLE=y | ||
2 | CONFIG_IRQ_DOMAIN_DEBUG=y | 3 | CONFIG_IRQ_DOMAIN_DEBUG=y |
3 | CONFIG_NO_HZ=y | 4 | CONFIG_NO_HZ=y |
4 | CONFIG_HIGH_RES_TIMERS=y | 5 | CONFIG_HIGH_RES_TIMERS=y |
@@ -9,7 +10,10 @@ CONFIG_MODULE_UNLOAD=y | |||
9 | CONFIG_PARTITION_ADVANCED=y | 10 | CONFIG_PARTITION_ADVANCED=y |
10 | CONFIG_ARCH_MVEBU=y | 11 | CONFIG_ARCH_MVEBU=y |
11 | CONFIG_MACH_ARMADA_370=y | 12 | CONFIG_MACH_ARMADA_370=y |
13 | CONFIG_MACH_ARMADA_375=y | ||
14 | CONFIG_MACH_ARMADA_38X=y | ||
12 | CONFIG_MACH_ARMADA_XP=y | 15 | CONFIG_MACH_ARMADA_XP=y |
16 | CONFIG_MACH_DOVE=y | ||
13 | CONFIG_ARCH_BCM=y | 17 | CONFIG_ARCH_BCM=y |
14 | CONFIG_ARCH_BCM_5301X=y | 18 | CONFIG_ARCH_BCM_5301X=y |
15 | CONFIG_ARCH_BCM_MOBILE=y | 19 | CONFIG_ARCH_BCM_MOBILE=y |
@@ -32,6 +36,10 @@ CONFIG_SOC_OMAP5=y | |||
32 | CONFIG_SOC_AM33XX=y | 36 | CONFIG_SOC_AM33XX=y |
33 | CONFIG_SOC_DRA7XX=y | 37 | CONFIG_SOC_DRA7XX=y |
34 | CONFIG_SOC_AM43XX=y | 38 | CONFIG_SOC_AM43XX=y |
39 | CONFIG_ARCH_QCOM=y | ||
40 | CONFIG_ARCH_MSM8X60=y | ||
41 | CONFIG_ARCH_MSM8960=y | ||
42 | CONFIG_ARCH_MSM8974=y | ||
35 | CONFIG_ARCH_ROCKCHIP=y | 43 | CONFIG_ARCH_ROCKCHIP=y |
36 | CONFIG_ARCH_SOCFPGA=y | 44 | CONFIG_ARCH_SOCFPGA=y |
37 | CONFIG_PLAT_SPEAR=y | 45 | CONFIG_PLAT_SPEAR=y |
@@ -96,6 +104,7 @@ CONFIG_RFKILL_GPIO=y | |||
96 | CONFIG_DEVTMPFS=y | 104 | CONFIG_DEVTMPFS=y |
97 | CONFIG_DEVTMPFS_MOUNT=y | 105 | CONFIG_DEVTMPFS_MOUNT=y |
98 | CONFIG_DMA_CMA=y | 106 | CONFIG_DMA_CMA=y |
107 | CONFIG_CMA_SIZE_MBYTES=64 | ||
99 | CONFIG_OMAP_OCP2SCP=y | 108 | CONFIG_OMAP_OCP2SCP=y |
100 | CONFIG_MTD=y | 109 | CONFIG_MTD=y |
101 | CONFIG_MTD_M25P80=y | 110 | CONFIG_MTD_M25P80=y |
@@ -113,6 +122,7 @@ CONFIG_SATA_MV=y | |||
113 | CONFIG_NETDEVICES=y | 122 | CONFIG_NETDEVICES=y |
114 | CONFIG_SUN4I_EMAC=y | 123 | CONFIG_SUN4I_EMAC=y |
115 | CONFIG_NET_CALXEDA_XGMAC=y | 124 | CONFIG_NET_CALXEDA_XGMAC=y |
125 | CONFIG_MV643XX_ETH=y | ||
116 | CONFIG_MVNETA=y | 126 | CONFIG_MVNETA=y |
117 | CONFIG_KS8851=y | 127 | CONFIG_KS8851=y |
118 | CONFIG_R8169=y | 128 | CONFIG_R8169=y |
@@ -148,6 +158,8 @@ CONFIG_SERIAL_SIRFSOC_CONSOLE=y | |||
148 | CONFIG_SERIAL_TEGRA=y | 158 | CONFIG_SERIAL_TEGRA=y |
149 | CONFIG_SERIAL_IMX=y | 159 | CONFIG_SERIAL_IMX=y |
150 | CONFIG_SERIAL_IMX_CONSOLE=y | 160 | CONFIG_SERIAL_IMX_CONSOLE=y |
161 | CONFIG_SERIAL_MSM=y | ||
162 | CONFIG_SERIAL_MSM_CONSOLE=y | ||
151 | CONFIG_SERIAL_VT8500=y | 163 | CONFIG_SERIAL_VT8500=y |
152 | CONFIG_SERIAL_VT8500_CONSOLE=y | 164 | CONFIG_SERIAL_VT8500_CONSOLE=y |
153 | CONFIG_SERIAL_OF_PLATFORM=y | 165 | CONFIG_SERIAL_OF_PLATFORM=y |
@@ -161,6 +173,7 @@ CONFIG_SERIAL_ST_ASC=y | |||
161 | CONFIG_SERIAL_ST_ASC_CONSOLE=y | 173 | CONFIG_SERIAL_ST_ASC_CONSOLE=y |
162 | CONFIG_I2C_CHARDEV=y | 174 | CONFIG_I2C_CHARDEV=y |
163 | CONFIG_I2C_MUX=y | 175 | CONFIG_I2C_MUX=y |
176 | CONFIG_I2C_MUX_PCA954x=y | ||
164 | CONFIG_I2C_MUX_PINCTRL=y | 177 | CONFIG_I2C_MUX_PINCTRL=y |
165 | CONFIG_I2C_DESIGNWARE_PLATFORM=y | 178 | CONFIG_I2C_DESIGNWARE_PLATFORM=y |
166 | CONFIG_I2C_MV64XXX=y | 179 | CONFIG_I2C_MV64XXX=y |
@@ -189,7 +202,10 @@ CONFIG_POWER_RESET_AS3722=y | |||
189 | CONFIG_POWER_RESET_GPIO=y | 202 | CONFIG_POWER_RESET_GPIO=y |
190 | CONFIG_SENSORS_LM90=y | 203 | CONFIG_SENSORS_LM90=y |
191 | CONFIG_THERMAL=y | 204 | CONFIG_THERMAL=y |
205 | CONFIG_DOVE_THERMAL=y | ||
192 | CONFIG_ARMADA_THERMAL=y | 206 | CONFIG_ARMADA_THERMAL=y |
207 | CONFIG_WATCHDOG=y | ||
208 | CONFIG_ORION_WATCHDOG=y | ||
193 | CONFIG_MFD_AS3722=y | 209 | CONFIG_MFD_AS3722=y |
194 | CONFIG_MFD_CROS_EC=y | 210 | CONFIG_MFD_CROS_EC=y |
195 | CONFIG_MFD_CROS_EC_SPI=y | 211 | CONFIG_MFD_CROS_EC_SPI=y |
@@ -214,6 +230,8 @@ CONFIG_REGULATOR_VEXPRESS=y | |||
214 | CONFIG_MEDIA_SUPPORT=y | 230 | CONFIG_MEDIA_SUPPORT=y |
215 | CONFIG_MEDIA_CAMERA_SUPPORT=y | 231 | CONFIG_MEDIA_CAMERA_SUPPORT=y |
216 | CONFIG_MEDIA_USB_SUPPORT=y | 232 | CONFIG_MEDIA_USB_SUPPORT=y |
233 | CONFIG_USB_VIDEO_CLASS=y | ||
234 | CONFIG_USB_GSPCA=y | ||
217 | CONFIG_DRM=y | 235 | CONFIG_DRM=y |
218 | CONFIG_DRM_TEGRA=y | 236 | CONFIG_DRM_TEGRA=y |
219 | CONFIG_DRM_PANEL_SIMPLE=y | 237 | CONFIG_DRM_PANEL_SIMPLE=y |
@@ -256,6 +274,7 @@ CONFIG_MMC_ARMMMCI=y | |||
256 | CONFIG_MMC_SDHCI=y | 274 | CONFIG_MMC_SDHCI=y |
257 | CONFIG_MMC_SDHCI_ESDHC_IMX=y | 275 | CONFIG_MMC_SDHCI_ESDHC_IMX=y |
258 | CONFIG_MMC_SDHCI_TEGRA=y | 276 | CONFIG_MMC_SDHCI_TEGRA=y |
277 | CONFIG_MMC_SDHCI_DOVE=y | ||
259 | CONFIG_MMC_SDHCI_SPEAR=y | 278 | CONFIG_MMC_SDHCI_SPEAR=y |
260 | CONFIG_MMC_SDHCI_BCM_KONA=y | 279 | CONFIG_MMC_SDHCI_BCM_KONA=y |
261 | CONFIG_MMC_OMAP=y | 280 | CONFIG_MMC_OMAP=y |
@@ -296,6 +315,10 @@ CONFIG_MFD_NVEC=y | |||
296 | CONFIG_KEYBOARD_NVEC=y | 315 | CONFIG_KEYBOARD_NVEC=y |
297 | CONFIG_SERIO_NVEC_PS2=y | 316 | CONFIG_SERIO_NVEC_PS2=y |
298 | CONFIG_NVEC_POWER=y | 317 | CONFIG_NVEC_POWER=y |
318 | CONFIG_COMMON_CLK_QCOM=y | ||
319 | CONFIG_MSM_GCC_8660=y | ||
320 | CONFIG_MSM_MMCC_8960=y | ||
321 | CONFIG_MSM_MMCC_8974=y | ||
299 | CONFIG_TEGRA_IOMMU_GART=y | 322 | CONFIG_TEGRA_IOMMU_GART=y |
300 | CONFIG_TEGRA_IOMMU_SMMU=y | 323 | CONFIG_TEGRA_IOMMU_SMMU=y |
301 | CONFIG_MEMORY=y | 324 | CONFIG_MEMORY=y |
diff --git a/arch/arm/configs/mvebu_v5_defconfig b/arch/arm/configs/mvebu_v5_defconfig new file mode 100644 index 000000000000..36484a37a1ca --- /dev/null +++ b/arch/arm/configs/mvebu_v5_defconfig | |||
@@ -0,0 +1,181 @@ | |||
1 | CONFIG_SYSVIPC=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_HIGH_RES_TIMERS=y | ||
4 | CONFIG_LOG_BUF_SHIFT=19 | ||
5 | CONFIG_PROFILING=y | ||
6 | CONFIG_OPROFILE=y | ||
7 | CONFIG_KPROBES=y | ||
8 | CONFIG_MODULES=y | ||
9 | CONFIG_MODULE_UNLOAD=y | ||
10 | # CONFIG_BLK_DEV_BSG is not set | ||
11 | # CONFIG_ARCH_MULTI_V7 is not set | ||
12 | CONFIG_ARCH_MVEBU=y | ||
13 | CONFIG_MACH_KIRKWOOD=y | ||
14 | CONFIG_MACH_T5325=y | ||
15 | # CONFIG_CPU_FEROCEON_OLD_ID is not set | ||
16 | CONFIG_PCI_MVEBU=y | ||
17 | CONFIG_PREEMPT=y | ||
18 | CONFIG_AEABI=y | ||
19 | CONFIG_HIGHMEM=y | ||
20 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
21 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
22 | CONFIG_CPU_FREQ=y | ||
23 | CONFIG_CPU_FREQ_STAT_DETAILS=y | ||
24 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
25 | CONFIG_CPU_IDLE=y | ||
26 | CONFIG_NET=y | ||
27 | CONFIG_PACKET=y | ||
28 | CONFIG_UNIX=y | ||
29 | CONFIG_INET=y | ||
30 | CONFIG_IP_MULTICAST=y | ||
31 | CONFIG_IP_PNP=y | ||
32 | CONFIG_IP_PNP_DHCP=y | ||
33 | CONFIG_IP_PNP_BOOTP=y | ||
34 | # CONFIG_IPV6 is not set | ||
35 | CONFIG_NET_PKTGEN=m | ||
36 | CONFIG_CFG80211=y | ||
37 | CONFIG_MAC80211=y | ||
38 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
39 | CONFIG_MTD=y | ||
40 | CONFIG_MTD_CMDLINE_PARTS=y | ||
41 | CONFIG_MTD_BLOCK=y | ||
42 | CONFIG_MTD_CFI=y | ||
43 | CONFIG_MTD_JEDECPROBE=y | ||
44 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
45 | CONFIG_MTD_CFI_GEOMETRY=y | ||
46 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
47 | CONFIG_MTD_CFI_INTELEXT=y | ||
48 | CONFIG_MTD_CFI_STAA=y | ||
49 | CONFIG_MTD_PHYSMAP=y | ||
50 | CONFIG_MTD_M25P80=y | ||
51 | CONFIG_MTD_NAND=y | ||
52 | CONFIG_MTD_NAND_ORION=y | ||
53 | CONFIG_BLK_DEV_LOOP=y | ||
54 | CONFIG_EEPROM_AT24=y | ||
55 | # CONFIG_SCSI_PROC_FS is not set | ||
56 | CONFIG_BLK_DEV_SD=y | ||
57 | CONFIG_BLK_DEV_SR=m | ||
58 | CONFIG_CHR_DEV_SG=m | ||
59 | CONFIG_ATA=y | ||
60 | CONFIG_SATA_AHCI=y | ||
61 | CONFIG_SATA_MV=y | ||
62 | CONFIG_NETDEVICES=y | ||
63 | CONFIG_NET_DSA_MV88E6123_61_65=y | ||
64 | CONFIG_MV643XX_ETH=y | ||
65 | CONFIG_R8169=y | ||
66 | CONFIG_MARVELL_PHY=y | ||
67 | CONFIG_LIBERTAS=y | ||
68 | CONFIG_LIBERTAS_SDIO=y | ||
69 | CONFIG_INPUT_EVDEV=y | ||
70 | CONFIG_KEYBOARD_GPIO=y | ||
71 | # CONFIG_INPUT_MOUSE is not set | ||
72 | CONFIG_LEGACY_PTY_COUNT=16 | ||
73 | # CONFIG_DEVKMEM is not set | ||
74 | CONFIG_SERIAL_8250=y | ||
75 | CONFIG_SERIAL_8250_CONSOLE=y | ||
76 | CONFIG_SERIAL_8250_RUNTIME_UARTS=2 | ||
77 | CONFIG_SERIAL_OF_PLATFORM=y | ||
78 | # CONFIG_HW_RANDOM is not set | ||
79 | CONFIG_I2C=y | ||
80 | # CONFIG_I2C_COMPAT is not set | ||
81 | CONFIG_I2C_CHARDEV=y | ||
82 | CONFIG_I2C_MV64XXX=y | ||
83 | CONFIG_SPI=y | ||
84 | CONFIG_SPI_ORION=y | ||
85 | CONFIG_GPIO_SYSFS=y | ||
86 | CONFIG_POWER_SUPPLY=y | ||
87 | CONFIG_POWER_RESET=y | ||
88 | CONFIG_POWER_RESET_GPIO=y | ||
89 | CONFIG_POWER_RESET_QNAP=y | ||
90 | CONFIG_SENSORS_ADT7475=y | ||
91 | CONFIG_SENSORS_LM63=y | ||
92 | CONFIG_SENSORS_LM75=y | ||
93 | CONFIG_SENSORS_LM85=y | ||
94 | CONFIG_THERMAL=y | ||
95 | CONFIG_WATCHDOG=y | ||
96 | CONFIG_ORION_WATCHDOG=y | ||
97 | CONFIG_FB=y | ||
98 | CONFIG_SOUND=y | ||
99 | CONFIG_SND=y | ||
100 | CONFIG_SND_SOC=y | ||
101 | CONFIG_SND_KIRKWOOD_SOC=y | ||
102 | CONFIG_SND_KIRKWOOD_SOC_T5325=y | ||
103 | CONFIG_REGULATOR=y | ||
104 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
105 | CONFIG_HID_DRAGONRISE=y | ||
106 | CONFIG_HID_GYRATION=y | ||
107 | CONFIG_HID_TWINHAN=y | ||
108 | CONFIG_HID_NTRIG=y | ||
109 | CONFIG_HID_PANTHERLORD=y | ||
110 | CONFIG_HID_PETALYNX=y | ||
111 | CONFIG_HID_SAMSUNG=y | ||
112 | CONFIG_HID_SONY=y | ||
113 | CONFIG_HID_SUNPLUS=y | ||
114 | CONFIG_HID_GREENASIA=y | ||
115 | CONFIG_HID_SMARTJOYPLUS=y | ||
116 | CONFIG_HID_TOPSEED=y | ||
117 | CONFIG_HID_THRUSTMASTER=y | ||
118 | CONFIG_HID_ZEROPLUS=y | ||
119 | CONFIG_USB=y | ||
120 | CONFIG_USB_XHCI_HCD=y | ||
121 | CONFIG_USB_EHCI_HCD=y | ||
122 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | ||
123 | CONFIG_USB_PRINTER=m | ||
124 | CONFIG_USB_STORAGE=y | ||
125 | CONFIG_USB_STORAGE_DATAFAB=y | ||
126 | CONFIG_USB_STORAGE_FREECOM=y | ||
127 | CONFIG_USB_STORAGE_SDDR09=y | ||
128 | CONFIG_USB_STORAGE_SDDR55=y | ||
129 | CONFIG_USB_STORAGE_JUMPSHOT=y | ||
130 | CONFIG_MMC=y | ||
131 | CONFIG_SDIO_UART=y | ||
132 | CONFIG_MMC_MVSDIO=y | ||
133 | CONFIG_NEW_LEDS=y | ||
134 | CONFIG_LEDS_CLASS=y | ||
135 | CONFIG_LEDS_GPIO=y | ||
136 | CONFIG_LEDS_TRIGGERS=y | ||
137 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
138 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
139 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
140 | CONFIG_RTC_CLASS=y | ||
141 | CONFIG_RTC_DRV_RS5C372=y | ||
142 | CONFIG_RTC_DRV_PCF8563=y | ||
143 | CONFIG_RTC_DRV_S35390A=y | ||
144 | CONFIG_RTC_DRV_MV=y | ||
145 | CONFIG_DMADEVICES=y | ||
146 | CONFIG_MV_XOR=y | ||
147 | CONFIG_STAGING=y | ||
148 | CONFIG_FB_XGI=y | ||
149 | CONFIG_EXT2_FS=y | ||
150 | CONFIG_EXT3_FS=y | ||
151 | # CONFIG_EXT3_FS_XATTR is not set | ||
152 | CONFIG_EXT4_FS=y | ||
153 | CONFIG_ISO9660_FS=m | ||
154 | CONFIG_JOLIET=y | ||
155 | CONFIG_UDF_FS=m | ||
156 | CONFIG_MSDOS_FS=y | ||
157 | CONFIG_VFAT_FS=y | ||
158 | CONFIG_TMPFS=y | ||
159 | CONFIG_JFFS2_FS=y | ||
160 | CONFIG_CRAMFS=y | ||
161 | CONFIG_NFS_FS=y | ||
162 | CONFIG_ROOT_NFS=y | ||
163 | CONFIG_NLS_CODEPAGE_437=y | ||
164 | CONFIG_NLS_CODEPAGE_850=y | ||
165 | CONFIG_NLS_ISO8859_1=y | ||
166 | CONFIG_NLS_ISO8859_2=y | ||
167 | CONFIG_NLS_UTF8=y | ||
168 | CONFIG_DEBUG_INFO=y | ||
169 | CONFIG_DEBUG_FS=y | ||
170 | CONFIG_MAGIC_SYSRQ=y | ||
171 | CONFIG_DEBUG_KERNEL=y | ||
172 | # CONFIG_SCHED_DEBUG is not set | ||
173 | # CONFIG_DEBUG_PREEMPT is not set | ||
174 | # CONFIG_FTRACE is not set | ||
175 | CONFIG_DEBUG_USER=y | ||
176 | CONFIG_CRYPTO_CBC=m | ||
177 | CONFIG_CRYPTO_PCBC=m | ||
178 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
179 | CONFIG_CRYPTO_DEV_MV_CESA=y | ||
180 | CONFIG_CRC_CCITT=y | ||
181 | CONFIG_LIBCRC32C=y | ||
diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_v7_defconfig index 2ffba3d7b5a5..a34713d8db9f 100644 --- a/arch/arm/configs/mvebu_defconfig +++ b/arch/arm/configs/mvebu_v7_defconfig | |||
@@ -10,6 +10,8 @@ CONFIG_MODULES=y | |||
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | CONFIG_ARCH_MVEBU=y | 11 | CONFIG_ARCH_MVEBU=y |
12 | CONFIG_MACH_ARMADA_370=y | 12 | CONFIG_MACH_ARMADA_370=y |
13 | CONFIG_MACH_ARMADA_375=y | ||
14 | CONFIG_MACH_ARMADA_38X=y | ||
13 | CONFIG_MACH_ARMADA_XP=y | 15 | CONFIG_MACH_ARMADA_XP=y |
14 | CONFIG_NEON=y | 16 | CONFIG_NEON=y |
15 | # CONFIG_CACHE_L2X0 is not set | 17 | # CONFIG_CACHE_L2X0 is not set |
@@ -63,6 +65,13 @@ CONFIG_GPIOLIB=y | |||
63 | CONFIG_GPIO_SYSFS=y | 65 | CONFIG_GPIO_SYSFS=y |
64 | CONFIG_THERMAL=y | 66 | CONFIG_THERMAL=y |
65 | CONFIG_ARMADA_THERMAL=y | 67 | CONFIG_ARMADA_THERMAL=y |
68 | CONFIG_SOUND=y | ||
69 | CONFIG_SND=y | ||
70 | CONFIG_SND_SOC=y | ||
71 | CONFIG_SND_KIRKWOOD_SOC=y | ||
72 | CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=y | ||
73 | CONFIG_WATCHDOG=y | ||
74 | CONFIG_ORION_WATCHDOG=y | ||
66 | CONFIG_USB_SUPPORT=y | 75 | CONFIG_USB_SUPPORT=y |
67 | CONFIG_USB=y | 76 | CONFIG_USB=y |
68 | CONFIG_USB_EHCI_HCD=y | 77 | CONFIG_USB_EHCI_HCD=y |
diff --git a/arch/arm/configs/shmobile_defconfig b/arch/arm/configs/shmobile_defconfig new file mode 100644 index 000000000000..83b07258a385 --- /dev/null +++ b/arch/arm/configs/shmobile_defconfig | |||
@@ -0,0 +1,129 @@ | |||
1 | CONFIG_SYSVIPC=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_IKCONFIG=y | ||
4 | CONFIG_IKCONFIG_PROC=y | ||
5 | CONFIG_LOG_BUF_SHIFT=16 | ||
6 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
7 | CONFIG_SYSCTL_SYSCALL=y | ||
8 | CONFIG_EMBEDDED=y | ||
9 | CONFIG_PERF_EVENTS=y | ||
10 | CONFIG_SLAB=y | ||
11 | CONFIG_ARCH_SHMOBILE_MULTI=y | ||
12 | CONFIG_ARCH_EMEV2=y | ||
13 | CONFIG_ARCH_R8A7790=y | ||
14 | CONFIG_ARCH_R8A7791=y | ||
15 | CONFIG_MACH_KOELSCH=y | ||
16 | CONFIG_MACH_LAGER=y | ||
17 | # CONFIG_SWP_EMULATE is not set | ||
18 | CONFIG_CPU_BPREDICT_DISABLE=y | ||
19 | CONFIG_PL310_ERRATA_588369=y | ||
20 | CONFIG_ARM_ERRATA_754322=y | ||
21 | CONFIG_PCI=y | ||
22 | CONFIG_PCI_RCAR_GEN2=y | ||
23 | CONFIG_SMP=y | ||
24 | CONFIG_SCHED_MC=y | ||
25 | CONFIG_HAVE_ARM_ARCH_TIMER=y | ||
26 | CONFIG_NR_CPUS=8 | ||
27 | CONFIG_AEABI=y | ||
28 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
29 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
30 | CONFIG_ARM_APPENDED_DTB=y | ||
31 | CONFIG_KEXEC=y | ||
32 | CONFIG_VFP=y | ||
33 | CONFIG_NEON=y | ||
34 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
35 | CONFIG_NET=y | ||
36 | CONFIG_PACKET=y | ||
37 | CONFIG_UNIX=y | ||
38 | CONFIG_INET=y | ||
39 | CONFIG_IP_PNP=y | ||
40 | CONFIG_IP_PNP_DHCP=y | ||
41 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
42 | CONFIG_DEVTMPFS=y | ||
43 | CONFIG_DEVTMPFS_MOUNT=y | ||
44 | CONFIG_MTD=y | ||
45 | CONFIG_MTD_M25P80=y | ||
46 | CONFIG_BLK_DEV_SD=y | ||
47 | CONFIG_ATA=y | ||
48 | CONFIG_SATA_RCAR=y | ||
49 | CONFIG_NETDEVICES=y | ||
50 | # CONFIG_NET_VENDOR_ARC is not set | ||
51 | # CONFIG_NET_CADENCE is not set | ||
52 | # CONFIG_NET_VENDOR_BROADCOM is not set | ||
53 | # CONFIG_NET_VENDOR_CIRRUS is not set | ||
54 | # CONFIG_NET_VENDOR_FARADAY is not set | ||
55 | # CONFIG_NET_VENDOR_INTEL is not set | ||
56 | # CONFIG_NET_VENDOR_MARVELL is not set | ||
57 | # CONFIG_NET_VENDOR_MICREL is not set | ||
58 | # CONFIG_NET_VENDOR_NATSEMI is not set | ||
59 | CONFIG_SH_ETH=y | ||
60 | # CONFIG_NET_VENDOR_SEEQ is not set | ||
61 | CONFIG_SMSC911X=y | ||
62 | # CONFIG_NET_VENDOR_STMICRO is not set | ||
63 | # CONFIG_NET_VENDOR_VIA is not set | ||
64 | # CONFIG_NET_VENDOR_WIZNET is not set | ||
65 | CONFIG_SMSC_PHY=y | ||
66 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
67 | CONFIG_KEYBOARD_GPIO=y | ||
68 | # CONFIG_INPUT_MOUSE is not set | ||
69 | # CONFIG_LEGACY_PTYS is not set | ||
70 | CONFIG_SERIAL_8250=y | ||
71 | CONFIG_SERIAL_8250_CONSOLE=y | ||
72 | CONFIG_SERIAL_8250_EXTENDED=y | ||
73 | CONFIG_SERIAL_8250_EM=y | ||
74 | CONFIG_SERIAL_SH_SCI=y | ||
75 | CONFIG_SERIAL_SH_SCI_NR_UARTS=20 | ||
76 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
77 | CONFIG_I2C_GPIO=y | ||
78 | CONFIG_I2C_RCAR=y | ||
79 | CONFIG_SPI=y | ||
80 | CONFIG_SPI_RSPI=y | ||
81 | CONFIG_GPIO_EM=y | ||
82 | CONFIG_GPIO_RCAR=y | ||
83 | # CONFIG_HWMON is not set | ||
84 | CONFIG_THERMAL=y | ||
85 | CONFIG_RCAR_THERMAL=y | ||
86 | CONFIG_REGULATOR=y | ||
87 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
88 | CONFIG_REGULATOR_GPIO=y | ||
89 | CONFIG_MEDIA_SUPPORT=y | ||
90 | CONFIG_MEDIA_CAMERA_SUPPORT=y | ||
91 | CONFIG_V4L_PLATFORM_DRIVERS=y | ||
92 | CONFIG_SOC_CAMERA=y | ||
93 | CONFIG_SOC_CAMERA_PLATFORM=y | ||
94 | CONFIG_VIDEO_RCAR_VIN=y | ||
95 | # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set | ||
96 | CONFIG_VIDEO_ADV7180=y | ||
97 | CONFIG_DRM=y | ||
98 | CONFIG_DRM_RCAR_DU=y | ||
99 | CONFIG_SOUND=y | ||
100 | CONFIG_SND=y | ||
101 | CONFIG_SND_SOC=y | ||
102 | CONFIG_SND_SOC_RCAR=y | ||
103 | CONFIG_USB_RCAR_GEN2_PHY=y | ||
104 | CONFIG_MMC=y | ||
105 | CONFIG_MMC_SDHI=y | ||
106 | CONFIG_MMC_SH_MMCIF=y | ||
107 | CONFIG_NEW_LEDS=y | ||
108 | CONFIG_LEDS_CLASS=y | ||
109 | CONFIG_LEDS_GPIO=y | ||
110 | CONFIG_RTC_CLASS=y | ||
111 | CONFIG_DMADEVICES=y | ||
112 | CONFIG_SH_DMAE=y | ||
113 | # CONFIG_IOMMU_SUPPORT is not set | ||
114 | # CONFIG_DNOTIFY is not set | ||
115 | CONFIG_MSDOS_FS=y | ||
116 | CONFIG_VFAT_FS=y | ||
117 | CONFIG_TMPFS=y | ||
118 | CONFIG_CONFIGFS_FS=y | ||
119 | # CONFIG_MISC_FILESYSTEMS is not set | ||
120 | CONFIG_NFS_FS=y | ||
121 | CONFIG_NFS_V3_ACL=y | ||
122 | CONFIG_NFS_V4=y | ||
123 | CONFIG_NFS_V4_1=y | ||
124 | CONFIG_ROOT_NFS=y | ||
125 | CONFIG_NLS_CODEPAGE_437=y | ||
126 | CONFIG_NLS_ISO8859_1=y | ||
127 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
128 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
129 | # CONFIG_ARM_UNWIND is not set | ||
diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig index 3e2259b60236..b5df4a511b0a 100644 --- a/arch/arm/configs/sunxi_defconfig +++ b/arch/arm/configs/sunxi_defconfig | |||
@@ -24,6 +24,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
24 | # CONFIG_WIRELESS is not set | 24 | # CONFIG_WIRELESS is not set |
25 | CONFIG_DEVTMPFS=y | 25 | CONFIG_DEVTMPFS=y |
26 | CONFIG_DEVTMPFS_MOUNT=y | 26 | CONFIG_DEVTMPFS_MOUNT=y |
27 | CONFIG_EEPROM_SUNXI_SID=y | ||
27 | CONFIG_NETDEVICES=y | 28 | CONFIG_NETDEVICES=y |
28 | CONFIG_SUN4I_EMAC=y | 29 | CONFIG_SUN4I_EMAC=y |
29 | # CONFIG_NET_CADENCE is not set | 30 | # CONFIG_NET_CADENCE is not set |
@@ -48,6 +49,8 @@ CONFIG_I2C=y | |||
48 | # CONFIG_I2C_COMPAT is not set | 49 | # CONFIG_I2C_COMPAT is not set |
49 | CONFIG_I2C_CHARDEV=y | 50 | CONFIG_I2C_CHARDEV=y |
50 | CONFIG_I2C_MV64XXX=y | 51 | CONFIG_I2C_MV64XXX=y |
52 | CONFIG_SPI=y | ||
53 | CONFIG_SPI_SUN6I=y | ||
51 | CONFIG_GPIO_SYSFS=y | 54 | CONFIG_GPIO_SYSFS=y |
52 | # CONFIG_HWMON is not set | 55 | # CONFIG_HWMON is not set |
53 | CONFIG_WATCHDOG=y | 56 | CONFIG_WATCHDOG=y |
diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig index 27d69b558c5d..2926281368ab 100644 --- a/arch/arm/configs/tegra_defconfig +++ b/arch/arm/configs/tegra_defconfig | |||
@@ -1,4 +1,5 @@ | |||
1 | CONFIG_SYSVIPC=y | 1 | CONFIG_SYSVIPC=y |
2 | CONFIG_FHANDLE=y | ||
2 | CONFIG_NO_HZ=y | 3 | CONFIG_NO_HZ=y |
3 | CONFIG_HIGH_RES_TIMERS=y | 4 | CONFIG_HIGH_RES_TIMERS=y |
4 | CONFIG_IKCONFIG=y | 5 | CONFIG_IKCONFIG=y |
@@ -86,6 +87,7 @@ CONFIG_DEVTMPFS=y | |||
86 | CONFIG_DEVTMPFS_MOUNT=y | 87 | CONFIG_DEVTMPFS_MOUNT=y |
87 | # CONFIG_FIRMWARE_IN_KERNEL is not set | 88 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
88 | CONFIG_DMA_CMA=y | 89 | CONFIG_DMA_CMA=y |
90 | CONFIG_CMA_SIZE_MBYTES=64 | ||
89 | CONFIG_MTD=y | 91 | CONFIG_MTD=y |
90 | CONFIG_MTD_M25P80=y | 92 | CONFIG_MTD_M25P80=y |
91 | CONFIG_PROC_DEVICETREE=y | 93 | CONFIG_PROC_DEVICETREE=y |
@@ -125,6 +127,7 @@ CONFIG_SERIAL_TEGRA=y | |||
125 | CONFIG_SERIAL_OF_PLATFORM=y | 127 | CONFIG_SERIAL_OF_PLATFORM=y |
126 | # CONFIG_HW_RANDOM is not set | 128 | # CONFIG_HW_RANDOM is not set |
127 | # CONFIG_I2C_COMPAT is not set | 129 | # CONFIG_I2C_COMPAT is not set |
130 | CONFIG_I2C_MUX_PCA954x=y | ||
128 | CONFIG_I2C_MUX_PINCTRL=y | 131 | CONFIG_I2C_MUX_PINCTRL=y |
129 | CONFIG_I2C_TEGRA=y | 132 | CONFIG_I2C_TEGRA=y |
130 | CONFIG_SPI=y | 133 | CONFIG_SPI=y |
@@ -141,6 +144,7 @@ CONFIG_POWER_SUPPLY=y | |||
141 | CONFIG_BATTERY_SBS=y | 144 | CONFIG_BATTERY_SBS=y |
142 | CONFIG_CHARGER_TPS65090=y | 145 | CONFIG_CHARGER_TPS65090=y |
143 | CONFIG_POWER_RESET=y | 146 | CONFIG_POWER_RESET=y |
147 | CONFIG_POWER_RESET_AS3722=y | ||
144 | CONFIG_POWER_RESET_GPIO=y | 148 | CONFIG_POWER_RESET_GPIO=y |
145 | CONFIG_SENSORS_LM90=y | 149 | CONFIG_SENSORS_LM90=y |
146 | CONFIG_MFD_AS3722=y | 150 | CONFIG_MFD_AS3722=y |
@@ -166,7 +170,8 @@ CONFIG_REGULATOR_TPS65910=y | |||
166 | CONFIG_MEDIA_SUPPORT=y | 170 | CONFIG_MEDIA_SUPPORT=y |
167 | CONFIG_MEDIA_CAMERA_SUPPORT=y | 171 | CONFIG_MEDIA_CAMERA_SUPPORT=y |
168 | CONFIG_MEDIA_USB_SUPPORT=y | 172 | CONFIG_MEDIA_USB_SUPPORT=y |
169 | CONFIG_USB_VIDEO_CLASS=m | 173 | CONFIG_USB_VIDEO_CLASS=y |
174 | CONFIG_USB_GSPCA=y | ||
170 | CONFIG_DRM=y | 175 | CONFIG_DRM=y |
171 | CONFIG_DRM_TEGRA=y | 176 | CONFIG_DRM_TEGRA=y |
172 | CONFIG_DRM_PANEL_SIMPLE=y | 177 | CONFIG_DRM_PANEL_SIMPLE=y |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index f162f1b77cd2..57d60542f982 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/spi/pxa2xx_spi.h> | 32 | #include <linux/spi/pxa2xx_spi.h> |
33 | #include <linux/mtd/sharpsl.h> | 33 | #include <linux/mtd/sharpsl.h> |
34 | #include <linux/input/matrix_keypad.h> | 34 | #include <linux/input/matrix_keypad.h> |
35 | #include <linux/gpio_keys.h> | ||
35 | #include <linux/module.h> | 36 | #include <linux/module.h> |
36 | #include <video/w100fb.h> | 37 | #include <video/w100fb.h> |
37 | 38 | ||
@@ -405,6 +406,44 @@ static struct platform_device corgikbd_device = { | |||
405 | }, | 406 | }, |
406 | }; | 407 | }; |
407 | 408 | ||
409 | static struct gpio_keys_button corgi_gpio_keys[] = { | ||
410 | { | ||
411 | .type = EV_SW, | ||
412 | .code = SW_LID, | ||
413 | .gpio = CORGI_GPIO_SWA, | ||
414 | .desc = "Lid close switch", | ||
415 | .debounce_interval = 500, | ||
416 | }, | ||
417 | { | ||
418 | .type = EV_SW, | ||
419 | .code = SW_TABLET_MODE, | ||
420 | .gpio = CORGI_GPIO_SWB, | ||
421 | .desc = "Tablet mode switch", | ||
422 | .debounce_interval = 500, | ||
423 | }, | ||
424 | { | ||
425 | .type = EV_SW, | ||
426 | .code = SW_HEADPHONE_INSERT, | ||
427 | .gpio = CORGI_GPIO_AK_INT, | ||
428 | .desc = "HeadPhone insert", | ||
429 | .debounce_interval = 500, | ||
430 | }, | ||
431 | }; | ||
432 | |||
433 | static struct gpio_keys_platform_data corgi_gpio_keys_platform_data = { | ||
434 | .buttons = corgi_gpio_keys, | ||
435 | .nbuttons = ARRAY_SIZE(corgi_gpio_keys), | ||
436 | .poll_interval = 250, | ||
437 | }; | ||
438 | |||
439 | static struct platform_device corgi_gpio_keys_device = { | ||
440 | .name = "gpio-keys-polled", | ||
441 | .id = -1, | ||
442 | .dev = { | ||
443 | .platform_data = &corgi_gpio_keys_platform_data, | ||
444 | }, | ||
445 | }; | ||
446 | |||
408 | /* | 447 | /* |
409 | * Corgi LEDs | 448 | * Corgi LEDs |
410 | */ | 449 | */ |
@@ -646,6 +685,7 @@ static struct platform_device sharpsl_rom_device = { | |||
646 | static struct platform_device *devices[] __initdata = { | 685 | static struct platform_device *devices[] __initdata = { |
647 | &corgiscoop_device, | 686 | &corgiscoop_device, |
648 | &corgifb_device, | 687 | &corgifb_device, |
688 | &corgi_gpio_keys_device, | ||
649 | &corgikbd_device, | 689 | &corgikbd_device, |
650 | &corgiled_device, | 690 | &corgiled_device, |
651 | &corgi_audio_device, | 691 | &corgi_audio_device, |
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index c0b650b1c846..a182008e3aeb 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -45,15 +45,12 @@ config MACH_GENMAI | |||
45 | config MACH_KOELSCH | 45 | config MACH_KOELSCH |
46 | bool "Koelsch board" | 46 | bool "Koelsch board" |
47 | depends on ARCH_R8A7791 | 47 | depends on ARCH_R8A7791 |
48 | 48 | select MICREL_PHY if SH_ETH | |
49 | config MACH_KZM9D | ||
50 | bool "KZM9D board" | ||
51 | depends on ARCH_EMEV2 | ||
52 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
53 | 49 | ||
54 | config MACH_LAGER | 50 | config MACH_LAGER |
55 | bool "Lager board" | 51 | bool "Lager board" |
56 | depends on ARCH_R8A7790 | 52 | depends on ARCH_R8A7790 |
53 | select MICREL_PHY if SH_ETH | ||
57 | 54 | ||
58 | comment "Renesas ARM SoCs System Configuration" | 55 | comment "Renesas ARM SoCs System Configuration" |
59 | endif | 56 | endif |
@@ -166,11 +163,13 @@ comment "Renesas ARM SoCs Board Type" | |||
166 | config MACH_APE6EVM | 163 | config MACH_APE6EVM |
167 | bool "APE6EVM board" | 164 | bool "APE6EVM board" |
168 | depends on ARCH_R8A73A4 | 165 | depends on ARCH_R8A73A4 |
166 | select SMSC_PHY if SMSC911X | ||
169 | select USE_OF | 167 | select USE_OF |
170 | 168 | ||
171 | config MACH_APE6EVM_REFERENCE | 169 | config MACH_APE6EVM_REFERENCE |
172 | bool "APE6EVM board - Reference Device Tree Implementation" | 170 | bool "APE6EVM board - Reference Device Tree Implementation" |
173 | depends on ARCH_R8A73A4 | 171 | depends on ARCH_R8A73A4 |
172 | select SMSC_PHY if SMSC911X | ||
174 | select USE_OF | 173 | select USE_OF |
175 | ---help--- | 174 | ---help--- |
176 | Use reference implementation of APE6EVM board support | 175 | Use reference implementation of APE6EVM board support |
@@ -184,6 +183,7 @@ config MACH_MACKEREL | |||
184 | depends on ARCH_SH7372 | 183 | depends on ARCH_SH7372 |
185 | select ARCH_REQUIRE_GPIOLIB | 184 | select ARCH_REQUIRE_GPIOLIB |
186 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 185 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
186 | select SMSC_PHY if SMSC911X | ||
187 | select SND_SOC_AK4642 if SND_SIMPLE_CARD | 187 | select SND_SOC_AK4642 if SND_SIMPLE_CARD |
188 | select USE_OF | 188 | select USE_OF |
189 | 189 | ||
@@ -192,6 +192,7 @@ config MACH_ARMADILLO800EVA | |||
192 | depends on ARCH_R8A7740 | 192 | depends on ARCH_R8A7740 |
193 | select ARCH_REQUIRE_GPIOLIB | 193 | select ARCH_REQUIRE_GPIOLIB |
194 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 194 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
195 | select SMSC_PHY if SH_ETH | ||
195 | select SND_SOC_WM8978 if SND_SIMPLE_CARD | 196 | select SND_SOC_WM8978 if SND_SIMPLE_CARD |
196 | select USE_OF | 197 | select USE_OF |
197 | 198 | ||
@@ -200,6 +201,7 @@ config MACH_ARMADILLO800EVA_REFERENCE | |||
200 | depends on ARCH_R8A7740 | 201 | depends on ARCH_R8A7740 |
201 | select ARCH_REQUIRE_GPIOLIB | 202 | select ARCH_REQUIRE_GPIOLIB |
202 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 203 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
204 | select SMSC_PHY if SH_ETH | ||
203 | select SND_SOC_WM8978 if SND_SIMPLE_CARD | 205 | select SND_SOC_WM8978 if SND_SIMPLE_CARD |
204 | select USE_OF | 206 | select USE_OF |
205 | ---help--- | 207 | ---help--- |
@@ -213,11 +215,11 @@ config MACH_BOCKW | |||
213 | bool "BOCK-W platform" | 215 | bool "BOCK-W platform" |
214 | depends on ARCH_R8A7778 | 216 | depends on ARCH_R8A7778 |
215 | select ARCH_REQUIRE_GPIOLIB | 217 | select ARCH_REQUIRE_GPIOLIB |
216 | select RENESAS_INTC_IRQPIN | ||
217 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 218 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
218 | select USE_OF | 219 | select RENESAS_INTC_IRQPIN |
219 | select SND_SOC_AK4554 if SND_SIMPLE_CARD | 220 | select SND_SOC_AK4554 if SND_SIMPLE_CARD |
220 | select SND_SOC_AK4642 if SND_SIMPLE_CARD | 221 | select SND_SOC_AK4642 if SND_SIMPLE_CARD |
222 | select USE_OF | ||
221 | 223 | ||
222 | config MACH_BOCKW_REFERENCE | 224 | config MACH_BOCKW_REFERENCE |
223 | bool "BOCK-W - Reference Device Tree Implementation" | 225 | bool "BOCK-W - Reference Device Tree Implementation" |
@@ -273,6 +275,8 @@ config MACH_LAGER | |||
273 | bool "Lager board" | 275 | bool "Lager board" |
274 | depends on ARCH_R8A7790 | 276 | depends on ARCH_R8A7790 |
275 | select USE_OF | 277 | select USE_OF |
278 | select MICREL_PHY if SH_ETH | ||
279 | select SND_SOC_AK4642 if SND_SIMPLE_CARD | ||
276 | 280 | ||
277 | config MACH_KOELSCH | 281 | config MACH_KOELSCH |
278 | bool "Koelsch board" | 282 | bool "Koelsch board" |
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index d38a6362e5f8..4caffc912a81 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -59,7 +59,6 @@ obj-$(CONFIG_ARCH_R8A7790) += pm-r8a7790.o pm-rcar.o | |||
59 | ifdef CONFIG_ARCH_SHMOBILE_MULTI | 59 | ifdef CONFIG_ARCH_SHMOBILE_MULTI |
60 | obj-$(CONFIG_MACH_GENMAI) += board-genmai-reference.o | 60 | obj-$(CONFIG_MACH_GENMAI) += board-genmai-reference.o |
61 | obj-$(CONFIG_MACH_KOELSCH) += board-koelsch-reference.o | 61 | obj-$(CONFIG_MACH_KOELSCH) += board-koelsch-reference.o |
62 | obj-$(CONFIG_MACH_KZM9D) += board-kzm9d-reference.o | ||
63 | obj-$(CONFIG_MACH_LAGER) += board-lager-reference.o | 62 | obj-$(CONFIG_MACH_LAGER) += board-lager-reference.o |
64 | else | 63 | else |
65 | obj-$(CONFIG_MACH_APE6EVM) += board-ape6evm.o | 64 | obj-$(CONFIG_MACH_APE6EVM) += board-ape6evm.o |
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 9323854242ca..2858f380beae 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -383,6 +383,8 @@ static struct platform_device sh_eth_device = { | |||
383 | .id = -1, | 383 | .id = -1, |
384 | .dev = { | 384 | .dev = { |
385 | .platform_data = &sh_eth_platdata, | 385 | .platform_data = &sh_eth_platdata, |
386 | .dma_mask = &sh_eth_device.dev.coherent_dma_mask, | ||
387 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
386 | }, | 388 | }, |
387 | .resource = sh_eth_resources, | 389 | .resource = sh_eth_resources, |
388 | .num_resources = ARRAY_SIZE(sh_eth_resources), | 390 | .num_resources = ARRAY_SIZE(sh_eth_resources), |
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c index 74c27d9d6900..b4122f8cb8d9 100644 --- a/arch/arm/mach-shmobile/board-bockw.c +++ b/arch/arm/mach-shmobile/board-bockw.c | |||
@@ -1,9 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Bock-W board support | 2 | * Bock-W board support |
3 | * | 3 | * |
4 | * Copyright (C) 2013 Renesas Solutions Corp. | 4 | * Copyright (C) 2013-2014 Renesas Solutions Corp. |
5 | * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 5 | * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
6 | * Copyright (C) 2013 Cogent Embedded, Inc. | 6 | * Copyright (C) 2013-2014 Cogent Embedded, Inc. |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License as published by | 9 | * it under the terms of the GNU General Public License as published by |
@@ -168,6 +168,8 @@ static struct renesas_usbhs_platform_info usbhs_info __initdata = { | |||
168 | }, | 168 | }, |
169 | .driver_param = { | 169 | .driver_param = { |
170 | .buswait_bwait = 4, | 170 | .buswait_bwait = 4, |
171 | .d0_tx_id = HPBDMA_SLAVE_USBFUNC_TX, | ||
172 | .d1_rx_id = HPBDMA_SLAVE_USBFUNC_RX, | ||
171 | }, | 173 | }, |
172 | }; | 174 | }; |
173 | 175 | ||
@@ -233,6 +235,17 @@ static struct sh_eth_plat_data ether_platform_data __initdata = { | |||
233 | .no_ether_link = 1, | 235 | .no_ether_link = 1, |
234 | }; | 236 | }; |
235 | 237 | ||
238 | static struct platform_device_info ether_info __initdata = { | ||
239 | .parent = &platform_bus, | ||
240 | .name = "r8a777x-ether", | ||
241 | .id = -1, | ||
242 | .res = ether_resources, | ||
243 | .num_res = ARRAY_SIZE(ether_resources), | ||
244 | .data = ðer_platform_data, | ||
245 | .size_data = sizeof(ether_platform_data), | ||
246 | .dma_mask = DMA_BIT_MASK(32), | ||
247 | }; | ||
248 | |||
236 | /* I2C */ | 249 | /* I2C */ |
237 | static struct i2c_board_info i2c0_devices[] = { | 250 | static struct i2c_board_info i2c0_devices[] = { |
238 | { | 251 | { |
@@ -332,16 +345,24 @@ static struct rsnd_ssi_platform_info rsnd_ssi[] = { | |||
332 | RSND_SSI_UNUSED, /* SSI 0 */ | 345 | RSND_SSI_UNUSED, /* SSI 0 */ |
333 | RSND_SSI_UNUSED, /* SSI 1 */ | 346 | RSND_SSI_UNUSED, /* SSI 1 */ |
334 | RSND_SSI_UNUSED, /* SSI 2 */ | 347 | RSND_SSI_UNUSED, /* SSI 2 */ |
335 | RSND_SSI_SET(1, 0, gic_iid(0x85), RSND_SSI_PLAY), | 348 | RSND_SSI_SET(1, HPBDMA_SLAVE_HPBIF3_TX, gic_iid(0x85), RSND_SSI_PLAY), |
336 | RSND_SSI_SET(2, 0, gic_iid(0x85), RSND_SSI_CLK_PIN_SHARE), | 349 | RSND_SSI_SET(2, HPBDMA_SLAVE_HPBIF4_RX, gic_iid(0x85), RSND_SSI_CLK_PIN_SHARE), |
337 | RSND_SSI_SET(0, 0, gic_iid(0x86), RSND_SSI_PLAY), | 350 | RSND_SSI_SET(0, HPBDMA_SLAVE_HPBIF5_TX, gic_iid(0x86), RSND_SSI_PLAY), |
338 | RSND_SSI_SET(0, 0, gic_iid(0x86), 0), | 351 | RSND_SSI_SET(0, HPBDMA_SLAVE_HPBIF6_RX, gic_iid(0x86), 0), |
339 | RSND_SSI_SET(3, 0, gic_iid(0x86), RSND_SSI_PLAY), | 352 | RSND_SSI_SET(3, HPBDMA_SLAVE_HPBIF7_TX, gic_iid(0x86), RSND_SSI_PLAY), |
340 | RSND_SSI_SET(4, 0, gic_iid(0x86), RSND_SSI_CLK_PIN_SHARE), | 353 | RSND_SSI_SET(4, HPBDMA_SLAVE_HPBIF8_RX, gic_iid(0x86), RSND_SSI_CLK_PIN_SHARE), |
341 | }; | 354 | }; |
342 | 355 | ||
343 | static struct rsnd_scu_platform_info rsnd_scu[9] = { | 356 | static struct rsnd_scu_platform_info rsnd_scu[9] = { |
344 | /* no member at this point */ | 357 | { .flags = 0, }, /* SRU 0 */ |
358 | { .flags = 0, }, /* SRU 1 */ | ||
359 | { .flags = 0, }, /* SRU 2 */ | ||
360 | { .flags = RSND_SCU_USE_HPBIF, }, | ||
361 | { .flags = RSND_SCU_USE_HPBIF, }, | ||
362 | { .flags = RSND_SCU_USE_HPBIF, }, | ||
363 | { .flags = RSND_SCU_USE_HPBIF, }, | ||
364 | { .flags = RSND_SCU_USE_HPBIF, }, | ||
365 | { .flags = RSND_SCU_USE_HPBIF, }, | ||
345 | }; | 366 | }; |
346 | 367 | ||
347 | enum { | 368 | enum { |
@@ -576,11 +597,7 @@ static void __init bockw_init(void) | |||
576 | r8a7778_init_irq_extpin(1); | 597 | r8a7778_init_irq_extpin(1); |
577 | r8a7778_add_standard_devices(); | 598 | r8a7778_add_standard_devices(); |
578 | 599 | ||
579 | platform_device_register_resndata(&platform_bus, "r8a777x-ether", -1, | 600 | platform_device_register_full(ðer_info); |
580 | ether_resources, | ||
581 | ARRAY_SIZE(ether_resources), | ||
582 | ðer_platform_data, | ||
583 | sizeof(ether_platform_data)); | ||
584 | 601 | ||
585 | platform_device_register_full(&vin0_info); | 602 | platform_device_register_full(&vin0_info); |
586 | /* VIN1 has a pin conflict with Ether */ | 603 | /* VIN1 has a pin conflict with Ether */ |
diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c index 3e92e3c62d4c..6c328d63b819 100644 --- a/arch/arm/mach-shmobile/board-genmai.c +++ b/arch/arm/mach-shmobile/board-genmai.c | |||
@@ -1,8 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Genmai board support | 2 | * Genmai board support |
3 | * | 3 | * |
4 | * Copyright (C) 2013 Renesas Solutions Corp. | 4 | * Copyright (C) 2013-2014 Renesas Solutions Corp. |
5 | * Copyright (C) 2013 Magnus Damm | 5 | * Copyright (C) 2013 Magnus Damm |
6 | * Copyright (C) 2014 Cogent Embedded, Inc. | ||
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 9 | * it under the terms of the GNU General Public License as published by |
@@ -20,15 +21,87 @@ | |||
20 | 21 | ||
21 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
22 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | #include <linux/sh_eth.h> | ||
25 | #include <linux/spi/rspi.h> | ||
26 | #include <linux/spi/spi.h> | ||
23 | #include <mach/common.h> | 27 | #include <mach/common.h> |
28 | #include <mach/irqs.h> | ||
24 | #include <mach/r7s72100.h> | 29 | #include <mach/r7s72100.h> |
25 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
26 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
27 | 32 | ||
33 | /* Ether */ | ||
34 | static const struct sh_eth_plat_data ether_pdata __initconst = { | ||
35 | .phy = 0x00, /* PD60610 */ | ||
36 | .edmac_endian = EDMAC_LITTLE_ENDIAN, | ||
37 | .phy_interface = PHY_INTERFACE_MODE_MII, | ||
38 | .no_ether_link = 1 | ||
39 | }; | ||
40 | |||
41 | static const struct resource ether_resources[] __initconst = { | ||
42 | DEFINE_RES_MEM(0xe8203000, 0x800), | ||
43 | DEFINE_RES_MEM(0xe8204800, 0x200), | ||
44 | DEFINE_RES_IRQ(gic_iid(359)), | ||
45 | }; | ||
46 | |||
47 | static const struct platform_device_info ether_info __initconst = { | ||
48 | .parent = &platform_bus, | ||
49 | .name = "r7s72100-ether", | ||
50 | .id = -1, | ||
51 | .res = ether_resources, | ||
52 | .num_res = ARRAY_SIZE(ether_resources), | ||
53 | .data = ðer_pdata, | ||
54 | .size_data = sizeof(ether_pdata), | ||
55 | .dma_mask = DMA_BIT_MASK(32), | ||
56 | }; | ||
57 | |||
58 | /* RSPI */ | ||
59 | #define RSPI_RESOURCE(idx, baseaddr, irq) \ | ||
60 | static const struct resource rspi##idx##_resources[] __initconst = { \ | ||
61 | DEFINE_RES_MEM(baseaddr, 0x24), \ | ||
62 | DEFINE_RES_IRQ_NAMED(irq, "error"), \ | ||
63 | DEFINE_RES_IRQ_NAMED(irq + 1, "rx"), \ | ||
64 | DEFINE_RES_IRQ_NAMED(irq + 2, "tx"), \ | ||
65 | } | ||
66 | |||
67 | RSPI_RESOURCE(0, 0xe800c800, gic_iid(270)); | ||
68 | RSPI_RESOURCE(1, 0xe800d000, gic_iid(273)); | ||
69 | RSPI_RESOURCE(2, 0xe800d800, gic_iid(276)); | ||
70 | RSPI_RESOURCE(3, 0xe800e000, gic_iid(279)); | ||
71 | RSPI_RESOURCE(4, 0xe800e800, gic_iid(282)); | ||
72 | |||
73 | static const struct rspi_plat_data rspi_pdata __initconst = { | ||
74 | .num_chipselect = 1, | ||
75 | }; | ||
76 | |||
77 | #define r7s72100_register_rspi(idx) \ | ||
78 | platform_device_register_resndata(&platform_bus, "rspi-rz", idx, \ | ||
79 | rspi##idx##_resources, \ | ||
80 | ARRAY_SIZE(rspi##idx##_resources), \ | ||
81 | &rspi_pdata, sizeof(rspi_pdata)) | ||
82 | |||
83 | static const struct spi_board_info spi_info[] __initconst = { | ||
84 | { | ||
85 | .modalias = "wm8978", | ||
86 | .max_speed_hz = 5000000, | ||
87 | .bus_num = 4, | ||
88 | .chip_select = 0, | ||
89 | }, | ||
90 | }; | ||
91 | |||
28 | static void __init genmai_add_standard_devices(void) | 92 | static void __init genmai_add_standard_devices(void) |
29 | { | 93 | { |
30 | r7s72100_clock_init(); | 94 | r7s72100_clock_init(); |
31 | r7s72100_add_dt_devices(); | 95 | r7s72100_add_dt_devices(); |
96 | |||
97 | platform_device_register_full(ðer_info); | ||
98 | |||
99 | r7s72100_register_rspi(0); | ||
100 | r7s72100_register_rspi(1); | ||
101 | r7s72100_register_rspi(2); | ||
102 | r7s72100_register_rspi(3); | ||
103 | r7s72100_register_rspi(4); | ||
104 | spi_register_board_info(spi_info, ARRAY_SIZE(spi_info)); | ||
32 | } | 105 | } |
33 | 106 | ||
34 | static const char * const genmai_boards_compat_dt[] __initconst = { | 107 | static const char * const genmai_boards_compat_dt[] __initconst = { |
diff --git a/arch/arm/mach-shmobile/board-koelsch-reference.c b/arch/arm/mach-shmobile/board-koelsch-reference.c index 652b59268416..a3fd30242bd8 100644 --- a/arch/arm/mach-shmobile/board-koelsch-reference.c +++ b/arch/arm/mach-shmobile/board-koelsch-reference.c | |||
@@ -21,46 +21,114 @@ | |||
21 | 21 | ||
22 | #include <linux/clk.h> | 22 | #include <linux/clk.h> |
23 | #include <linux/clkdev.h> | 23 | #include <linux/clkdev.h> |
24 | #include <linux/dma-mapping.h> | ||
24 | #include <linux/kernel.h> | 25 | #include <linux/kernel.h> |
25 | #include <linux/of_platform.h> | 26 | #include <linux/of_platform.h> |
27 | #include <linux/platform_data/rcar-du.h> | ||
26 | #include <mach/common.h> | 28 | #include <mach/common.h> |
29 | #include <mach/irqs.h> | ||
27 | #include <mach/rcar-gen2.h> | 30 | #include <mach/rcar-gen2.h> |
28 | #include <mach/r8a7791.h> | 31 | #include <mach/r8a7791.h> |
29 | #include <asm/mach/arch.h> | 32 | #include <asm/mach/arch.h> |
30 | 33 | ||
34 | /* DU */ | ||
35 | static struct rcar_du_encoder_data koelsch_du_encoders[] = { | ||
36 | { | ||
37 | .type = RCAR_DU_ENCODER_NONE, | ||
38 | .output = RCAR_DU_OUTPUT_LVDS0, | ||
39 | .connector.lvds.panel = { | ||
40 | .width_mm = 210, | ||
41 | .height_mm = 158, | ||
42 | .mode = { | ||
43 | .clock = 65000, | ||
44 | .hdisplay = 1024, | ||
45 | .hsync_start = 1048, | ||
46 | .hsync_end = 1184, | ||
47 | .htotal = 1344, | ||
48 | .vdisplay = 768, | ||
49 | .vsync_start = 771, | ||
50 | .vsync_end = 777, | ||
51 | .vtotal = 806, | ||
52 | .flags = 0, | ||
53 | }, | ||
54 | }, | ||
55 | }, | ||
56 | }; | ||
57 | |||
58 | static struct rcar_du_platform_data koelsch_du_pdata = { | ||
59 | .encoders = koelsch_du_encoders, | ||
60 | .num_encoders = ARRAY_SIZE(koelsch_du_encoders), | ||
61 | }; | ||
62 | |||
63 | static const struct resource du_resources[] __initconst = { | ||
64 | DEFINE_RES_MEM(0xfeb00000, 0x40000), | ||
65 | DEFINE_RES_MEM_NAMED(0xfeb90000, 0x1c, "lvds.0"), | ||
66 | DEFINE_RES_IRQ(gic_spi(256)), | ||
67 | DEFINE_RES_IRQ(gic_spi(268)), | ||
68 | }; | ||
69 | |||
70 | static void __init koelsch_add_du_device(void) | ||
71 | { | ||
72 | struct platform_device_info info = { | ||
73 | .name = "rcar-du-r8a7791", | ||
74 | .id = -1, | ||
75 | .res = du_resources, | ||
76 | .num_res = ARRAY_SIZE(du_resources), | ||
77 | .data = &koelsch_du_pdata, | ||
78 | .size_data = sizeof(koelsch_du_pdata), | ||
79 | .dma_mask = DMA_BIT_MASK(32), | ||
80 | }; | ||
81 | |||
82 | platform_device_register_full(&info); | ||
83 | } | ||
84 | |||
31 | static void __init koelsch_add_standard_devices(void) | 85 | static void __init koelsch_add_standard_devices(void) |
32 | { | 86 | { |
33 | #ifdef CONFIG_COMMON_CLK | ||
34 | /* | 87 | /* |
35 | * This is a really crude hack to provide clkdev support to the SCIF | 88 | * This is a really crude hack to provide clkdev support to the CMT and |
36 | * and CMT devices until they get moved to DT. | 89 | * DU devices until they get moved to DT. |
37 | */ | 90 | */ |
38 | static const char * const scif_names[] = { | 91 | static const struct clk_name { |
39 | "scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifa2", | 92 | const char *clk; |
40 | "scif0", "scif1", "scif2", "scif3", "scif4", "scif5", "scifa3", | 93 | const char *con_id; |
41 | "scifa4", "scifa5", | 94 | const char *dev_id; |
95 | } clk_names[] = { | ||
96 | { "cmt0", NULL, "sh_cmt.0" }, | ||
97 | { "scifa0", NULL, "sh-sci.0" }, | ||
98 | { "scifa1", NULL, "sh-sci.1" }, | ||
99 | { "scifb0", NULL, "sh-sci.2" }, | ||
100 | { "scifb1", NULL, "sh-sci.3" }, | ||
101 | { "scifb2", NULL, "sh-sci.4" }, | ||
102 | { "scifa2", NULL, "sh-sci.5" }, | ||
103 | { "scif0", NULL, "sh-sci.6" }, | ||
104 | { "scif1", NULL, "sh-sci.7" }, | ||
105 | { "scif2", NULL, "sh-sci.8" }, | ||
106 | { "scif3", NULL, "sh-sci.9" }, | ||
107 | { "scif4", NULL, "sh-sci.10" }, | ||
108 | { "scif5", NULL, "sh-sci.11" }, | ||
109 | { "scifa3", NULL, "sh-sci.12" }, | ||
110 | { "scifa4", NULL, "sh-sci.13" }, | ||
111 | { "scifa5", NULL, "sh-sci.14" }, | ||
112 | { "du0", "du.0", "rcar-du-r8a7791" }, | ||
113 | { "du1", "du.1", "rcar-du-r8a7791" }, | ||
114 | { "lvds0", "lvds.0", "rcar-du-r8a7791" }, | ||
42 | }; | 115 | }; |
43 | struct clk *clk; | 116 | struct clk *clk; |
44 | unsigned int i; | 117 | unsigned int i; |
45 | 118 | ||
46 | for (i = 0; i < ARRAY_SIZE(scif_names); ++i) { | 119 | for (i = 0; i < ARRAY_SIZE(clk_names); ++i) { |
47 | clk = clk_get(NULL, scif_names[i]); | 120 | clk = clk_get(NULL, clk_names[i].clk); |
48 | if (clk) { | 121 | if (!IS_ERR(clk)) { |
49 | clk_register_clkdev(clk, NULL, "sh-sci.%u", i); | 122 | clk_register_clkdev(clk, clk_names[i].con_id, |
123 | clk_names[i].dev_id); | ||
50 | clk_put(clk); | 124 | clk_put(clk); |
51 | } | 125 | } |
52 | } | 126 | } |
53 | 127 | ||
54 | clk = clk_get(NULL, "cmt0"); | ||
55 | if (clk) { | ||
56 | clk_register_clkdev(clk, NULL, "sh_cmt.0"); | ||
57 | clk_put(clk); | ||
58 | } | ||
59 | #else | ||
60 | r8a7791_clock_init(); | ||
61 | #endif | ||
62 | r8a7791_add_dt_devices(); | 128 | r8a7791_add_dt_devices(); |
63 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 129 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
130 | |||
131 | koelsch_add_du_device(); | ||
64 | } | 132 | } |
65 | 133 | ||
66 | static const char * const koelsch_boards_compat_dt[] __initconst = { | 134 | static const char * const koelsch_boards_compat_dt[] __initconst = { |
diff --git a/arch/arm/mach-shmobile/board-koelsch.c b/arch/arm/mach-shmobile/board-koelsch.c index de7cc64b1f37..5a034ff405d0 100644 --- a/arch/arm/mach-shmobile/board-koelsch.c +++ b/arch/arm/mach-shmobile/board-koelsch.c | |||
@@ -2,8 +2,9 @@ | |||
2 | * Koelsch board support | 2 | * Koelsch board support |
3 | * | 3 | * |
4 | * Copyright (C) 2013 Renesas Electronics Corporation | 4 | * Copyright (C) 2013 Renesas Electronics Corporation |
5 | * Copyright (C) 2013 Renesas Solutions Corp. | 5 | * Copyright (C) 2013-2014 Renesas Solutions Corp. |
6 | * Copyright (C) 2013 Magnus Damm | 6 | * Copyright (C) 2013 Magnus Damm |
7 | * Copyright (C) 2014 Cogent Embedded, Inc. | ||
7 | * | 8 | * |
8 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License as published by | 10 | * it under the terms of the GNU General Public License as published by |
@@ -23,14 +24,27 @@ | |||
23 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
24 | #include <linux/gpio_keys.h> | 25 | #include <linux/gpio_keys.h> |
25 | #include <linux/input.h> | 26 | #include <linux/input.h> |
27 | #include <linux/irq.h> | ||
26 | #include <linux/kernel.h> | 28 | #include <linux/kernel.h> |
27 | #include <linux/leds.h> | 29 | #include <linux/leds.h> |
30 | #include <linux/mfd/tmio.h> | ||
31 | #include <linux/mmc/host.h> | ||
32 | #include <linux/mmc/sh_mobile_sdhi.h> | ||
33 | #include <linux/mtd/mtd.h> | ||
34 | #include <linux/mtd/partitions.h> | ||
28 | #include <linux/phy.h> | 35 | #include <linux/phy.h> |
29 | #include <linux/pinctrl/machine.h> | 36 | #include <linux/pinctrl/machine.h> |
30 | #include <linux/platform_data/gpio-rcar.h> | 37 | #include <linux/platform_data/gpio-rcar.h> |
31 | #include <linux/platform_data/rcar-du.h> | 38 | #include <linux/platform_data/rcar-du.h> |
32 | #include <linux/platform_device.h> | 39 | #include <linux/platform_device.h> |
40 | #include <linux/regulator/driver.h> | ||
41 | #include <linux/regulator/fixed.h> | ||
42 | #include <linux/regulator/gpio-regulator.h> | ||
43 | #include <linux/regulator/machine.h> | ||
33 | #include <linux/sh_eth.h> | 44 | #include <linux/sh_eth.h> |
45 | #include <linux/spi/flash.h> | ||
46 | #include <linux/spi/rspi.h> | ||
47 | #include <linux/spi/spi.h> | ||
34 | #include <mach/common.h> | 48 | #include <mach/common.h> |
35 | #include <mach/irqs.h> | 49 | #include <mach/irqs.h> |
36 | #include <mach/r8a7791.h> | 50 | #include <mach/r8a7791.h> |
@@ -92,6 +106,7 @@ static void __init koelsch_add_du_device(void) | |||
92 | /* Ether */ | 106 | /* Ether */ |
93 | static const struct sh_eth_plat_data ether_pdata __initconst = { | 107 | static const struct sh_eth_plat_data ether_pdata __initconst = { |
94 | .phy = 0x1, | 108 | .phy = 0x1, |
109 | .phy_irq = irq_pin(0), | ||
95 | .edmac_endian = EDMAC_LITTLE_ENDIAN, | 110 | .edmac_endian = EDMAC_LITTLE_ENDIAN, |
96 | .phy_interface = PHY_INTERFACE_MODE_RMII, | 111 | .phy_interface = PHY_INTERFACE_MODE_RMII, |
97 | .ether_link_active_low = 1, | 112 | .ether_link_active_low = 1, |
@@ -102,6 +117,17 @@ static const struct resource ether_resources[] __initconst = { | |||
102 | DEFINE_RES_IRQ(gic_spi(162)), | 117 | DEFINE_RES_IRQ(gic_spi(162)), |
103 | }; | 118 | }; |
104 | 119 | ||
120 | static const struct platform_device_info ether_info __initconst = { | ||
121 | .parent = &platform_bus, | ||
122 | .name = "r8a7791-ether", | ||
123 | .id = -1, | ||
124 | .res = ether_resources, | ||
125 | .num_res = ARRAY_SIZE(ether_resources), | ||
126 | .data = ðer_pdata, | ||
127 | .size_data = sizeof(ether_pdata), | ||
128 | .dma_mask = DMA_BIT_MASK(32), | ||
129 | }; | ||
130 | |||
105 | /* LEDS */ | 131 | /* LEDS */ |
106 | static struct gpio_led koelsch_leds[] = { | 132 | static struct gpio_led koelsch_leds[] = { |
107 | { | 133 | { |
@@ -148,6 +174,199 @@ static const struct gpio_keys_platform_data koelsch_keys_pdata __initconst = { | |||
148 | .nbuttons = ARRAY_SIZE(gpio_buttons), | 174 | .nbuttons = ARRAY_SIZE(gpio_buttons), |
149 | }; | 175 | }; |
150 | 176 | ||
177 | /* QSPI */ | ||
178 | static const struct resource qspi_resources[] __initconst = { | ||
179 | DEFINE_RES_MEM(0xe6b10000, 0x1000), | ||
180 | DEFINE_RES_IRQ_NAMED(gic_spi(184), "mux"), | ||
181 | }; | ||
182 | |||
183 | static const struct rspi_plat_data qspi_pdata __initconst = { | ||
184 | .num_chipselect = 1, | ||
185 | }; | ||
186 | |||
187 | /* SPI Flash memory (Spansion S25FL512SAGMFIG11 64 MiB) */ | ||
188 | static struct mtd_partition spi_flash_part[] = { | ||
189 | { | ||
190 | .name = "loader", | ||
191 | .offset = 0x00000000, | ||
192 | .size = 512 * 1024, | ||
193 | .mask_flags = MTD_WRITEABLE, | ||
194 | }, | ||
195 | { | ||
196 | .name = "bootenv", | ||
197 | .offset = MTDPART_OFS_APPEND, | ||
198 | .size = 512 * 1024, | ||
199 | .mask_flags = MTD_WRITEABLE, | ||
200 | }, | ||
201 | { | ||
202 | .name = "data", | ||
203 | .offset = MTDPART_OFS_APPEND, | ||
204 | .size = MTDPART_SIZ_FULL, | ||
205 | }, | ||
206 | }; | ||
207 | |||
208 | static const struct flash_platform_data spi_flash_data = { | ||
209 | .name = "m25p80", | ||
210 | .parts = spi_flash_part, | ||
211 | .nr_parts = ARRAY_SIZE(spi_flash_part), | ||
212 | .type = "s25fl512s", | ||
213 | }; | ||
214 | |||
215 | static const struct spi_board_info spi_info[] __initconst = { | ||
216 | { | ||
217 | .modalias = "m25p80", | ||
218 | .platform_data = &spi_flash_data, | ||
219 | .mode = SPI_MODE_0, | ||
220 | .max_speed_hz = 30000000, | ||
221 | .bus_num = 0, | ||
222 | .chip_select = 0, | ||
223 | }, | ||
224 | }; | ||
225 | |||
226 | /* SATA0 */ | ||
227 | static const struct resource sata0_resources[] __initconst = { | ||
228 | DEFINE_RES_MEM(0xee300000, 0x2000), | ||
229 | DEFINE_RES_IRQ(gic_spi(105)), | ||
230 | }; | ||
231 | |||
232 | static const struct platform_device_info sata0_info __initconst = { | ||
233 | .parent = &platform_bus, | ||
234 | .name = "sata-r8a7791", | ||
235 | .id = 0, | ||
236 | .res = sata0_resources, | ||
237 | .num_res = ARRAY_SIZE(sata0_resources), | ||
238 | .dma_mask = DMA_BIT_MASK(32), | ||
239 | }; | ||
240 | |||
241 | /* I2C */ | ||
242 | static const struct resource i2c_resources[] __initconst = { | ||
243 | /* I2C0 */ | ||
244 | DEFINE_RES_MEM(0xE6508000, 0x40), | ||
245 | DEFINE_RES_IRQ(gic_spi(287)), | ||
246 | /* I2C1 */ | ||
247 | DEFINE_RES_MEM(0xE6518000, 0x40), | ||
248 | DEFINE_RES_IRQ(gic_spi(288)), | ||
249 | /* I2C2 */ | ||
250 | DEFINE_RES_MEM(0xE6530000, 0x40), | ||
251 | DEFINE_RES_IRQ(gic_spi(286)), | ||
252 | /* I2C3 */ | ||
253 | DEFINE_RES_MEM(0xE6540000, 0x40), | ||
254 | DEFINE_RES_IRQ(gic_spi(290)), | ||
255 | /* I2C4 */ | ||
256 | DEFINE_RES_MEM(0xE6520000, 0x40), | ||
257 | DEFINE_RES_IRQ(gic_spi(19)), | ||
258 | /* I2C5 */ | ||
259 | DEFINE_RES_MEM(0xE6528000, 0x40), | ||
260 | DEFINE_RES_IRQ(gic_spi(20)), | ||
261 | }; | ||
262 | |||
263 | static void __init koelsch_add_i2c(unsigned idx) | ||
264 | { | ||
265 | unsigned res_idx = idx * 2; | ||
266 | |||
267 | BUG_ON(res_idx >= ARRAY_SIZE(i2c_resources)); | ||
268 | |||
269 | platform_device_register_simple("i2c-rcar_gen2", idx, | ||
270 | i2c_resources + res_idx, 2); | ||
271 | } | ||
272 | |||
273 | #define SDHI_REGULATOR(idx, vdd_pin, vccq_pin) \ | ||
274 | static struct regulator_consumer_supply vcc_sdhi##idx##_consumer = \ | ||
275 | REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi." #idx); \ | ||
276 | \ | ||
277 | static struct regulator_init_data vcc_sdhi##idx##_init_data = { \ | ||
278 | .constraints = { \ | ||
279 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, \ | ||
280 | }, \ | ||
281 | .consumer_supplies = &vcc_sdhi##idx##_consumer, \ | ||
282 | .num_consumer_supplies = 1, \ | ||
283 | }; \ | ||
284 | \ | ||
285 | static const struct fixed_voltage_config vcc_sdhi##idx##_info __initconst = {\ | ||
286 | .supply_name = "SDHI" #idx "Vcc", \ | ||
287 | .microvolts = 3300000, \ | ||
288 | .gpio = vdd_pin, \ | ||
289 | .enable_high = 1, \ | ||
290 | .init_data = &vcc_sdhi##idx##_init_data, \ | ||
291 | }; \ | ||
292 | \ | ||
293 | static struct regulator_consumer_supply vccq_sdhi##idx##_consumer = \ | ||
294 | REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi." #idx); \ | ||
295 | \ | ||
296 | static struct regulator_init_data vccq_sdhi##idx##_init_data = { \ | ||
297 | .constraints = { \ | ||
298 | .input_uV = 3300000, \ | ||
299 | .min_uV = 1800000, \ | ||
300 | .max_uV = 3300000, \ | ||
301 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | \ | ||
302 | REGULATOR_CHANGE_STATUS, \ | ||
303 | }, \ | ||
304 | .consumer_supplies = &vccq_sdhi##idx##_consumer, \ | ||
305 | .num_consumer_supplies = 1, \ | ||
306 | }; \ | ||
307 | \ | ||
308 | static struct gpio vccq_sdhi##idx##_gpio = \ | ||
309 | { vccq_pin, GPIOF_OUT_INIT_HIGH, "vccq-sdhi" #idx }; \ | ||
310 | \ | ||
311 | static struct gpio_regulator_state vccq_sdhi##idx##_states[] = { \ | ||
312 | { .value = 1800000, .gpios = 0 }, \ | ||
313 | { .value = 3300000, .gpios = 1 }, \ | ||
314 | }; \ | ||
315 | \ | ||
316 | static const struct gpio_regulator_config vccq_sdhi##idx##_info __initconst = {\ | ||
317 | .supply_name = "vqmmc", \ | ||
318 | .gpios = &vccq_sdhi##idx##_gpio, \ | ||
319 | .nr_gpios = 1, \ | ||
320 | .states = vccq_sdhi##idx##_states, \ | ||
321 | .nr_states = ARRAY_SIZE(vccq_sdhi##idx##_states), \ | ||
322 | .type = REGULATOR_VOLTAGE, \ | ||
323 | .init_data = &vccq_sdhi##idx##_init_data, \ | ||
324 | }; | ||
325 | |||
326 | SDHI_REGULATOR(0, RCAR_GP_PIN(7, 17), RCAR_GP_PIN(2, 12)); | ||
327 | SDHI_REGULATOR(1, RCAR_GP_PIN(7, 18), RCAR_GP_PIN(2, 13)); | ||
328 | SDHI_REGULATOR(2, RCAR_GP_PIN(7, 19), RCAR_GP_PIN(2, 26)); | ||
329 | |||
330 | /* SDHI0 */ | ||
331 | static struct sh_mobile_sdhi_info sdhi0_info __initdata = { | ||
332 | .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | | ||
333 | MMC_CAP_POWER_OFF_CARD, | ||
334 | .tmio_caps2 = MMC_CAP2_NO_MULTI_READ, | ||
335 | .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, | ||
336 | }; | ||
337 | |||
338 | static struct resource sdhi0_resources[] __initdata = { | ||
339 | DEFINE_RES_MEM(0xee100000, 0x200), | ||
340 | DEFINE_RES_IRQ(gic_spi(165)), | ||
341 | }; | ||
342 | |||
343 | /* SDHI1 */ | ||
344 | static struct sh_mobile_sdhi_info sdhi1_info __initdata = { | ||
345 | .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | | ||
346 | MMC_CAP_POWER_OFF_CARD, | ||
347 | .tmio_caps2 = MMC_CAP2_NO_MULTI_READ, | ||
348 | .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, | ||
349 | }; | ||
350 | |||
351 | static struct resource sdhi1_resources[] __initdata = { | ||
352 | DEFINE_RES_MEM(0xee140000, 0x100), | ||
353 | DEFINE_RES_IRQ(gic_spi(167)), | ||
354 | }; | ||
355 | |||
356 | /* SDHI2 */ | ||
357 | static struct sh_mobile_sdhi_info sdhi2_info __initdata = { | ||
358 | .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | | ||
359 | MMC_CAP_POWER_OFF_CARD, | ||
360 | .tmio_caps2 = MMC_CAP2_NO_MULTI_READ, | ||
361 | .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | | ||
362 | TMIO_MMC_WRPROTECT_DISABLE, | ||
363 | }; | ||
364 | |||
365 | static struct resource sdhi2_resources[] __initdata = { | ||
366 | DEFINE_RES_MEM(0xee160000, 0x100), | ||
367 | DEFINE_RES_IRQ(gic_spi(168)), | ||
368 | }; | ||
369 | |||
151 | static const struct pinctrl_map koelsch_pinctrl_map[] = { | 370 | static const struct pinctrl_map koelsch_pinctrl_map[] = { |
152 | /* DU */ | 371 | /* DU */ |
153 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7791", "pfc-r8a7791", | 372 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7791", "pfc-r8a7791", |
@@ -165,12 +384,51 @@ static const struct pinctrl_map koelsch_pinctrl_map[] = { | |||
165 | "eth_rmii", "eth"), | 384 | "eth_rmii", "eth"), |
166 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7791-ether", "pfc-r8a7791", | 385 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7791-ether", "pfc-r8a7791", |
167 | "intc_irq0", "intc"), | 386 | "intc_irq0", "intc"), |
387 | /* QSPI */ | ||
388 | PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791", | ||
389 | "qspi_ctrl", "qspi"), | ||
390 | PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791", | ||
391 | "qspi_data4", "qspi"), | ||
168 | /* SCIF0 (CN19: DEBUG SERIAL0) */ | 392 | /* SCIF0 (CN19: DEBUG SERIAL0) */ |
169 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7791", | 393 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7791", |
170 | "scif0_data_d", "scif0"), | 394 | "scif0_data_d", "scif0"), |
171 | /* SCIF1 (CN20: DEBUG SERIAL1) */ | 395 | /* SCIF1 (CN20: DEBUG SERIAL1) */ |
172 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7791", | 396 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7791", |
173 | "scif1_data_d", "scif1"), | 397 | "scif1_data_d", "scif1"), |
398 | /* I2C1 */ | ||
399 | PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar_gen2.1", "pfc-r8a7791", | ||
400 | "i2c1_e", "i2c1"), | ||
401 | /* I2C2 */ | ||
402 | PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar_gen2.2", "pfc-r8a7791", | ||
403 | "i2c2", "i2c2"), | ||
404 | /* I2C4 */ | ||
405 | PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar_gen2.4", "pfc-r8a7791", | ||
406 | "i2c4_c", "i2c4"), | ||
407 | /* SDHI0 */ | ||
408 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7791", | ||
409 | "sdhi0_data4", "sdhi0"), | ||
410 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7791", | ||
411 | "sdhi0_ctrl", "sdhi0"), | ||
412 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7791", | ||
413 | "sdhi0_cd", "sdhi0"), | ||
414 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7791", | ||
415 | "sdhi0_wp", "sdhi0"), | ||
416 | /* SDHI2 */ | ||
417 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7791", | ||
418 | "sdhi1_data4", "sdhi1"), | ||
419 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7791", | ||
420 | "sdhi1_ctrl", "sdhi1"), | ||
421 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7791", | ||
422 | "sdhi1_cd", "sdhi1"), | ||
423 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7791", | ||
424 | "sdhi1_wp", "sdhi1"), | ||
425 | /* SDHI2 */ | ||
426 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-r8a7791", | ||
427 | "sdhi2_data4", "sdhi2"), | ||
428 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-r8a7791", | ||
429 | "sdhi2_ctrl", "sdhi2"), | ||
430 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-r8a7791", | ||
431 | "sdhi2_cd", "sdhi2"), | ||
174 | }; | 432 | }; |
175 | 433 | ||
176 | static void __init koelsch_add_standard_devices(void) | 434 | static void __init koelsch_add_standard_devices(void) |
@@ -180,18 +438,53 @@ static void __init koelsch_add_standard_devices(void) | |||
180 | ARRAY_SIZE(koelsch_pinctrl_map)); | 438 | ARRAY_SIZE(koelsch_pinctrl_map)); |
181 | r8a7791_pinmux_init(); | 439 | r8a7791_pinmux_init(); |
182 | r8a7791_add_standard_devices(); | 440 | r8a7791_add_standard_devices(); |
183 | platform_device_register_resndata(&platform_bus, "r8a7791-ether", -1, | 441 | platform_device_register_full(ðer_info); |
184 | ether_resources, | ||
185 | ARRAY_SIZE(ether_resources), | ||
186 | ðer_pdata, sizeof(ether_pdata)); | ||
187 | platform_device_register_data(&platform_bus, "leds-gpio", -1, | 442 | platform_device_register_data(&platform_bus, "leds-gpio", -1, |
188 | &koelsch_leds_pdata, | 443 | &koelsch_leds_pdata, |
189 | sizeof(koelsch_leds_pdata)); | 444 | sizeof(koelsch_leds_pdata)); |
190 | platform_device_register_data(&platform_bus, "gpio-keys", -1, | 445 | platform_device_register_data(&platform_bus, "gpio-keys", -1, |
191 | &koelsch_keys_pdata, | 446 | &koelsch_keys_pdata, |
192 | sizeof(koelsch_keys_pdata)); | 447 | sizeof(koelsch_keys_pdata)); |
448 | platform_device_register_resndata(&platform_bus, "qspi", 0, | ||
449 | qspi_resources, | ||
450 | ARRAY_SIZE(qspi_resources), | ||
451 | &qspi_pdata, sizeof(qspi_pdata)); | ||
452 | spi_register_board_info(spi_info, ARRAY_SIZE(spi_info)); | ||
193 | 453 | ||
194 | koelsch_add_du_device(); | 454 | koelsch_add_du_device(); |
455 | |||
456 | platform_device_register_full(&sata0_info); | ||
457 | |||
458 | koelsch_add_i2c(1); | ||
459 | koelsch_add_i2c(2); | ||
460 | koelsch_add_i2c(4); | ||
461 | koelsch_add_i2c(5); | ||
462 | |||
463 | platform_device_register_data(&platform_bus, "reg-fixed-voltage", 0, | ||
464 | &vcc_sdhi0_info, sizeof(struct fixed_voltage_config)); | ||
465 | platform_device_register_data(&platform_bus, "reg-fixed-voltage", 1, | ||
466 | &vcc_sdhi1_info, sizeof(struct fixed_voltage_config)); | ||
467 | platform_device_register_data(&platform_bus, "reg-fixed-voltage", 2, | ||
468 | &vcc_sdhi2_info, sizeof(struct fixed_voltage_config)); | ||
469 | platform_device_register_data(&platform_bus, "gpio-regulator", 0, | ||
470 | &vccq_sdhi0_info, sizeof(struct gpio_regulator_config)); | ||
471 | platform_device_register_data(&platform_bus, "gpio-regulator", 1, | ||
472 | &vccq_sdhi1_info, sizeof(struct gpio_regulator_config)); | ||
473 | platform_device_register_data(&platform_bus, "gpio-regulator", 2, | ||
474 | &vccq_sdhi2_info, sizeof(struct gpio_regulator_config)); | ||
475 | |||
476 | platform_device_register_resndata(&platform_bus, "sh_mobile_sdhi", 0, | ||
477 | sdhi0_resources, ARRAY_SIZE(sdhi0_resources), | ||
478 | &sdhi0_info, sizeof(struct sh_mobile_sdhi_info)); | ||
479 | |||
480 | platform_device_register_resndata(&platform_bus, "sh_mobile_sdhi", 1, | ||
481 | sdhi1_resources, ARRAY_SIZE(sdhi1_resources), | ||
482 | &sdhi1_info, sizeof(struct sh_mobile_sdhi_info)); | ||
483 | |||
484 | platform_device_register_resndata(&platform_bus, "sh_mobile_sdhi", 2, | ||
485 | sdhi2_resources, ARRAY_SIZE(sdhi2_resources), | ||
486 | &sdhi2_info, sizeof(struct sh_mobile_sdhi_info)); | ||
487 | |||
195 | } | 488 | } |
196 | 489 | ||
197 | /* | 490 | /* |
@@ -215,6 +508,8 @@ static void __init koelsch_init(void) | |||
215 | { | 508 | { |
216 | koelsch_add_standard_devices(); | 509 | koelsch_add_standard_devices(); |
217 | 510 | ||
511 | irq_set_irq_type(irq_pin(0), IRQ_TYPE_LEVEL_LOW); | ||
512 | |||
218 | if (IS_ENABLED(CONFIG_PHYLIB)) | 513 | if (IS_ENABLED(CONFIG_PHYLIB)) |
219 | phy_register_fixup_for_id("r8a7791-ether-ff:01", | 514 | phy_register_fixup_for_id("r8a7791-ether-ff:01", |
220 | koelsch_ksz8041_fixup); | 515 | koelsch_ksz8041_fixup); |
diff --git a/arch/arm/mach-shmobile/board-kzm9d-reference.c b/arch/arm/mach-shmobile/board-kzm9d-reference.c deleted file mode 100644 index 054d8d5c8fc1..000000000000 --- a/arch/arm/mach-shmobile/board-kzm9d-reference.c +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | /* | ||
2 | * kzm9d board support - Reference DT implementation | ||
3 | * | ||
4 | * Copyright (C) 2013 Renesas Solutions Corp. | ||
5 | * Copyright (C) 2013 Magnus Damm | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; version 2 of the License. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | ||
20 | |||
21 | #include <linux/init.h> | ||
22 | #include <linux/of_platform.h> | ||
23 | #include <mach/emev2.h> | ||
24 | #include <mach/common.h> | ||
25 | #include <asm/mach/arch.h> | ||
26 | |||
27 | static void __init kzm9d_add_standard_devices(void) | ||
28 | { | ||
29 | if (!IS_ENABLED(CONFIG_COMMON_CLK)) | ||
30 | emev2_clock_init(); | ||
31 | |||
32 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | ||
33 | } | ||
34 | |||
35 | static const char *kzm9d_boards_compat_dt[] __initdata = { | ||
36 | "renesas,kzm9d", | ||
37 | "renesas,kzm9d-reference", | ||
38 | NULL, | ||
39 | }; | ||
40 | |||
41 | DT_MACHINE_START(KZM9D_DT, "kzm9d") | ||
42 | .smp = smp_ops(emev2_smp_ops), | ||
43 | .map_io = emev2_map_io, | ||
44 | .init_early = emev2_init_delay, | ||
45 | .init_machine = kzm9d_add_standard_devices, | ||
46 | .init_late = shmobile_init_late, | ||
47 | .dt_compat = kzm9d_boards_compat_dt, | ||
48 | MACHINE_END | ||
diff --git a/arch/arm/mach-shmobile/board-lager-reference.c b/arch/arm/mach-shmobile/board-lager-reference.c index a6e271d92af0..440aac36d693 100644 --- a/arch/arm/mach-shmobile/board-lager-reference.c +++ b/arch/arm/mach-shmobile/board-lager-reference.c | |||
@@ -20,47 +20,116 @@ | |||
20 | 20 | ||
21 | #include <linux/clk.h> | 21 | #include <linux/clk.h> |
22 | #include <linux/clkdev.h> | 22 | #include <linux/clkdev.h> |
23 | #include <linux/dma-mapping.h> | ||
23 | #include <linux/init.h> | 24 | #include <linux/init.h> |
24 | #include <linux/of_platform.h> | 25 | #include <linux/of_platform.h> |
26 | #include <linux/platform_data/rcar-du.h> | ||
25 | #include <mach/common.h> | 27 | #include <mach/common.h> |
28 | #include <mach/irqs.h> | ||
26 | #include <mach/rcar-gen2.h> | 29 | #include <mach/rcar-gen2.h> |
27 | #include <mach/r8a7790.h> | 30 | #include <mach/r8a7790.h> |
28 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
29 | 32 | ||
33 | /* DU */ | ||
34 | static struct rcar_du_encoder_data lager_du_encoders[] = { | ||
35 | { | ||
36 | .type = RCAR_DU_ENCODER_VGA, | ||
37 | .output = RCAR_DU_OUTPUT_DPAD0, | ||
38 | }, { | ||
39 | .type = RCAR_DU_ENCODER_NONE, | ||
40 | .output = RCAR_DU_OUTPUT_LVDS1, | ||
41 | .connector.lvds.panel = { | ||
42 | .width_mm = 210, | ||
43 | .height_mm = 158, | ||
44 | .mode = { | ||
45 | .clock = 65000, | ||
46 | .hdisplay = 1024, | ||
47 | .hsync_start = 1048, | ||
48 | .hsync_end = 1184, | ||
49 | .htotal = 1344, | ||
50 | .vdisplay = 768, | ||
51 | .vsync_start = 771, | ||
52 | .vsync_end = 777, | ||
53 | .vtotal = 806, | ||
54 | .flags = 0, | ||
55 | }, | ||
56 | }, | ||
57 | }, | ||
58 | }; | ||
59 | |||
60 | static struct rcar_du_platform_data lager_du_pdata = { | ||
61 | .encoders = lager_du_encoders, | ||
62 | .num_encoders = ARRAY_SIZE(lager_du_encoders), | ||
63 | }; | ||
64 | |||
65 | static const struct resource du_resources[] __initconst = { | ||
66 | DEFINE_RES_MEM(0xfeb00000, 0x70000), | ||
67 | DEFINE_RES_MEM_NAMED(0xfeb90000, 0x1c, "lvds.0"), | ||
68 | DEFINE_RES_MEM_NAMED(0xfeb94000, 0x1c, "lvds.1"), | ||
69 | DEFINE_RES_IRQ(gic_spi(256)), | ||
70 | DEFINE_RES_IRQ(gic_spi(268)), | ||
71 | DEFINE_RES_IRQ(gic_spi(269)), | ||
72 | }; | ||
73 | |||
74 | static void __init lager_add_du_device(void) | ||
75 | { | ||
76 | struct platform_device_info info = { | ||
77 | .name = "rcar-du-r8a7790", | ||
78 | .id = -1, | ||
79 | .res = du_resources, | ||
80 | .num_res = ARRAY_SIZE(du_resources), | ||
81 | .data = &lager_du_pdata, | ||
82 | .size_data = sizeof(lager_du_pdata), | ||
83 | .dma_mask = DMA_BIT_MASK(32), | ||
84 | }; | ||
85 | |||
86 | platform_device_register_full(&info); | ||
87 | } | ||
88 | |||
30 | static void __init lager_add_standard_devices(void) | 89 | static void __init lager_add_standard_devices(void) |
31 | { | 90 | { |
32 | #ifdef CONFIG_COMMON_CLK | ||
33 | /* | 91 | /* |
34 | * This is a really crude hack to provide clkdev support to the SCIF | 92 | * This is a really crude hack to provide clkdev support to platform |
35 | * and CMT devices until they get moved to DT. | 93 | * devices until they get moved to DT. |
36 | */ | 94 | */ |
37 | static const char * const scif_names[] = { | 95 | static const struct clk_name { |
38 | "scifa0", "scifa1", "scifb0", "scifb1", | 96 | const char *clk; |
39 | "scifb2", "scifa2", "scif0", "scif1", | 97 | const char *con_id; |
40 | "hscif0", "hscif1", | 98 | const char *dev_id; |
99 | } clk_names[] = { | ||
100 | { "cmt0", NULL, "sh_cmt.0" }, | ||
101 | { "scifa0", NULL, "sh-sci.0" }, | ||
102 | { "scifa1", NULL, "sh-sci.1" }, | ||
103 | { "scifb0", NULL, "sh-sci.2" }, | ||
104 | { "scifb1", NULL, "sh-sci.3" }, | ||
105 | { "scifb2", NULL, "sh-sci.4" }, | ||
106 | { "scifa2", NULL, "sh-sci.5" }, | ||
107 | { "scif0", NULL, "sh-sci.6" }, | ||
108 | { "scif1", NULL, "sh-sci.7" }, | ||
109 | { "hscif0", NULL, "sh-sci.8" }, | ||
110 | { "hscif1", NULL, "sh-sci.9" }, | ||
111 | { "du0", "du.0", "rcar-du-r8a7790" }, | ||
112 | { "du1", "du.1", "rcar-du-r8a7790" }, | ||
113 | { "du2", "du.2", "rcar-du-r8a7790" }, | ||
114 | { "lvds0", "lvds.0", "rcar-du-r8a7790" }, | ||
115 | { "lvds1", "lvds.1", "rcar-du-r8a7790" }, | ||
41 | }; | 116 | }; |
42 | struct clk *clk; | 117 | struct clk *clk; |
43 | unsigned int i; | 118 | unsigned int i; |
44 | 119 | ||
45 | for (i = 0; i < ARRAY_SIZE(scif_names); ++i) { | 120 | for (i = 0; i < ARRAY_SIZE(clk_names); ++i) { |
46 | clk = clk_get(NULL, scif_names[i]); | 121 | clk = clk_get(NULL, clk_names[i].clk); |
47 | if (clk) { | 122 | if (!IS_ERR(clk)) { |
48 | clk_register_clkdev(clk, NULL, "sh-sci.%u", i); | 123 | clk_register_clkdev(clk, clk_names[i].con_id, |
124 | clk_names[i].dev_id); | ||
49 | clk_put(clk); | 125 | clk_put(clk); |
50 | } | 126 | } |
51 | } | 127 | } |
52 | 128 | ||
53 | clk = clk_get(NULL, "cmt0"); | ||
54 | if (clk) { | ||
55 | clk_register_clkdev(clk, NULL, "sh_cmt.0"); | ||
56 | clk_put(clk); | ||
57 | } | ||
58 | #else | ||
59 | r8a7790_clock_init(); | ||
60 | #endif | ||
61 | |||
62 | r8a7790_add_dt_devices(); | 129 | r8a7790_add_dt_devices(); |
63 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 130 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
131 | |||
132 | lager_add_du_device(); | ||
64 | } | 133 | } |
65 | 134 | ||
66 | static const char *lager_boards_compat_dt[] __initdata = { | 135 | static const char *lager_boards_compat_dt[] __initdata = { |
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c index f20c10a18543..f0104bfe544e 100644 --- a/arch/arm/mach-shmobile/board-lager.c +++ b/arch/arm/mach-shmobile/board-lager.c | |||
@@ -1,8 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Lager board support | 2 | * Lager board support |
3 | * | 3 | * |
4 | * Copyright (C) 2013 Renesas Solutions Corp. | 4 | * Copyright (C) 2013-2014 Renesas Solutions Corp. |
5 | * Copyright (C) 2013 Magnus Damm | 5 | * Copyright (C) 2013 Magnus Damm |
6 | * Copyright (C) 2014 Cogent Embedded, Inc. | ||
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 9 | * it under the terms of the GNU General Public License as published by |
@@ -20,15 +21,21 @@ | |||
20 | 21 | ||
21 | #include <linux/gpio.h> | 22 | #include <linux/gpio.h> |
22 | #include <linux/gpio_keys.h> | 23 | #include <linux/gpio_keys.h> |
24 | #include <linux/i2c.h> | ||
23 | #include <linux/input.h> | 25 | #include <linux/input.h> |
24 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
27 | #include <linux/irq.h> | ||
25 | #include <linux/kernel.h> | 28 | #include <linux/kernel.h> |
26 | #include <linux/leds.h> | 29 | #include <linux/leds.h> |
30 | #include <linux/mfd/tmio.h> | ||
27 | #include <linux/mmc/host.h> | 31 | #include <linux/mmc/host.h> |
28 | #include <linux/mmc/sh_mmcif.h> | 32 | #include <linux/mmc/sh_mmcif.h> |
33 | #include <linux/mmc/sh_mobile_sdhi.h> | ||
29 | #include <linux/pinctrl/machine.h> | 34 | #include <linux/pinctrl/machine.h> |
35 | #include <linux/platform_data/camera-rcar.h> | ||
30 | #include <linux/platform_data/gpio-rcar.h> | 36 | #include <linux/platform_data/gpio-rcar.h> |
31 | #include <linux/platform_data/rcar-du.h> | 37 | #include <linux/platform_data/rcar-du.h> |
38 | #include <linux/platform_data/usb-rcar-gen2-phy.h> | ||
32 | #include <linux/platform_device.h> | 39 | #include <linux/platform_device.h> |
33 | #include <linux/phy.h> | 40 | #include <linux/phy.h> |
34 | #include <linux/regulator/driver.h> | 41 | #include <linux/regulator/driver.h> |
@@ -36,9 +43,12 @@ | |||
36 | #include <linux/regulator/gpio-regulator.h> | 43 | #include <linux/regulator/gpio-regulator.h> |
37 | #include <linux/regulator/machine.h> | 44 | #include <linux/regulator/machine.h> |
38 | #include <linux/sh_eth.h> | 45 | #include <linux/sh_eth.h> |
46 | #include <linux/usb/phy.h> | ||
47 | #include <linux/usb/renesas_usbhs.h> | ||
39 | #include <mach/common.h> | 48 | #include <mach/common.h> |
40 | #include <mach/irqs.h> | 49 | #include <mach/irqs.h> |
41 | #include <mach/r8a7790.h> | 50 | #include <mach/r8a7790.h> |
51 | #include <media/soc_camera.h> | ||
42 | #include <asm/mach-types.h> | 52 | #include <asm/mach-types.h> |
43 | #include <asm/mach/arch.h> | 53 | #include <asm/mach/arch.h> |
44 | #include <linux/mtd/partitions.h> | 54 | #include <linux/mtd/partitions.h> |
@@ -46,6 +56,33 @@ | |||
46 | #include <linux/spi/flash.h> | 56 | #include <linux/spi/flash.h> |
47 | #include <linux/spi/rspi.h> | 57 | #include <linux/spi/rspi.h> |
48 | #include <linux/spi/spi.h> | 58 | #include <linux/spi/spi.h> |
59 | #include <sound/rcar_snd.h> | ||
60 | #include <sound/simple_card.h> | ||
61 | |||
62 | /* | ||
63 | * SSI-AK4643 | ||
64 | * | ||
65 | * SW1: 1: AK4643 | ||
66 | * 2: CN22 | ||
67 | * 3: ADV7511 | ||
68 | * | ||
69 | * this command is required when playback. | ||
70 | * | ||
71 | * # amixer set "LINEOUT Mixer DACL" on | ||
72 | */ | ||
73 | |||
74 | /* | ||
75 | * SDHI0 (CN8) | ||
76 | * | ||
77 | * JP3: pin1 | ||
78 | * SW20: pin1 | ||
79 | |||
80 | * GP5_24: 1: VDD 3.3V (defult) | ||
81 | * 0: VDD 0.0V | ||
82 | * GP5_29: 1: VccQ 3.3V (defult) | ||
83 | * 0: VccQ 1.8V | ||
84 | * | ||
85 | */ | ||
49 | 86 | ||
50 | /* DU */ | 87 | /* DU */ |
51 | static struct rcar_du_encoder_data lager_du_encoders[] = { | 88 | static struct rcar_du_encoder_data lager_du_encoders[] = { |
@@ -228,6 +265,7 @@ static const struct resource mmcif1_resources[] __initconst = { | |||
228 | /* Ether */ | 265 | /* Ether */ |
229 | static const struct sh_eth_plat_data ether_pdata __initconst = { | 266 | static const struct sh_eth_plat_data ether_pdata __initconst = { |
230 | .phy = 0x1, | 267 | .phy = 0x1, |
268 | .phy_irq = irq_pin(0), | ||
231 | .edmac_endian = EDMAC_LITTLE_ENDIAN, | 269 | .edmac_endian = EDMAC_LITTLE_ENDIAN, |
232 | .phy_interface = PHY_INTERFACE_MODE_RMII, | 270 | .phy_interface = PHY_INTERFACE_MODE_RMII, |
233 | .ether_link_active_low = 1, | 271 | .ether_link_active_low = 1, |
@@ -238,6 +276,17 @@ static const struct resource ether_resources[] __initconst = { | |||
238 | DEFINE_RES_IRQ(gic_spi(162)), | 276 | DEFINE_RES_IRQ(gic_spi(162)), |
239 | }; | 277 | }; |
240 | 278 | ||
279 | static const struct platform_device_info ether_info __initconst = { | ||
280 | .parent = &platform_bus, | ||
281 | .name = "r8a7790-ether", | ||
282 | .id = -1, | ||
283 | .res = ether_resources, | ||
284 | .num_res = ARRAY_SIZE(ether_resources), | ||
285 | .data = ðer_pdata, | ||
286 | .size_data = sizeof(ether_pdata), | ||
287 | .dma_mask = DMA_BIT_MASK(32), | ||
288 | }; | ||
289 | |||
241 | /* SPI Flash memory (Spansion S25FL512SAGMFIG11 64Mb) */ | 290 | /* SPI Flash memory (Spansion S25FL512SAGMFIG11 64Mb) */ |
242 | static struct mtd_partition spi_flash_part[] = { | 291 | static struct mtd_partition spi_flash_part[] = { |
243 | /* Reserved for user loader program, read-only */ | 292 | /* Reserved for user loader program, read-only */ |
@@ -263,7 +312,7 @@ static struct mtd_partition spi_flash_part[] = { | |||
263 | }, | 312 | }, |
264 | }; | 313 | }; |
265 | 314 | ||
266 | static struct flash_platform_data spi_flash_data = { | 315 | static const struct flash_platform_data spi_flash_data = { |
267 | .name = "m25p80", | 316 | .name = "m25p80", |
268 | .parts = spi_flash_part, | 317 | .parts = spi_flash_part, |
269 | .nr_parts = ARRAY_SIZE(spi_flash_part), | 318 | .nr_parts = ARRAY_SIZE(spi_flash_part), |
@@ -288,9 +337,361 @@ static const struct spi_board_info spi_info[] __initconst = { | |||
288 | /* QSPI resource */ | 337 | /* QSPI resource */ |
289 | static const struct resource qspi_resources[] __initconst = { | 338 | static const struct resource qspi_resources[] __initconst = { |
290 | DEFINE_RES_MEM(0xe6b10000, 0x1000), | 339 | DEFINE_RES_MEM(0xe6b10000, 0x1000), |
291 | DEFINE_RES_IRQ(gic_spi(184)), | 340 | DEFINE_RES_IRQ_NAMED(gic_spi(184), "mux"), |
341 | }; | ||
342 | |||
343 | /* VIN */ | ||
344 | static const struct resource vin_resources[] __initconst = { | ||
345 | /* VIN0 */ | ||
346 | DEFINE_RES_MEM(0xe6ef0000, 0x1000), | ||
347 | DEFINE_RES_IRQ(gic_spi(188)), | ||
348 | /* VIN1 */ | ||
349 | DEFINE_RES_MEM(0xe6ef1000, 0x1000), | ||
350 | DEFINE_RES_IRQ(gic_spi(189)), | ||
351 | }; | ||
352 | |||
353 | static void __init lager_add_vin_device(unsigned idx, | ||
354 | struct rcar_vin_platform_data *pdata) | ||
355 | { | ||
356 | struct platform_device_info vin_info = { | ||
357 | .parent = &platform_bus, | ||
358 | .name = "r8a7790-vin", | ||
359 | .id = idx, | ||
360 | .res = &vin_resources[idx * 2], | ||
361 | .num_res = 2, | ||
362 | .dma_mask = DMA_BIT_MASK(32), | ||
363 | .data = pdata, | ||
364 | .size_data = sizeof(*pdata), | ||
365 | }; | ||
366 | |||
367 | BUG_ON(idx > 1); | ||
368 | |||
369 | platform_device_register_full(&vin_info); | ||
370 | } | ||
371 | |||
372 | #define LAGER_CAMERA(idx, name, addr, pdata, flag) \ | ||
373 | static struct i2c_board_info i2c_cam##idx##_device = { \ | ||
374 | I2C_BOARD_INFO(name, addr), \ | ||
375 | }; \ | ||
376 | \ | ||
377 | static struct rcar_vin_platform_data vin##idx##_pdata = { \ | ||
378 | .flags = flag, \ | ||
379 | }; \ | ||
380 | \ | ||
381 | static struct soc_camera_link cam##idx##_link = { \ | ||
382 | .bus_id = idx, \ | ||
383 | .board_info = &i2c_cam##idx##_device, \ | ||
384 | .i2c_adapter_id = 2, \ | ||
385 | .module_name = name, \ | ||
386 | .priv = pdata, \ | ||
387 | } | ||
388 | |||
389 | /* Camera 0 is not currently supported due to adv7612 support missing */ | ||
390 | LAGER_CAMERA(1, "adv7180", 0x20, NULL, RCAR_VIN_BT656); | ||
391 | |||
392 | static void __init lager_add_camera1_device(void) | ||
393 | { | ||
394 | platform_device_register_data(&platform_bus, "soc-camera-pdrv", 1, | ||
395 | &cam1_link, sizeof(cam1_link)); | ||
396 | lager_add_vin_device(1, &vin1_pdata); | ||
397 | } | ||
398 | |||
399 | /* SATA1 */ | ||
400 | static const struct resource sata1_resources[] __initconst = { | ||
401 | DEFINE_RES_MEM(0xee500000, 0x2000), | ||
402 | DEFINE_RES_IRQ(gic_spi(106)), | ||
403 | }; | ||
404 | |||
405 | static const struct platform_device_info sata1_info __initconst = { | ||
406 | .parent = &platform_bus, | ||
407 | .name = "sata-r8a7790", | ||
408 | .id = 1, | ||
409 | .res = sata1_resources, | ||
410 | .num_res = ARRAY_SIZE(sata1_resources), | ||
411 | .dma_mask = DMA_BIT_MASK(32), | ||
412 | }; | ||
413 | |||
414 | /* USBHS */ | ||
415 | static const struct resource usbhs_resources[] __initconst = { | ||
416 | DEFINE_RES_MEM(0xe6590000, 0x100), | ||
417 | DEFINE_RES_IRQ(gic_spi(107)), | ||
418 | }; | ||
419 | |||
420 | struct usbhs_private { | ||
421 | struct renesas_usbhs_platform_info info; | ||
422 | struct usb_phy *phy; | ||
423 | }; | ||
424 | |||
425 | #define usbhs_get_priv(pdev) \ | ||
426 | container_of(renesas_usbhs_get_info(pdev), struct usbhs_private, info) | ||
427 | |||
428 | static int usbhs_power_ctrl(struct platform_device *pdev, | ||
429 | void __iomem *base, int enable) | ||
430 | { | ||
431 | struct usbhs_private *priv = usbhs_get_priv(pdev); | ||
432 | |||
433 | if (!priv->phy) | ||
434 | return -ENODEV; | ||
435 | |||
436 | if (enable) { | ||
437 | int retval = usb_phy_init(priv->phy); | ||
438 | |||
439 | if (!retval) | ||
440 | retval = usb_phy_set_suspend(priv->phy, 0); | ||
441 | return retval; | ||
442 | } | ||
443 | |||
444 | usb_phy_set_suspend(priv->phy, 1); | ||
445 | usb_phy_shutdown(priv->phy); | ||
446 | return 0; | ||
447 | } | ||
448 | |||
449 | static int usbhs_hardware_init(struct platform_device *pdev) | ||
450 | { | ||
451 | struct usbhs_private *priv = usbhs_get_priv(pdev); | ||
452 | struct usb_phy *phy; | ||
453 | int ret; | ||
454 | |||
455 | /* USB0 Function - use PWEN as GPIO input to detect DIP Switch SW5 | ||
456 | * setting to avoid VBUS short circuit due to wrong cable. | ||
457 | * PWEN should be pulled up high if USB Function is selected by SW5 | ||
458 | */ | ||
459 | gpio_request_one(RCAR_GP_PIN(5, 18), GPIOF_IN, NULL); /* USB0_PWEN */ | ||
460 | if (!gpio_get_value(RCAR_GP_PIN(5, 18))) { | ||
461 | pr_warn("Error: USB Function not selected - check SW5 + SW6\n"); | ||
462 | ret = -ENOTSUPP; | ||
463 | goto error; | ||
464 | } | ||
465 | |||
466 | phy = usb_get_phy_dev(&pdev->dev, 0); | ||
467 | if (IS_ERR(phy)) { | ||
468 | ret = PTR_ERR(phy); | ||
469 | goto error; | ||
470 | } | ||
471 | |||
472 | priv->phy = phy; | ||
473 | return 0; | ||
474 | error: | ||
475 | gpio_free(RCAR_GP_PIN(5, 18)); | ||
476 | return ret; | ||
477 | } | ||
478 | |||
479 | static int usbhs_hardware_exit(struct platform_device *pdev) | ||
480 | { | ||
481 | struct usbhs_private *priv = usbhs_get_priv(pdev); | ||
482 | |||
483 | if (!priv->phy) | ||
484 | return 0; | ||
485 | |||
486 | usb_put_phy(priv->phy); | ||
487 | priv->phy = NULL; | ||
488 | |||
489 | gpio_free(RCAR_GP_PIN(5, 18)); | ||
490 | return 0; | ||
491 | } | ||
492 | |||
493 | static int usbhs_get_id(struct platform_device *pdev) | ||
494 | { | ||
495 | return USBHS_GADGET; | ||
496 | } | ||
497 | |||
498 | static u32 lager_usbhs_pipe_type[] = { | ||
499 | USB_ENDPOINT_XFER_CONTROL, | ||
500 | USB_ENDPOINT_XFER_ISOC, | ||
501 | USB_ENDPOINT_XFER_ISOC, | ||
502 | USB_ENDPOINT_XFER_BULK, | ||
503 | USB_ENDPOINT_XFER_BULK, | ||
504 | USB_ENDPOINT_XFER_BULK, | ||
505 | USB_ENDPOINT_XFER_INT, | ||
506 | USB_ENDPOINT_XFER_INT, | ||
507 | USB_ENDPOINT_XFER_INT, | ||
508 | USB_ENDPOINT_XFER_BULK, | ||
509 | USB_ENDPOINT_XFER_BULK, | ||
510 | USB_ENDPOINT_XFER_BULK, | ||
511 | USB_ENDPOINT_XFER_BULK, | ||
512 | USB_ENDPOINT_XFER_BULK, | ||
513 | USB_ENDPOINT_XFER_BULK, | ||
514 | USB_ENDPOINT_XFER_BULK, | ||
292 | }; | 515 | }; |
293 | 516 | ||
517 | static struct usbhs_private usbhs_priv __initdata = { | ||
518 | .info = { | ||
519 | .platform_callback = { | ||
520 | .power_ctrl = usbhs_power_ctrl, | ||
521 | .hardware_init = usbhs_hardware_init, | ||
522 | .hardware_exit = usbhs_hardware_exit, | ||
523 | .get_id = usbhs_get_id, | ||
524 | }, | ||
525 | .driver_param = { | ||
526 | .buswait_bwait = 4, | ||
527 | .pipe_type = lager_usbhs_pipe_type, | ||
528 | .pipe_size = ARRAY_SIZE(lager_usbhs_pipe_type), | ||
529 | }, | ||
530 | } | ||
531 | }; | ||
532 | |||
533 | static void __init lager_register_usbhs(void) | ||
534 | { | ||
535 | usb_bind_phy("renesas_usbhs", 0, "usb_phy_rcar_gen2"); | ||
536 | platform_device_register_resndata(&platform_bus, | ||
537 | "renesas_usbhs", -1, | ||
538 | usbhs_resources, | ||
539 | ARRAY_SIZE(usbhs_resources), | ||
540 | &usbhs_priv.info, | ||
541 | sizeof(usbhs_priv.info)); | ||
542 | } | ||
543 | |||
544 | /* USBHS PHY */ | ||
545 | static const struct rcar_gen2_phy_platform_data usbhs_phy_pdata __initconst = { | ||
546 | .chan0_pci = 0, /* Channel 0 is USBHS */ | ||
547 | .chan2_pci = 1, /* Channel 2 is PCI USB */ | ||
548 | }; | ||
549 | |||
550 | static const struct resource usbhs_phy_resources[] __initconst = { | ||
551 | DEFINE_RES_MEM(0xe6590100, 0x100), | ||
552 | }; | ||
553 | |||
554 | /* I2C */ | ||
555 | static struct i2c_board_info i2c2_devices[] = { | ||
556 | { | ||
557 | I2C_BOARD_INFO("ak4643", 0x12), | ||
558 | } | ||
559 | }; | ||
560 | |||
561 | /* Sound */ | ||
562 | static struct resource rsnd_resources[] __initdata = { | ||
563 | [RSND_GEN2_SCU] = DEFINE_RES_MEM(0xec500000, 0x1000), | ||
564 | [RSND_GEN2_ADG] = DEFINE_RES_MEM(0xec5a0000, 0x100), | ||
565 | [RSND_GEN2_SSIU] = DEFINE_RES_MEM(0xec540000, 0x1000), | ||
566 | [RSND_GEN2_SSI] = DEFINE_RES_MEM(0xec541000, 0x1280), | ||
567 | }; | ||
568 | |||
569 | static struct rsnd_ssi_platform_info rsnd_ssi[] = { | ||
570 | RSND_SSI_SET(0, 0, gic_spi(370), RSND_SSI_PLAY), | ||
571 | RSND_SSI_SET(0, 0, gic_spi(371), RSND_SSI_CLK_PIN_SHARE), | ||
572 | }; | ||
573 | |||
574 | static struct rsnd_scu_platform_info rsnd_scu[2] = { | ||
575 | /* no member at this point */ | ||
576 | }; | ||
577 | |||
578 | static struct rcar_snd_info rsnd_info = { | ||
579 | .flags = RSND_GEN2, | ||
580 | .ssi_info = rsnd_ssi, | ||
581 | .ssi_info_nr = ARRAY_SIZE(rsnd_ssi), | ||
582 | .scu_info = rsnd_scu, | ||
583 | .scu_info_nr = ARRAY_SIZE(rsnd_scu), | ||
584 | }; | ||
585 | |||
586 | static struct asoc_simple_card_info rsnd_card_info = { | ||
587 | .name = "AK4643", | ||
588 | .card = "SSI01-AK4643", | ||
589 | .codec = "ak4642-codec.2-0012", | ||
590 | .platform = "rcar_sound", | ||
591 | .daifmt = SND_SOC_DAIFMT_LEFT_J, | ||
592 | .cpu_dai = { | ||
593 | .name = "rcar_sound", | ||
594 | .fmt = SND_SOC_DAIFMT_CBS_CFS, | ||
595 | }, | ||
596 | .codec_dai = { | ||
597 | .name = "ak4642-hifi", | ||
598 | .fmt = SND_SOC_DAIFMT_CBM_CFM, | ||
599 | .sysclk = 11289600, | ||
600 | }, | ||
601 | }; | ||
602 | |||
603 | static void __init lager_add_rsnd_device(void) | ||
604 | { | ||
605 | struct platform_device_info cardinfo = { | ||
606 | .parent = &platform_bus, | ||
607 | .name = "asoc-simple-card", | ||
608 | .id = -1, | ||
609 | .data = &rsnd_card_info, | ||
610 | .size_data = sizeof(struct asoc_simple_card_info), | ||
611 | .dma_mask = DMA_BIT_MASK(32), | ||
612 | }; | ||
613 | |||
614 | i2c_register_board_info(2, i2c2_devices, | ||
615 | ARRAY_SIZE(i2c2_devices)); | ||
616 | |||
617 | platform_device_register_resndata( | ||
618 | &platform_bus, "rcar_sound", -1, | ||
619 | rsnd_resources, ARRAY_SIZE(rsnd_resources), | ||
620 | &rsnd_info, sizeof(rsnd_info)); | ||
621 | |||
622 | platform_device_register_full(&cardinfo); | ||
623 | } | ||
624 | |||
625 | /* SDHI0 */ | ||
626 | static struct sh_mobile_sdhi_info sdhi0_info __initdata = { | ||
627 | .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | | ||
628 | MMC_CAP_POWER_OFF_CARD, | ||
629 | .tmio_caps2 = MMC_CAP2_NO_MULTI_READ, | ||
630 | .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | | ||
631 | TMIO_MMC_WRPROTECT_DISABLE, | ||
632 | }; | ||
633 | |||
634 | static struct resource sdhi0_resources[] __initdata = { | ||
635 | DEFINE_RES_MEM(0xee100000, 0x200), | ||
636 | DEFINE_RES_IRQ(gic_spi(165)), | ||
637 | }; | ||
638 | |||
639 | /* SDHI2 */ | ||
640 | static struct sh_mobile_sdhi_info sdhi2_info __initdata = { | ||
641 | .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | | ||
642 | MMC_CAP_POWER_OFF_CARD, | ||
643 | .tmio_caps2 = MMC_CAP2_NO_MULTI_READ, | ||
644 | .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | | ||
645 | TMIO_MMC_WRPROTECT_DISABLE, | ||
646 | }; | ||
647 | |||
648 | static struct resource sdhi2_resources[] __initdata = { | ||
649 | DEFINE_RES_MEM(0xee140000, 0x100), | ||
650 | DEFINE_RES_IRQ(gic_spi(167)), | ||
651 | }; | ||
652 | |||
653 | /* Internal PCI1 */ | ||
654 | static const struct resource pci1_resources[] __initconst = { | ||
655 | DEFINE_RES_MEM(0xee0b0000, 0x10000), /* CFG */ | ||
656 | DEFINE_RES_MEM(0xee0a0000, 0x10000), /* MEM */ | ||
657 | DEFINE_RES_IRQ(gic_spi(112)), | ||
658 | }; | ||
659 | |||
660 | static const struct platform_device_info pci1_info __initconst = { | ||
661 | .parent = &platform_bus, | ||
662 | .name = "pci-rcar-gen2", | ||
663 | .id = 1, | ||
664 | .res = pci1_resources, | ||
665 | .num_res = ARRAY_SIZE(pci1_resources), | ||
666 | .dma_mask = DMA_BIT_MASK(32), | ||
667 | }; | ||
668 | |||
669 | static void __init lager_add_usb1_device(void) | ||
670 | { | ||
671 | platform_device_register_full(&pci1_info); | ||
672 | } | ||
673 | |||
674 | /* Internal PCI2 */ | ||
675 | static const struct resource pci2_resources[] __initconst = { | ||
676 | DEFINE_RES_MEM(0xee0d0000, 0x10000), /* CFG */ | ||
677 | DEFINE_RES_MEM(0xee0c0000, 0x10000), /* MEM */ | ||
678 | DEFINE_RES_IRQ(gic_spi(113)), | ||
679 | }; | ||
680 | |||
681 | static const struct platform_device_info pci2_info __initconst = { | ||
682 | .parent = &platform_bus, | ||
683 | .name = "pci-rcar-gen2", | ||
684 | .id = 2, | ||
685 | .res = pci2_resources, | ||
686 | .num_res = ARRAY_SIZE(pci2_resources), | ||
687 | .dma_mask = DMA_BIT_MASK(32), | ||
688 | }; | ||
689 | |||
690 | static void __init lager_add_usb2_device(void) | ||
691 | { | ||
692 | platform_device_register_full(&pci2_info); | ||
693 | } | ||
694 | |||
294 | static const struct pinctrl_map lager_pinctrl_map[] = { | 695 | static const struct pinctrl_map lager_pinctrl_map[] = { |
295 | /* DU (CN10: ARGB0, CN13: LVDS) */ | 696 | /* DU (CN10: ARGB0, CN13: LVDS) */ |
296 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790", | 697 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790", |
@@ -299,12 +700,43 @@ static const struct pinctrl_map lager_pinctrl_map[] = { | |||
299 | "du_sync_1", "du"), | 700 | "du_sync_1", "du"), |
300 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790", | 701 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790", |
301 | "du_clk_out_0", "du"), | 702 | "du_clk_out_0", "du"), |
703 | /* I2C2 */ | ||
704 | PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar.2", "pfc-r8a7790", | ||
705 | "i2c2", "i2c2"), | ||
706 | /* QSPI */ | ||
707 | PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7790", | ||
708 | "qspi_ctrl", "qspi"), | ||
709 | PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7790", | ||
710 | "qspi_data4", "qspi"), | ||
302 | /* SCIF0 (CN19: DEBUG SERIAL0) */ | 711 | /* SCIF0 (CN19: DEBUG SERIAL0) */ |
303 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7790", | 712 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7790", |
304 | "scif0_data", "scif0"), | 713 | "scif0_data", "scif0"), |
305 | /* SCIF1 (CN20: DEBUG SERIAL1) */ | 714 | /* SCIF1 (CN20: DEBUG SERIAL1) */ |
306 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7790", | 715 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7790", |
307 | "scif1_data", "scif1"), | 716 | "scif1_data", "scif1"), |
717 | /* SDHI0 */ | ||
718 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7790", | ||
719 | "sdhi0_data4", "sdhi0"), | ||
720 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7790", | ||
721 | "sdhi0_ctrl", "sdhi0"), | ||
722 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7790", | ||
723 | "sdhi0_cd", "sdhi0"), | ||
724 | /* SDHI2 */ | ||
725 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-r8a7790", | ||
726 | "sdhi2_data4", "sdhi2"), | ||
727 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-r8a7790", | ||
728 | "sdhi2_ctrl", "sdhi2"), | ||
729 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-r8a7790", | ||
730 | "sdhi2_cd", "sdhi2"), | ||
731 | /* SSI (CN17: sound) */ | ||
732 | PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790", | ||
733 | "ssi0129_ctrl", "ssi"), | ||
734 | PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790", | ||
735 | "ssi0_data", "ssi"), | ||
736 | PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790", | ||
737 | "ssi1_data", "ssi"), | ||
738 | PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790", | ||
739 | "audio_clk_a", "audio_clk"), | ||
308 | /* MMCIF1 */ | 740 | /* MMCIF1 */ |
309 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.1", "pfc-r8a7790", | 741 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.1", "pfc-r8a7790", |
310 | "mmc1_data8", "mmc1"), | 742 | "mmc1_data8", "mmc1"), |
@@ -319,6 +751,31 @@ static const struct pinctrl_map lager_pinctrl_map[] = { | |||
319 | "eth_rmii", "eth"), | 751 | "eth_rmii", "eth"), |
320 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-ether", "pfc-r8a7790", | 752 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-ether", "pfc-r8a7790", |
321 | "intc_irq0", "intc"), | 753 | "intc_irq0", "intc"), |
754 | /* VIN0 */ | ||
755 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.0", "pfc-r8a7790", | ||
756 | "vin0_data24", "vin0"), | ||
757 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.0", "pfc-r8a7790", | ||
758 | "vin0_sync", "vin0"), | ||
759 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.0", "pfc-r8a7790", | ||
760 | "vin0_field", "vin0"), | ||
761 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.0", "pfc-r8a7790", | ||
762 | "vin0_clkenb", "vin0"), | ||
763 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.0", "pfc-r8a7790", | ||
764 | "vin0_clk", "vin0"), | ||
765 | /* VIN1 */ | ||
766 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.1", "pfc-r8a7790", | ||
767 | "vin1_data8", "vin1"), | ||
768 | PIN_MAP_MUX_GROUP_DEFAULT("r8a7790-vin.1", "pfc-r8a7790", | ||
769 | "vin1_clk", "vin1"), | ||
770 | /* USB0 */ | ||
771 | PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7790", | ||
772 | "usb0_ovc_vbus", "usb0"), | ||
773 | /* USB1 */ | ||
774 | PIN_MAP_MUX_GROUP_DEFAULT("pci-rcar-gen2.1", "pfc-r8a7790", | ||
775 | "usb1", "usb1"), | ||
776 | /* USB2 */ | ||
777 | PIN_MAP_MUX_GROUP_DEFAULT("pci-rcar-gen2.2", "pfc-r8a7790", | ||
778 | "usb2", "usb2"), | ||
322 | }; | 779 | }; |
323 | 780 | ||
324 | static void __init lager_add_standard_devices(void) | 781 | static void __init lager_add_standard_devices(void) |
@@ -346,10 +803,7 @@ static void __init lager_add_standard_devices(void) | |||
346 | mmcif1_resources, ARRAY_SIZE(mmcif1_resources), | 803 | mmcif1_resources, ARRAY_SIZE(mmcif1_resources), |
347 | &mmcif1_pdata, sizeof(mmcif1_pdata)); | 804 | &mmcif1_pdata, sizeof(mmcif1_pdata)); |
348 | 805 | ||
349 | platform_device_register_resndata(&platform_bus, "r8a7790-ether", -1, | 806 | platform_device_register_full(ðer_info); |
350 | ether_resources, | ||
351 | ARRAY_SIZE(ether_resources), | ||
352 | ðer_pdata, sizeof(ether_pdata)); | ||
353 | 807 | ||
354 | lager_add_du_device(); | 808 | lager_add_du_device(); |
355 | 809 | ||
@@ -368,6 +822,28 @@ static void __init lager_add_standard_devices(void) | |||
368 | &vccq_sdhi0_info, sizeof(struct gpio_regulator_config)); | 822 | &vccq_sdhi0_info, sizeof(struct gpio_regulator_config)); |
369 | platform_device_register_data(&platform_bus, "gpio-regulator", gpio_regulator_idx++, | 823 | platform_device_register_data(&platform_bus, "gpio-regulator", gpio_regulator_idx++, |
370 | &vccq_sdhi2_info, sizeof(struct gpio_regulator_config)); | 824 | &vccq_sdhi2_info, sizeof(struct gpio_regulator_config)); |
825 | |||
826 | lager_add_camera1_device(); | ||
827 | |||
828 | platform_device_register_full(&sata1_info); | ||
829 | |||
830 | platform_device_register_resndata(&platform_bus, "usb_phy_rcar_gen2", | ||
831 | -1, usbhs_phy_resources, | ||
832 | ARRAY_SIZE(usbhs_phy_resources), | ||
833 | &usbhs_phy_pdata, | ||
834 | sizeof(usbhs_phy_pdata)); | ||
835 | lager_register_usbhs(); | ||
836 | lager_add_usb1_device(); | ||
837 | lager_add_usb2_device(); | ||
838 | |||
839 | lager_add_rsnd_device(); | ||
840 | |||
841 | platform_device_register_resndata(&platform_bus, "sh_mobile_sdhi", 0, | ||
842 | sdhi0_resources, ARRAY_SIZE(sdhi0_resources), | ||
843 | &sdhi0_info, sizeof(struct sh_mobile_sdhi_info)); | ||
844 | platform_device_register_resndata(&platform_bus, "sh_mobile_sdhi", 2, | ||
845 | sdhi2_resources, ARRAY_SIZE(sdhi2_resources), | ||
846 | &sdhi2_info, sizeof(struct sh_mobile_sdhi_info)); | ||
371 | } | 847 | } |
372 | 848 | ||
373 | /* | 849 | /* |
@@ -391,6 +867,8 @@ static void __init lager_init(void) | |||
391 | { | 867 | { |
392 | lager_add_standard_devices(); | 868 | lager_add_standard_devices(); |
393 | 869 | ||
870 | irq_set_irq_type(irq_pin(0), IRQ_TYPE_LEVEL_LOW); | ||
871 | |||
394 | if (IS_ENABLED(CONFIG_PHYLIB)) | 872 | if (IS_ENABLED(CONFIG_PHYLIB)) |
395 | phy_register_fixup_for_id("r8a7790-ether-ff:01", | 873 | phy_register_fixup_for_id("r8a7790-ether-ff:01", |
396 | lager_ksz8041_fixup); | 874 | lager_ksz8041_fixup); |
diff --git a/arch/arm/mach-shmobile/include/mach/head-kzm9g.txt b/arch/arm/mach-shmobile/include/mach/head-kzm9g.txt new file mode 100644 index 000000000000..9531f46a822a --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/head-kzm9g.txt | |||
@@ -0,0 +1,410 @@ | |||
1 | LIST "KZM9G low-level initialization routine." | ||
2 | LIST "Adapted from u-boot KZM9G support code." | ||
3 | |||
4 | LIST "Copyright (C) 2013 Ulrich Hecht" | ||
5 | |||
6 | LIST "This program is free software; you can redistribute it and/or modify" | ||
7 | LIST "it under the terms of the GNU General Public License version 2 as" | ||
8 | LIST "published by the Free Software Foundation." | ||
9 | |||
10 | LIST "This program is distributed in the hope that it will be useful," | ||
11 | LIST "but WITHOUT ANY WARRANTY; without even the implied warranty of" | ||
12 | LIST "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" | ||
13 | LIST "GNU General Public License for more details." | ||
14 | |||
15 | |||
16 | LIST "Register definitions:" | ||
17 | |||
18 | LIST "Secure control register" | ||
19 | #define LIFEC_SEC_SRC (0xE6110008) | ||
20 | |||
21 | LIST "RWDT" | ||
22 | #define RWDT_BASE (0xE6020000) | ||
23 | #define RWTCSRA0 (RWDT_BASE + 0x04) | ||
24 | |||
25 | LIST "HPB Semaphore Control Registers" | ||
26 | #define HPBSCR_BASE (0xE6000000) | ||
27 | #define HPBCTRL6 (HPBSCR_BASE + 0x1030) | ||
28 | |||
29 | #define SBSC1_BASE (0xFE400000) | ||
30 | #define SDCR0A (SBSC1_BASE + 0x0008) | ||
31 | #define SDCR1A (SBSC1_BASE + 0x000C) | ||
32 | #define SDPCRA (SBSC1_BASE + 0x0010) | ||
33 | #define SDCR0SA (SBSC1_BASE + 0x0018) | ||
34 | #define SDCR1SA (SBSC1_BASE + 0x001C) | ||
35 | #define RTCSRA (SBSC1_BASE + 0x0020) | ||
36 | #define RTCORA (SBSC1_BASE + 0x0028) | ||
37 | #define RTCORHA (SBSC1_BASE + 0x002C) | ||
38 | #define SDWCRC0A (SBSC1_BASE + 0x0040) | ||
39 | #define SDWCRC1A (SBSC1_BASE + 0x0044) | ||
40 | #define SDWCR00A (SBSC1_BASE + 0x0048) | ||
41 | #define SDWCR01A (SBSC1_BASE + 0x004C) | ||
42 | #define SDWCR10A (SBSC1_BASE + 0x0050) | ||
43 | #define SDWCR11A (SBSC1_BASE + 0x0054) | ||
44 | #define SDWCR2A (SBSC1_BASE + 0x0060) | ||
45 | #define SDWCRC2A (SBSC1_BASE + 0x0064) | ||
46 | #define ZQCCRA (SBSC1_BASE + 0x0068) | ||
47 | #define SDMRACR0A (SBSC1_BASE + 0x0084) | ||
48 | #define SDMRTMPCRA (SBSC1_BASE + 0x008C) | ||
49 | #define SDMRTMPMSKA (SBSC1_BASE + 0x0094) | ||
50 | #define SDGENCNTA (SBSC1_BASE + 0x009C) | ||
51 | #define SDDRVCR0A (SBSC1_BASE + 0x00B4) | ||
52 | #define DLLCNT0A (SBSC1_BASE + 0x0354) | ||
53 | |||
54 | #define SDMRA1 (0xFE500000) | ||
55 | #define SDMRA2 (0xFE5C0000) | ||
56 | #define SDMRA3 (0xFE504000) | ||
57 | |||
58 | #define SBSC2_BASE (0xFB400000) | ||
59 | #define SDCR0B (SBSC2_BASE + 0x0008) | ||
60 | #define SDCR1B (SBSC2_BASE + 0x000C) | ||
61 | #define SDPCRB (SBSC2_BASE + 0x0010) | ||
62 | #define SDCR0SB (SBSC2_BASE + 0x0018) | ||
63 | #define SDCR1SB (SBSC2_BASE + 0x001C) | ||
64 | #define RTCSRB (SBSC2_BASE + 0x0020) | ||
65 | #define RTCORB (SBSC2_BASE + 0x0028) | ||
66 | #define RTCORHB (SBSC2_BASE + 0x002C) | ||
67 | #define SDWCRC0B (SBSC2_BASE + 0x0040) | ||
68 | #define SDWCRC1B (SBSC2_BASE + 0x0044) | ||
69 | #define SDWCR00B (SBSC2_BASE + 0x0048) | ||
70 | #define SDWCR01B (SBSC2_BASE + 0x004C) | ||
71 | #define SDWCR10B (SBSC2_BASE + 0x0050) | ||
72 | #define SDWCR11B (SBSC2_BASE + 0x0054) | ||
73 | #define SDPDCR0B (SBSC2_BASE + 0x0058) | ||
74 | #define SDWCR2B (SBSC2_BASE + 0x0060) | ||
75 | #define SDWCRC2B (SBSC2_BASE + 0x0064) | ||
76 | #define ZQCCRB (SBSC2_BASE + 0x0068) | ||
77 | #define SDMRACR0B (SBSC2_BASE + 0x0084) | ||
78 | #define SDMRTMPCRB (SBSC2_BASE + 0x008C) | ||
79 | #define SDMRTMPMSKB (SBSC2_BASE + 0x0094) | ||
80 | #define SDGENCNTB (SBSC2_BASE + 0x009C) | ||
81 | #define DPHYCNT0B (SBSC2_BASE + 0x00A0) | ||
82 | #define DPHYCNT1B (SBSC2_BASE + 0x00A4) | ||
83 | #define DPHYCNT2B (SBSC2_BASE + 0x00A8) | ||
84 | #define SDDRVCR0B (SBSC2_BASE + 0x00B4) | ||
85 | #define DLLCNT0B (SBSC2_BASE + 0x0354) | ||
86 | |||
87 | #define SDMRB1 (0xFB500000) | ||
88 | #define SDMRB2 (0xFB5C0000) | ||
89 | #define SDMRB3 (0xFB504000) | ||
90 | |||
91 | #define CPG_BASE (0xE6150000) | ||
92 | #define FRQCRA (CPG_BASE + 0x0000) | ||
93 | #define FRQCRB (CPG_BASE + 0x0004) | ||
94 | #define FRQCRD (CPG_BASE + 0x00E4) | ||
95 | #define VCLKCR1 (CPG_BASE + 0x0008) | ||
96 | #define VCLKCR2 (CPG_BASE + 0x000C) | ||
97 | #define VCLKCR3 (CPG_BASE + 0x001C) | ||
98 | #define ZBCKCR (CPG_BASE + 0x0010) | ||
99 | #define FLCKCR (CPG_BASE + 0x0014) | ||
100 | #define SD0CKCR (CPG_BASE + 0x0074) | ||
101 | #define SD1CKCR (CPG_BASE + 0x0078) | ||
102 | #define SD2CKCR (CPG_BASE + 0x007C) | ||
103 | #define FSIACKCR (CPG_BASE + 0x0018) | ||
104 | #define SUBCKCR (CPG_BASE + 0x0080) | ||
105 | #define SPUACKCR (CPG_BASE + 0x0084) | ||
106 | #define SPUVCKCR (CPG_BASE + 0x0094) | ||
107 | #define MSUCKCR (CPG_BASE + 0x0088) | ||
108 | #define HSICKCR (CPG_BASE + 0x008C) | ||
109 | #define FSIBCKCR (CPG_BASE + 0x0090) | ||
110 | #define MFCK1CR (CPG_BASE + 0x0098) | ||
111 | #define MFCK2CR (CPG_BASE + 0x009C) | ||
112 | #define DSITCKCR (CPG_BASE + 0x0060) | ||
113 | #define DSI0PCKCR (CPG_BASE + 0x0064) | ||
114 | #define DSI1PCKCR (CPG_BASE + 0x0068) | ||
115 | #define DSI0PHYCR (CPG_BASE + 0x006C) | ||
116 | #define DVFSCR3 (CPG_BASE + 0x0174) | ||
117 | #define DVFSCR4 (CPG_BASE + 0x0178) | ||
118 | #define DVFSCR5 (CPG_BASE + 0x017C) | ||
119 | #define MPMODE (CPG_BASE + 0x00CC) | ||
120 | |||
121 | #define PLLECR (CPG_BASE + 0x00D0) | ||
122 | #define PLL0CR (CPG_BASE + 0x00D8) | ||
123 | #define PLL1CR (CPG_BASE + 0x0028) | ||
124 | #define PLL2CR (CPG_BASE + 0x002C) | ||
125 | #define PLL3CR (CPG_BASE + 0x00DC) | ||
126 | #define PLL0STPCR (CPG_BASE + 0x00F0) | ||
127 | #define PLL1STPCR (CPG_BASE + 0x00C8) | ||
128 | #define PLL2STPCR (CPG_BASE + 0x00F8) | ||
129 | #define PLL3STPCR (CPG_BASE + 0x00FC) | ||
130 | #define RMSTPCR0 (CPG_BASE + 0x0110) | ||
131 | #define RMSTPCR1 (CPG_BASE + 0x0114) | ||
132 | #define RMSTPCR2 (CPG_BASE + 0x0118) | ||
133 | #define RMSTPCR3 (CPG_BASE + 0x011C) | ||
134 | #define RMSTPCR4 (CPG_BASE + 0x0120) | ||
135 | #define RMSTPCR5 (CPG_BASE + 0x0124) | ||
136 | #define SMSTPCR0 (CPG_BASE + 0x0130) | ||
137 | #define SMSTPCR2 (CPG_BASE + 0x0138) | ||
138 | #define SMSTPCR3 (CPG_BASE + 0x013C) | ||
139 | #define CPGXXCR4 (CPG_BASE + 0x0150) | ||
140 | #define SRCR0 (CPG_BASE + 0x80A0) | ||
141 | #define SRCR2 (CPG_BASE + 0x80B0) | ||
142 | #define SRCR3 (CPG_BASE + 0x80A8) | ||
143 | #define VREFCR (CPG_BASE + 0x00EC) | ||
144 | #define PCLKCR (CPG_BASE + 0x1020) | ||
145 | |||
146 | #define PORT32CR (0xE6051020) | ||
147 | #define PORT33CR (0xE6051021) | ||
148 | #define PORT34CR (0xE6051022) | ||
149 | #define PORT35CR (0xE6051023) | ||
150 | |||
151 | LIST "DRAM initialization code:" | ||
152 | |||
153 | EW RWTCSRA0, 0xA507 | ||
154 | |||
155 | ED_AND LIFEC_SEC_SRC, 0xFFFF7FFF | ||
156 | |||
157 | ED_AND SMSTPCR3,0xFFFF7FFF | ||
158 | ED_AND SRCR3, 0xFFFF7FFF | ||
159 | ED_AND SMSTPCR2,0xFFFBFFFF | ||
160 | ED_AND SRCR2, 0xFFFBFFFF | ||
161 | ED PLLECR, 0x00000000 | ||
162 | |||
163 | WAIT_MASK PLLECR, 0x00000F00, 0x00000000 | ||
164 | WAIT_MASK FRQCRB, 0x80000000, 0x00000000 | ||
165 | |||
166 | ED PLL0CR, 0x2D000000 | ||
167 | ED PLL1CR, 0x17100000 | ||
168 | ED FRQCRB, 0x96235880 | ||
169 | WAIT_MASK FRQCRB, 0x80000000, 0x00000000 | ||
170 | |||
171 | ED FLCKCR, 0x0000000B | ||
172 | ED_AND SMSTPCR0, 0xFFFFFFFD | ||
173 | |||
174 | ED_AND SRCR0, 0xFFFFFFFD | ||
175 | ED 0xE6001628, 0x514 | ||
176 | ED 0xE6001648, 0x514 | ||
177 | ED 0xE6001658, 0x514 | ||
178 | ED 0xE6001678, 0x514 | ||
179 | |||
180 | ED DVFSCR4, 0x00092000 | ||
181 | ED DVFSCR5, 0x000000DC | ||
182 | ED PLLECR, 0x00000000 | ||
183 | WAIT_MASK PLLECR, 0x00000F00, 0x00000000 | ||
184 | |||
185 | ED FRQCRA, 0x0012453C | ||
186 | ED FRQCRB, 0x80431350 | ||
187 | WAIT_MASK FRQCRB, 0x80000000, 0x00000000 | ||
188 | ED FRQCRD, 0x00000B0B | ||
189 | WAIT_MASK FRQCRD, 0x80000000, 0x00000000 | ||
190 | |||
191 | ED PCLKCR, 0x00000003 | ||
192 | ED VCLKCR1, 0x0000012F | ||
193 | ED VCLKCR2, 0x00000119 | ||
194 | ED VCLKCR3, 0x00000119 | ||
195 | ED ZBCKCR, 0x00000002 | ||
196 | ED FLCKCR, 0x00000005 | ||
197 | ED SD0CKCR, 0x00000080 | ||
198 | ED SD1CKCR, 0x00000080 | ||
199 | ED SD2CKCR, 0x00000080 | ||
200 | ED FSIACKCR, 0x0000003F | ||
201 | ED FSIBCKCR, 0x0000003F | ||
202 | ED SUBCKCR, 0x00000080 | ||
203 | ED SPUACKCR, 0x0000000B | ||
204 | ED SPUVCKCR, 0x0000000B | ||
205 | ED MSUCKCR, 0x0000013F | ||
206 | ED HSICKCR, 0x00000080 | ||
207 | ED MFCK1CR, 0x0000003F | ||
208 | ED MFCK2CR, 0x0000003F | ||
209 | ED DSITCKCR, 0x00000107 | ||
210 | ED DSI0PCKCR, 0x00000313 | ||
211 | ED DSI1PCKCR, 0x0000130D | ||
212 | ED DSI0PHYCR, 0x2A800E0E | ||
213 | ED PLL0CR, 0x1E000000 | ||
214 | ED PLL0CR, 0x2D000000 | ||
215 | ED PLL1CR, 0x17100000 | ||
216 | ED PLL2CR, 0x27000080 | ||
217 | ED PLL3CR, 0x1D000000 | ||
218 | ED PLL0STPCR, 0x00080000 | ||
219 | ED PLL1STPCR, 0x000120C0 | ||
220 | ED PLL2STPCR, 0x00012000 | ||
221 | ED PLL3STPCR, 0x00000030 | ||
222 | ED PLLECR, 0x0000000B | ||
223 | WAIT_MASK PLLECR, 0x00000B00, 0x00000B00 | ||
224 | |||
225 | ED DVFSCR3, 0x000120F0 | ||
226 | ED MPMODE, 0x00000020 | ||
227 | ED VREFCR, 0x0000028A | ||
228 | ED RMSTPCR0, 0xE4628087 | ||
229 | ED RMSTPCR1, 0xFFFFFFFF | ||
230 | ED RMSTPCR2, 0x53FFFFFF | ||
231 | ED RMSTPCR3, 0xFFFFFFFF | ||
232 | ED RMSTPCR4, 0x00800D3D | ||
233 | ED RMSTPCR5, 0xFFFFF3FF | ||
234 | ED SMSTPCR2, 0x00000000 | ||
235 | ED SRCR2, 0x00040000 | ||
236 | ED_AND PLLECR, 0xFFFFFFF7 | ||
237 | WAIT_MASK PLLECR, 0x00000800, 0x00000000 | ||
238 | |||
239 | LIST "set SBSC operational" | ||
240 | ED HPBCTRL6, 0x00000001 | ||
241 | WAIT_MASK HPBCTRL6, 0x00000001, 0x00000001 | ||
242 | |||
243 | LIST "set SBSC operating frequency" | ||
244 | ED FRQCRD, 0x00001414 | ||
245 | WAIT_MASK FRQCRD, 0x80000000, 0x00000000 | ||
246 | ED PLL3CR, 0x1D000000 | ||
247 | ED_OR PLLECR, 0x00000008 | ||
248 | WAIT_MASK PLLECR, 0x00000800, 0x00000800 | ||
249 | |||
250 | LIST "enable DLL oscillation in DDRPHY" | ||
251 | ED_OR DLLCNT0A, 0x00000002 | ||
252 | |||
253 | LIST "wait >= 100 ns" | ||
254 | ED SDGENCNTA, 0x00000005 | ||
255 | WAIT_MASK SDGENCNTA, 0xFFFFFFFF, 0x00000000 | ||
256 | |||
257 | LIST "target LPDDR2 device settings" | ||
258 | ED SDCR0A, 0xACC90159 | ||
259 | ED SDCR1A, 0x00010059 | ||
260 | ED SDWCRC0A, 0x50874114 | ||
261 | ED SDWCRC1A, 0x33199B37 | ||
262 | ED SDWCRC2A, 0x008F2313 | ||
263 | ED SDWCR00A, 0x31020707 | ||
264 | ED SDWCR01A, 0x0017040A | ||
265 | ED SDWCR10A, 0x31020707 | ||
266 | ED SDWCR11A, 0x0017040A | ||
267 | |||
268 | ED SDDRVCR0A, 0x055557ff | ||
269 | |||
270 | ED SDWCR2A, 0x30000000 | ||
271 | |||
272 | LIST "drive CKE high" | ||
273 | ED_OR SDPCRA, 0x00000080 | ||
274 | WAIT_MASK SDPCRA, 0x00000080, 0x00000080 | ||
275 | |||
276 | LIST "wait >= 200 us" | ||
277 | ED SDGENCNTA, 0x00002710 | ||
278 | WAIT_MASK SDGENCNTA, 0xFFFFFFFF, 0x00000000 | ||
279 | |||
280 | LIST "issue reset command to LPDDR2 device" | ||
281 | ED SDMRACR0A, 0x0000003F | ||
282 | ED SDMRA1, 0x00000000 | ||
283 | |||
284 | LIST "wait >= 10 (or 1) us (docs inconsistent)" | ||
285 | ED SDGENCNTA, 0x000001F4 | ||
286 | WAIT_MASK SDGENCNTA, 0xFFFFFFFF, 0x00000000 | ||
287 | |||
288 | LIST "MRW ZS initialization calibration command" | ||
289 | ED SDMRACR0A, 0x0000FF0A | ||
290 | ED SDMRA3, 0x00000000 | ||
291 | |||
292 | LIST "wait >= 1 us" | ||
293 | ED SDGENCNTA, 0x00000032 | ||
294 | WAIT_MASK SDGENCNTA, 0xFFFFFFFF, 0x00000000 | ||
295 | |||
296 | LIST "specify operating mode in LPDDR2" | ||
297 | ED SDMRACR0A, 0x00002201 | ||
298 | ED SDMRA1, 0x00000000 | ||
299 | ED SDMRACR0A, 0x00000402 | ||
300 | ED SDMRA1, 0x00000000 | ||
301 | ED SDMRACR0A, 0x00000203 | ||
302 | ED SDMRA1, 0x00000000 | ||
303 | |||
304 | LIST "initialize DDR interface" | ||
305 | ED SDMRA2, 0x00000000 | ||
306 | |||
307 | LIST "temperature sensor control" | ||
308 | ED SDMRTMPCRA, 0x88800004 | ||
309 | ED SDMRTMPMSKA,0x00000004 | ||
310 | |||
311 | LIST "auto-refreshing control" | ||
312 | ED RTCORA, 0xA55A0032 | ||
313 | ED RTCORHA, 0xA55A000C | ||
314 | ED RTCSRA, 0xA55A2048 | ||
315 | |||
316 | ED_OR SDCR0A, 0x00000800 | ||
317 | ED_OR SDCR1A, 0x00000400 | ||
318 | |||
319 | LIST "auto ZQ calibration control" | ||
320 | ED ZQCCRA, 0xFFF20000 | ||
321 | |||
322 | ED_OR DLLCNT0B, 0x00000002 | ||
323 | ED SDGENCNTB, 0x00000005 | ||
324 | WAIT_MASK SDGENCNTB, 0xFFFFFFFF, 0x00000000 | ||
325 | |||
326 | ED SDCR0B, 0xACC90159 | ||
327 | ED SDCR1B, 0x00010059 | ||
328 | ED SDWCRC0B, 0x50874114 | ||
329 | ED SDWCRC1B, 0x33199B37 | ||
330 | ED SDWCRC2B, 0x008F2313 | ||
331 | ED SDWCR00B, 0x31020707 | ||
332 | ED SDWCR01B, 0x0017040A | ||
333 | ED SDWCR10B, 0x31020707 | ||
334 | ED SDWCR11B, 0x0017040A | ||
335 | ED SDDRVCR0B, 0x055557ff | ||
336 | ED SDWCR2B, 0x30000000 | ||
337 | ED_OR SDPCRB, 0x00000080 | ||
338 | WAIT_MASK SDPCRB, 0x00000080, 0x00000080 | ||
339 | |||
340 | ED SDGENCNTB, 0x00002710 | ||
341 | WAIT_MASK SDGENCNTB, 0xFFFFFFFF, 0x00000000 | ||
342 | ED SDMRACR0B, 0x0000003F | ||
343 | |||
344 | LIST "upstream u-boot writes to SDMRA1A for both SBSC 1 and 2, which does" | ||
345 | LIST "not seem to make a lot of sense..." | ||
346 | ED SDMRB1, 0x00000000 | ||
347 | |||
348 | ED SDGENCNTB, 0x000001F4 | ||
349 | WAIT_MASK SDGENCNTB, 0xFFFFFFFF, 0x00000000 | ||
350 | |||
351 | ED SDMRACR0B, 0x0000FF0A | ||
352 | ED SDMRB3, 0x00000000 | ||
353 | ED SDGENCNTB, 0x00000032 | ||
354 | WAIT_MASK SDGENCNTB, 0xFFFFFFFF, 0x00000000 | ||
355 | |||
356 | ED SDMRACR0B, 0x00002201 | ||
357 | ED SDMRB1, 0x00000000 | ||
358 | ED SDMRACR0B, 0x00000402 | ||
359 | ED SDMRB1, 0x00000000 | ||
360 | ED SDMRACR0B, 0x00000203 | ||
361 | ED SDMRB1, 0x00000000 | ||
362 | ED SDMRB2, 0x00000000 | ||
363 | ED SDMRTMPCRB, 0x88800004 | ||
364 | ED SDMRTMPMSKB, 0x00000004 | ||
365 | ED RTCORB, 0xA55A0032 | ||
366 | ED RTCORHB, 0xA55A000C | ||
367 | ED RTCSRB, 0xA55A2048 | ||
368 | ED_OR SDCR0B, 0x00000800 | ||
369 | ED_OR SDCR1B, 0x00000400 | ||
370 | ED ZQCCRB, 0xFFF20000 | ||
371 | ED_OR SDPDCR0B, 0x00030000 | ||
372 | ED DPHYCNT1B, 0xA5390000 | ||
373 | ED DPHYCNT0B, 0x00001200 | ||
374 | ED DPHYCNT1B, 0x07CE0000 | ||
375 | ED DPHYCNT0B, 0x00001247 | ||
376 | WAIT_MASK DPHYCNT2B, 0xFFFFFFFF, 0x07CE0000 | ||
377 | |||
378 | ED_AND SDPDCR0B, 0xFFFCFFFF | ||
379 | |||
380 | ED FRQCRD, 0x00000B0B | ||
381 | WAIT_MASK FRQCRD, 0x80000000, 0x00000000 | ||
382 | |||
383 | ED CPGXXCR4, 0xfffffffc | ||
384 | |||
385 | LIST "Setup SCIF4 / workaround" | ||
386 | EB PORT32CR, 0x12 | ||
387 | EB PORT33CR, 0x22 | ||
388 | EB PORT34CR, 0x12 | ||
389 | EB PORT35CR, 0x22 | ||
390 | |||
391 | EW 0xE6C80000, 0 | ||
392 | EB 0xE6C80004, 0x19 | ||
393 | EW 0xE6C80008, 0x0030 | ||
394 | EW 0xE6C80018, 0 | ||
395 | EW 0xE6C80030, 0x0014 | ||
396 | |||
397 | LIST "Magic to avoid hangs and corruption on DRAM writes." | ||
398 | |||
399 | LIST "It has been observed that the system would most often hang while" | ||
400 | LIST "decompressing the kernel, and if it didn't it would always write" | ||
401 | LIST "a corrupt image to DRAM." | ||
402 | LIST "This problem does not occur in u-boot, and the reason is that" | ||
403 | LIST "u-boot performs an additional cache invalidation after setting up" | ||
404 | LIST "the DRAM controller. Such an invalidation should not be necessary at" | ||
405 | LIST "this point, and attempts at removing parts of the routine to arrive" | ||
406 | LIST "at the minimal snippet of code necessary to avoid the DRAM stability" | ||
407 | LIST "problem yielded the following:" | ||
408 | |||
409 | MRC p15, 0, r0, c1, c0, 0 | ||
410 | MCR p15, 0, r0, c1, c0, 0 | ||
diff --git a/arch/arm/mach-shmobile/include/mach/zboot.h b/arch/arm/mach-shmobile/include/mach/zboot.h index c3c4669a2d72..727cc78ac8ec 100644 --- a/arch/arm/mach-shmobile/include/mach/zboot.h +++ b/arch/arm/mach-shmobile/include/mach/zboot.h | |||
@@ -12,6 +12,9 @@ | |||
12 | #ifdef CONFIG_MACH_MACKEREL | 12 | #ifdef CONFIG_MACH_MACKEREL |
13 | #define MEMORY_START 0x40000000 | 13 | #define MEMORY_START 0x40000000 |
14 | #include "mach/head-mackerel.txt" | 14 | #include "mach/head-mackerel.txt" |
15 | #elif defined(CONFIG_MACH_KZM9G) || defined(CONFIG_MACH_KZM9G_REFERENCE) | ||
16 | #define MEMORY_START 0x43000000 | ||
17 | #include "mach/head-kzm9g.txt" | ||
15 | #else | 18 | #else |
16 | #error "unsupported board." | 19 | #error "unsupported board." |
17 | #endif | 20 | #endif |
diff --git a/arch/arm/mach-shmobile/include/mach/zboot_macros.h b/arch/arm/mach-shmobile/include/mach/zboot_macros.h index aa6111fbc989..14fd3d538e9a 100644 --- a/arch/arm/mach-shmobile/include/mach/zboot_macros.h +++ b/arch/arm/mach-shmobile/include/mach/zboot_macros.h | |||
@@ -62,4 +62,47 @@ | |||
62 | 2 : | 62 | 2 : |
63 | .endm | 63 | .endm |
64 | 64 | ||
65 | /* loop until a given value has been read (with mask) */ | ||
66 | .macro WAIT_MASK, addr, data, cmp | ||
67 | LDR r0, 2f | ||
68 | LDR r1, 3f | ||
69 | LDR r2, 4f | ||
70 | 1: | ||
71 | LDR r3, [r0, #0] | ||
72 | AND r3, r1, r3 | ||
73 | CMP r2, r3 | ||
74 | BNE 1b | ||
75 | B 5f | ||
76 | 2: .long \addr | ||
77 | 3: .long \data | ||
78 | 4: .long \cmp | ||
79 | 5: | ||
80 | .endm | ||
81 | |||
82 | /* read 32-bit value from addr, "or" an immediate and write back */ | ||
83 | .macro ED_OR, addr, data | ||
84 | LDR r4, 1f | ||
85 | LDR r5, 2f | ||
86 | LDR r6, [r4] | ||
87 | ORR r5, r6, r5 | ||
88 | STR r5, [r4] | ||
89 | B 3f | ||
90 | 1: .long \addr | ||
91 | 2: .long \data | ||
92 | 3: | ||
93 | .endm | ||
94 | |||
95 | /* read 32-bit value from addr, "and" an immediate and write back */ | ||
96 | .macro ED_AND, addr, data | ||
97 | LDR r4, 1f | ||
98 | LDR r5, 2f | ||
99 | LDR r6, [r4] | ||
100 | AND r5, r6, r5 | ||
101 | STR r5, [r4] | ||
102 | B 3f | ||
103 | 1: .long \addr | ||
104 | 2: .long \data | ||
105 | 3: | ||
106 | .endm | ||
107 | |||
65 | #endif /* __ZBOOT_MACRO_H */ | 108 | #endif /* __ZBOOT_MACRO_H */ |