diff options
| -rw-r--r-- | arch/arm/boot/dts/kirkwood-dreamplug.dts | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/kirkwood.dtsi | 34 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/board-dreamplug.c | 152 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 151 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/common.c | 11 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/common.h | 15 | ||||
| -rw-r--r-- | arch/arm/plat-orion/common.c | 7 | ||||
| -rw-r--r-- | arch/arm/plat-orion/include/plat/audio.h | 1 | ||||
| -rw-r--r-- | drivers/rtc/rtc-mv.c | 9 | ||||
| -rw-r--r-- | drivers/spi/spi-orion.c | 5 | ||||
| -rw-r--r-- | drivers/watchdog/orion_wdt.c | 24 | ||||
| -rw-r--r-- | include/linux/spi/orion_spi.h | 1 |
13 files changed, 264 insertions, 160 deletions
diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts index 8a5dff807b45..a5376b84227f 100644 --- a/arch/arm/boot/dts/kirkwood-dreamplug.dts +++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | / { | 5 | / { |
| 6 | model = "Globalscale Technologies Dreamplug"; | 6 | model = "Globalscale Technologies Dreamplug"; |
| 7 | compatible = "globalscale,dreamplug-003-ds2001", "globalscale,dreamplug", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | 7 | compatible = "globalscale,dreamplug-003-ds2001", "globalscale,dreamplug", "mrvl,kirkwood-88f6281", "mrvl,kirkwood"; |
| 8 | 8 | ||
| 9 | memory { | 9 | memory { |
| 10 | device_type = "memory"; | 10 | device_type = "memory"; |
| @@ -15,11 +15,10 @@ | |||
| 15 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | 15 | bootargs = "console=ttyS0,115200n8 earlyprintk"; |
| 16 | }; | 16 | }; |
| 17 | 17 | ||
| 18 | serial@f1012000 { | 18 | ocp@f1000000 { |
| 19 | compatible = "ns16550a"; | 19 | serial@12000 { |
| 20 | reg = <0xf1012000 0xff>; | 20 | clock-frequency = <200000000>; |
| 21 | reg-shift = <2>; | 21 | status = "ok"; |
| 22 | interrupts = <33>; | 22 | }; |
| 23 | clock-frequency = <200000000>; | ||
| 24 | }; | 23 | }; |
| 25 | }; | 24 | }; |
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi index 771c6bbeb29a..3474ef890945 100644 --- a/arch/arm/boot/dts/kirkwood.dtsi +++ b/arch/arm/boot/dts/kirkwood.dtsi | |||
| @@ -1,6 +1,36 @@ | |||
| 1 | /include/ "skeleton.dtsi" | 1 | /include/ "skeleton.dtsi" |
| 2 | 2 | ||
| 3 | / { | 3 | / { |
| 4 | compatible = "marvell,kirkwood"; | 4 | compatible = "mrvl,kirkwood"; |
| 5 | }; | 5 | |
| 6 | ocp@f1000000 { | ||
| 7 | compatible = "simple-bus"; | ||
| 8 | ranges = <0 0xf1000000 0x1000000>; | ||
| 9 | #address-cells = <1>; | ||
| 10 | #size-cells = <1>; | ||
| 11 | |||
| 12 | serial@12000 { | ||
| 13 | compatible = "ns16550a"; | ||
| 14 | reg = <0x12000 0x100>; | ||
| 15 | reg-shift = <2>; | ||
| 16 | interrupts = <33>; | ||
| 17 | /* set clock-frequency in board dts */ | ||
| 18 | status = "disabled"; | ||
| 19 | }; | ||
| 6 | 20 | ||
| 21 | serial@12100 { | ||
| 22 | compatible = "ns16550a"; | ||
| 23 | reg = <0x12100 0x100>; | ||
| 24 | reg-shift = <2>; | ||
| 25 | interrupts = <34>; | ||
| 26 | /* set clock-frequency in board dts */ | ||
| 27 | status = "disabled"; | ||
| 28 | }; | ||
| 29 | |||
| 30 | rtc@10300 { | ||
| 31 | compatible = "mrvl,kirkwood-rtc", "mrvl,orion-rtc"; | ||
| 32 | reg = <0x10300 0x20>; | ||
| 33 | interrupts = <53>; | ||
| 34 | }; | ||
| 35 | }; | ||
| 36 | }; | ||
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile index acbc5e1db06f..e299a9576bf0 100644 --- a/arch/arm/mach-kirkwood/Makefile +++ b/arch/arm/mach-kirkwood/Makefile | |||
| @@ -21,3 +21,4 @@ obj-$(CONFIG_MACH_T5325) += t5325-setup.o | |||
| 21 | 21 | ||
| 22 | obj-$(CONFIG_CPU_IDLE) += cpuidle.o | 22 | obj-$(CONFIG_CPU_IDLE) += cpuidle.o |
| 23 | obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o | 23 | obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o |
| 24 | obj-$(CONFIG_MACH_DREAMPLUG_DT) += board-dreamplug.o | ||
diff --git a/arch/arm/mach-kirkwood/board-dreamplug.c b/arch/arm/mach-kirkwood/board-dreamplug.c new file mode 100644 index 000000000000..985453994dd3 --- /dev/null +++ b/arch/arm/mach-kirkwood/board-dreamplug.c | |||
| @@ -0,0 +1,152 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2012 (C), Jason Cooper <jason@lakedaemon.net> | ||
| 3 | * | ||
| 4 | * arch/arm/mach-kirkwood/board-dreamplug.c | ||
| 5 | * | ||
| 6 | * Marvell DreamPlug Reference Board Init for drivers not converted to | ||
| 7 | * flattened device tree yet. | ||
| 8 | * | ||
| 9 | * This file is licensed under the terms of the GNU General Public | ||
| 10 | * License version 2. This program is licensed "as is" without any | ||
| 11 | * warranty of any kind, whether express or implied. | ||
| 12 | */ | ||
| 13 | |||
| 14 | #include <linux/kernel.h> | ||
| 15 | #include <linux/init.h> | ||
| 16 | #include <linux/platform_device.h> | ||
| 17 | #include <linux/mtd/partitions.h> | ||
| 18 | #include <linux/ata_platform.h> | ||
| 19 | #include <linux/mv643xx_eth.h> | ||
| 20 | #include <linux/of.h> | ||
| 21 | #include <linux/of_address.h> | ||
| 22 | #include <linux/of_fdt.h> | ||
| 23 | #include <linux/of_irq.h> | ||
| 24 | #include <linux/of_platform.h> | ||
| 25 | #include <linux/gpio.h> | ||
| 26 | #include <linux/leds.h> | ||
| 27 | #include <linux/mtd/physmap.h> | ||
| 28 | #include <linux/spi/flash.h> | ||
| 29 | #include <linux/spi/spi.h> | ||
| 30 | #include <linux/spi/orion_spi.h> | ||
| 31 | #include <asm/mach-types.h> | ||
| 32 | #include <asm/mach/arch.h> | ||
| 33 | #include <asm/mach/map.h> | ||
| 34 | #include <mach/kirkwood.h> | ||
| 35 | #include <mach/bridge-regs.h> | ||
| 36 | #include <plat/mvsdio.h> | ||
| 37 | #include "common.h" | ||
| 38 | #include "mpp.h" | ||
| 39 | |||
| 40 | struct mtd_partition dreamplug_partitions[] = { | ||
| 41 | { | ||
| 42 | .name = "u-boot", | ||
| 43 | .size = SZ_512K, | ||
| 44 | .offset = 0, | ||
| 45 | }, | ||
| 46 | { | ||
| 47 | .name = "u-boot env", | ||
| 48 | .size = SZ_64K, | ||
| 49 | .offset = SZ_512K + SZ_512K, | ||
| 50 | }, | ||
| 51 | { | ||
| 52 | .name = "dtb", | ||
| 53 | .size = SZ_64K, | ||
| 54 | .offset = SZ_512K + SZ_512K + SZ_512K, | ||
| 55 | }, | ||
| 56 | }; | ||
| 57 | |||
| 58 | static const struct flash_platform_data dreamplug_spi_slave_data = { | ||
| 59 | .type = "mx25l1606e", | ||
| 60 | .name = "spi_flash", | ||
| 61 | .parts = dreamplug_partitions, | ||
| 62 | .nr_parts = ARRAY_SIZE(dreamplug_partitions), | ||
| 63 | }; | ||
| 64 | |||
| 65 | static struct spi_board_info __initdata dreamplug_spi_slave_info[] = { | ||
| 66 | { | ||
| 67 | .modalias = "m25p80", | ||
| 68 | .platform_data = &dreamplug_spi_slave_data, | ||
| 69 | .irq = -1, | ||
| 70 | .max_speed_hz = 50000000, | ||
| 71 | .bus_num = 0, | ||
| 72 | .chip_select = 0, | ||
| 73 | }, | ||
| 74 | }; | ||
| 75 | |||
| 76 | static struct mv643xx_eth_platform_data dreamplug_ge00_data = { | ||
| 77 | .phy_addr = MV643XX_ETH_PHY_ADDR(0), | ||
| 78 | }; | ||
| 79 | |||
| 80 | static struct mv643xx_eth_platform_data dreamplug_ge01_data = { | ||
| 81 | .phy_addr = MV643XX_ETH_PHY_ADDR(1), | ||
| 82 | }; | ||
| 83 | |||
| 84 | static struct mv_sata_platform_data dreamplug_sata_data = { | ||
| 85 | .n_ports = 1, | ||
| 86 | }; | ||
| 87 | |||
| 88 | static struct mvsdio_platform_data dreamplug_mvsdio_data = { | ||
| 89 | /* unfortunately the CD signal has not been connected */ | ||
| 90 | }; | ||
| 91 | |||
| 92 | static struct gpio_led dreamplug_led_pins[] = { | ||
| 93 | { | ||
| 94 | .name = "dreamplug:blue:bluetooth", | ||
| 95 | .gpio = 47, | ||
| 96 | .active_low = 1, | ||
