diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-09-25 17:48:18 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-09-25 17:50:02 -0400 |
commit | e1e85e76ef327d4b013453ddd7b2c673aa304a71 (patch) | |
tree | 3fe22edbe9bf4d4ec6de24f7ad53f73ba23b21ac | |
parent | 57e33ff1dba139a70723e922c5838499610b60c1 (diff) | |
parent | e076e96227ef6b5b66cfdd79e75401bd2f6d532f (diff) |
Merge tag 'bcm63138-v4' of http://github.com/brcm/linux into next/soc
Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli:
This patchset adds very minimal support for the BCM63138 SoC which is
a xDSL SoC using a dual Cortex A9 CPU complex.
* tag 'bcm63138-v4' of http://github.com/brcm/linux:
MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
ARM: BCM63XX: add BCM963138DVT Reference platform DTS
ARM: BCM63XX: add BCM63138 minimal Device Tree
ARM: BCM63XX: add low-level UART debug support
ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
Conflicts:
arch/arm/Kconfig.debug
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | Documentation/devicetree/bindings/arm/bcm/bcm63138.txt | 9 | ||||
-rw-r--r-- | MAINTAINERS | 8 | ||||
-rw-r--r-- | arch/arm/Kconfig.debug | 18 | ||||
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm63138.dtsi | 134 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm963138dvt.dts | 30 | ||||
-rw-r--r-- | arch/arm/include/debug/bcm63xx.S | 33 | ||||
-rw-r--r-- | arch/arm/mach-bcm/Kconfig | 17 | ||||
-rw-r--r-- | arch/arm/mach-bcm/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-bcm/bcm63xx.c | 27 |
10 files changed, 278 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm63138.txt b/Documentation/devicetree/bindings/arm/bcm/bcm63138.txt new file mode 100644 index 000000000000..bd49987a8812 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm/bcm63138.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | Broadcom BCM63138 DSL System-on-a-Chip device tree bindings | ||
2 | ----------------------------------------------------------- | ||
3 | |||
4 | Boards compatible with the BCM63138 DSL System-on-a-Chip should have the | ||
5 | following properties: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | compatible: should be "brcm,bcm63138" | ||
diff --git a/MAINTAINERS b/MAINTAINERS index cf24bb56bab9..be403bcc8e5f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -2033,6 +2033,14 @@ F: arch/arm/mach-bcm/bcm_5301x.c | |||
2033 | F: arch/arm/boot/dts/bcm5301x.dtsi | 2033 | F: arch/arm/boot/dts/bcm5301x.dtsi |
2034 | F: arch/arm/boot/dts/bcm470* | 2034 | F: arch/arm/boot/dts/bcm470* |
2035 | 2035 | ||
2036 | BROADCOM BCM63XX ARM ARCHITECTURE | ||
2037 | M: Florian Fainelli <f.fainelli@gmail.com> | ||
2038 | L: linux-arm-kernel@lists.infradead.org | ||
2039 | T: git git://git.github.com/brcm/linux.git | ||
2040 | S: Maintained | ||
2041 | F: arch/arm/mach-bcm/bcm63xx.c | ||
2042 | F: arch/arm/include/debug/bcm63xx.S | ||
2043 | |||
2036 | BROADCOM BCM7XXX ARM ARCHITECTURE | 2044 | BROADCOM BCM7XXX ARM ARCHITECTURE |
2037 | M: Marc Carino <marc.ceeeee@gmail.com> | 2045 | M: Marc Carino <marc.ceeeee@gmail.com> |
2038 | M: Brian Norris <computersforpeace@gmail.com> | 2046 | M: Brian Norris <computersforpeace@gmail.com> |
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 2dc9f6cd3c38..22ebff9d781d 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
@@ -122,6 +122,11 @@ choice | |||
122 | mobile SoCs in the Kona family of chips (e.g. bcm28155, | 122 | mobile SoCs in the Kona family of chips (e.g. bcm28155, |
123 | bcm11351, etc...) | 123 | bcm11351, etc...) |
124 | 124 | ||
125 | config DEBUG_BCM63XX | ||
126 | bool "Kernel low-level debugging on BCM63XX UART" | ||
127 | depends on ARCH_BCM_63XX | ||
128 | select DEBUG_UART_BCM63XX | ||
129 | |||
125 | config DEBUG_BERLIN_UART | 130 | config DEBUG_BERLIN_UART |
126 | bool "Marvell Berlin SoC Debug UART" | 131 | bool "Marvell Berlin SoC Debug UART" |
127 | depends on ARCH_BERLIN | 132 | depends on ARCH_BERLIN |
@@ -1062,6 +1067,7 @@ config DEBUG_LL_INCLUDE | |||
1062 | default "debug/vf.S" if DEBUG_VF_UART | 1067 | default "debug/vf.S" if DEBUG_VF_UART |
1063 | default "debug/vt8500.S" if DEBUG_VT8500_UART0 | 1068 | default "debug/vt8500.S" if DEBUG_VT8500_UART0 |
1064 | default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 | 1069 | default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 |
1070 | default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX | ||
1065 | default "mach/debug-macro.S" | 1071 | default "mach/debug-macro.S" |
1066 | 1072 | ||
1067 | # Compatibility options for PL01x | 1073 | # Compatibility options for PL01x |
@@ -1081,6 +1087,10 @@ config DEBUG_UART_8250 | |||
1081 | ARCH_IOP33X || ARCH_IXP4XX || \ | 1087 | ARCH_IOP33X || ARCH_IXP4XX || \ |
1082 | ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC | 1088 | ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC |
1083 | 1089 | ||
1090 | # Compatibility options for BCM63xx | ||
1091 | config DEBUG_UART_BCM63XX | ||
1092 | def_bool ARCH_BCM_63XX | ||
1093 | |||
1084 | config DEBUG_UART_PHYS | 1094 | config DEBUG_UART_PHYS |
1085 | hex "Physical base address of debug UART" | 1095 | hex "Physical base address of debug UART" |
1086 | default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0 | 1096 | default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0 |
@@ -1149,11 +1159,13 @@ config DEBUG_UART_PHYS | |||
1149 | default 0xffc02000 if DEBUG_SOCFPGA_UART | 1159 | default 0xffc02000 if DEBUG_SOCFPGA_UART |
1150 | default 0xffd82340 if ARCH_IOP13XX | 1160 | default 0xffd82340 if ARCH_IOP13XX |
1151 | default 0xfff36000 if DEBUG_HIGHBANK_UART | 1161 | default 0xfff36000 if DEBUG_HIGHBANK_UART |
1162 | default 0xfffe8600 if DEBUG_UART_BCM63XX | ||
1152 | default 0xfffff700 if ARCH_IOP33X | 1163 | default 0xfffff700 if ARCH_IOP33X |
1153 | depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ | 1164 | depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ |
1154 | DEBUG_LL_UART_EFM32 || \ | 1165 | DEBUG_LL_UART_EFM32 || \ |
1155 | DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ | 1166 | DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ |
1156 | DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART | 1167 | DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \ |
1168 | DEBUG_UART_BCM63XX | ||
1157 | 1169 | ||
1158 | config DEBUG_UART_VIRT | 1170 | config DEBUG_UART_VIRT |
1159 | hex "Virtual base address of debug UART" | 1171 | hex "Virtual base address of debug UART" |
@@ -1186,6 +1198,7 @@ config DEBUG_UART_VIRT | |||
1186 | default 0xfa71e000 if DEBUG_QCOM_UARTDM | 1198 | default 0xfa71e000 if DEBUG_QCOM_UARTDM |
1187 | default 0xfb009000 if DEBUG_REALVIEW_STD_PORT | 1199 | default 0xfb009000 if DEBUG_REALVIEW_STD_PORT |
1188 | default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT | 1200 | default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT |
1201 | default 0xfcfe8600 if DEBUG_UART_BCM63XX | ||
1189 | default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX | 1202 | default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX |
1190 | default 0xfd000000 if ARCH_SPEAR13XX | 1203 | default 0xfd000000 if ARCH_SPEAR13XX |
1191 | default 0xfd012000 if ARCH_MV78XX0 | 1204 | default 0xfd012000 if ARCH_MV78XX0 |
@@ -1224,7 +1237,8 @@ config DEBUG_UART_VIRT | |||
1224 | default DEBUG_UART_PHYS if !MMU | 1237 | default DEBUG_UART_PHYS if !MMU |
1225 | depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ | 1238 | depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ |
1226 | DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ | 1239 | DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ |
1227 | DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART | 1240 | DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \ |
1241 | DEBUG_UART_BCM63XX | ||
1228 | 1242 | ||
1229 | config DEBUG_UART_8250_SHIFT | 1243 | config DEBUG_UART_8250_SHIFT |
1230 | int "Register offset shift for the 8250 debug UART" | 1244 | int "Register offset shift for the 8250 debug UART" |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 22aba8598ca7..1a471d7c61ce 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -53,6 +53,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb | |||
53 | dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb | 53 | dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb |
54 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb | 54 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb |
55 | dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb | 55 | dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb |
56 | dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb | ||
56 | dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ | 57 | dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ |
57 | bcm21664-garnet.dtb | 58 | bcm21664-garnet.dtb |
58 | dtb-$(CONFIG_ARCH_BERLIN) += \ | 59 | dtb-$(CONFIG_ARCH_BERLIN) += \ |
diff --git a/arch/arm/boot/dts/bcm63138.dtsi b/arch/arm/boot/dts/bcm63138.dtsi new file mode 100644 index 000000000000..f3bb2dd6269e --- /dev/null +++ b/arch/arm/boot/dts/bcm63138.dtsi | |||
@@ -0,0 +1,134 @@ | |||
1 | /* | ||
2 | * Broadcom BCM63138 DSL SoCs Device Tree | ||
3 | */ | ||
4 | |||
5 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
6 | #include <dt-bindings/interrupt-controller/irq.h> | ||
7 | |||
8 | #include "skeleton.dtsi" | ||
9 | |||
10 | / { | ||
11 | compatible = "brcm,bcm63138"; | ||
12 | model = "Broadcom BCM63138 DSL SoC"; | ||
13 | interrupt-parent = <&gic>; | ||
14 | |||
15 | aliases { | ||
16 | uart0 = &serial0; | ||
17 | uart1 = &serial1; | ||
18 | }; | ||
19 | |||
20 | cpus { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | |||
24 | cpu@0 { | ||
25 | device_type = "cpu"; | ||
26 | compatible = "arm,cortex-a9"; | ||
27 | next-level-cache = <&L2>; | ||
28 | reg = <0>; | ||
29 | }; | ||
30 | |||
31 | cpu@1 { | ||
32 | device_type = "cpu"; | ||
33 | compatible = "arm,cortex-a9"; | ||
34 | next-level-cache = <&L2>; | ||
35 | reg = <1>; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | clocks { | ||
40 | #address-cells = <1>; | ||
41 | #size-cells = <0>; | ||
42 | |||
43 | arm_timer_clk: arm_timer_clk { | ||
44 | #clock-cells = <0>; | ||
45 | compatible = "fixed-clock"; | ||
46 | clock-frequency = <500000000>; | ||
47 | }; | ||
48 | |||
49 | periph_clk: periph_clk { | ||
50 | #clock-cells = <0>; | ||
51 | compatible = "fixed-clock"; | ||
52 | clock-frequency = <50000000>; | ||
53 | clock-output-names = "periph"; | ||
54 | }; | ||
55 | }; | ||
56 | |||
57 | /* ARM bus */ | ||
58 | axi@80000000 { | ||
59 | compatible = "simple-bus"; | ||
60 | ranges = <0 0x80000000 0x784000>; | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <1>; | ||
63 | |||
64 | L2: cache-controller@1d000 { | ||
65 | compatible = "arm,pl310-cache"; | ||
66 | reg = <0x1d000 0x1000>; | ||
67 | cache-unified; | ||
68 | cache-level = <2>; | ||
69 | cache-sets = <16>; | ||
70 | cache-size = <0x80000>; | ||
71 | interrupts = <GIC_PPI 0 IRQ_TYPE_LEVEL_HIGH>; | ||
72 | }; | ||
73 | |||
74 | scu: scu@1e000 { | ||
75 | compatible = "arm,cortex-a9-scu"; | ||
76 | reg = <0x1e000 0x100>; | ||
77 | }; | ||
78 | |||
79 | gic: interrupt-controller@1e100 { | ||
80 | compatible = "arm,cortex-a9-gic"; | ||
81 | reg = <0x1f000 0x1000 | ||
82 | 0x1e100 0x100>; | ||
83 | #interrupt-cells = <3>; | ||
84 | #address-cells = <0>; | ||
85 | interrupt-controller; | ||
86 | }; | ||
87 | |||
88 | global_timer: timer@1e200 { | ||
89 | compatible = "arm,cortex-a9-global-timer"; | ||
90 | reg = <0x1e200 0x20>; | ||
91 | interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
92 | clocks = <&arm_timer_clk>; | ||
93 | }; | ||
94 | |||
95 | local_timer: local-timer@1e600 { | ||
96 | compatible = "arm,cortex-a9-twd-timer"; | ||
97 | reg = <0x1e600 0x20>; | ||
98 | interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>; | ||
99 | clocks = <&arm_timer_clk>; | ||
100 | }; | ||
101 | |||
102 | twd_watchdog: watchdog@1e620 { | ||
103 | compatible = "arm,cortex-a9-twd-wdt"; | ||
104 | reg = <0x1e620 0x20>; | ||
105 | interupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>; | ||
106 | }; | ||
107 | }; | ||
108 | |||
109 | /* Legacy UBUS base */ | ||
110 | ubus@fffe8000 { | ||
111 | compatible = "simple-bus"; | ||
112 | #address-cells = <1>; | ||
113 | #size-cells = <1>; | ||
114 | ranges = <0 0xfffe8000 0x8100>; | ||
115 | |||
116 | serial0: serial@600 { | ||
117 | compatible = "brcm,bcm6345-uart"; | ||
118 | reg = <0x600 0x1b>; | ||
119 | interrupts = <GIC_SPI 32 0>; | ||
120 | clocks = <&periph_clk>; | ||
121 | clock-names = "periph"; | ||
122 | status = "disabled"; | ||
123 | }; | ||
124 | |||
125 | serial1: serial@620 { | ||
126 | compatible = "brcm,bcm6345-uart"; | ||
127 | reg = <0x620 0x1b>; | ||
128 | interrupts = <GIC_SPI 33 0>; | ||
129 | clocks = <&periph_clk>; | ||
130 | clock-names = "periph"; | ||
131 | status = "disabled"; | ||
132 | }; | ||
133 | }; | ||
134 | }; | ||
diff --git a/arch/arm/boot/dts/bcm963138dvt.dts b/arch/arm/boot/dts/bcm963138dvt.dts new file mode 100644 index 000000000000..69c93395ecd2 --- /dev/null +++ b/arch/arm/boot/dts/bcm963138dvt.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Broadcom BCM63138 Reference Board DTS | ||
3 | */ | ||
4 | |||
5 | /dts-v1/; | ||
6 | |||
7 | #include "bcm63138.dtsi" | ||
8 | |||
9 | / { | ||
10 | compatible = "brcm,BCM963138DVT", "brcm,bcm63138"; | ||
11 | model = "Broadcom BCM963138DVT"; | ||
12 | |||
13 | chosen { | ||
14 | bootargs = "console=ttyS0,115200"; | ||
15 | stdout-path = &serial0; | ||
16 | }; | ||
17 | |||
18 | memory { | ||
19 | reg = <0x0 0x08000000>; | ||
20 | }; | ||
21 | |||
22 | }; | ||
23 | |||
24 | &serial0 { | ||
25 | status = "okay"; | ||
26 | }; | ||
27 | |||
28 | &serial1 { | ||
29 | status = "okay"; | ||
30 | }; | ||
diff --git a/arch/arm/include/debug/bcm63xx.S b/arch/arm/include/debug/bcm63xx.S new file mode 100644 index 000000000000..e7164d570f44 --- /dev/null +++ b/arch/arm/include/debug/bcm63xx.S | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Broadcom BCM63xx low-level UART debug | ||
3 | * | ||
4 | * Copyright (C) 2014 Broadcom Corporation | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/serial_bcm63xx.h> | ||
12 | |||
13 | .macro addruart, rp, rv, tmp | ||
14 | ldr \rp, =CONFIG_DEBUG_UART_PHYS | ||
15 | ldr \rv, =CONFIG_DEBUG_UART_VIRT | ||
16 | .endm | ||
17 | |||
18 | .macro senduart, rd, rx | ||
19 | /* word access do not work */ | ||
20 | strb \rd, [\rx, #UART_FIFO_REG] | ||
21 | .endm | ||
22 | |||
23 | .macro waituart, rd, rx | ||
24 | 1001: ldr \rd, [\rx, #UART_IR_REG] | ||
25 | tst \rd, #(1 << UART_IR_TXEMPTY) | ||
26 | beq 1001b | ||
27 | .endm | ||
28 | |||
29 | .macro busyuart, rd, rx | ||
30 | 1002: ldr \rd, [\rx, #UART_IR_REG] | ||
31 | tst \rd, #(1 << UART_IR_TXTRESH) | ||
32 | beq 1002b | ||
33 | .endm | ||
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index fc938005ad39..2abad742516d 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig | |||
@@ -99,6 +99,23 @@ config ARCH_BCM_5301X | |||
99 | different SoC or with the older BCM47XX and BCM53XX based | 99 | different SoC or with the older BCM47XX and BCM53XX based |
100 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx | 100 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx |
101 | 101 | ||
102 | config ARCH_BCM_63XX | ||
103 | bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7 | ||
104 | depends on MMU | ||
105 | select ARM_ERRATA_754322 | ||
106 | select ARM_ERRATA_764369 if SMP | ||
107 | select ARM_GIC | ||
108 | select ARM_GLOBAL_TIMER | ||
109 | select CACHE_L2X0 | ||
110 | select HAVE_ARM_ARCH_TIMER | ||
111 | select HAVE_ARM_TWD if SMP | ||
112 | select HAVE_ARM_SCU if SMP | ||
113 | select HAVE_SMP | ||
114 | help | ||
115 | This enables support for systems based on Broadcom DSL SoCs. | ||
116 | It currently supports the 'BCM63XX' ARM-based family, which includes | ||
117 | the BCM63138 variant. | ||
118 | |||
102 | config ARCH_BRCMSTB | 119 | config ARCH_BRCMSTB |
103 | bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 | 120 | bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 |
104 | depends on MMU | 121 | depends on MMU |
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile index b19a39652545..300ae4b79ae6 100644 --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile | |||
@@ -34,6 +34,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o | |||
34 | # BCM5301X | 34 | # BCM5301X |
35 | obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o | 35 | obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o |
36 | 36 | ||
37 | # BCM63XXx | ||
38 | obj-$(CONFIG_ARCH_BCM_63XX) := bcm63xx.o | ||
39 | |||
37 | ifeq ($(CONFIG_ARCH_BRCMSTB),y) | 40 | ifeq ($(CONFIG_ARCH_BRCMSTB),y) |
38 | obj-y += brcmstb.o | 41 | obj-y += brcmstb.o |
39 | endif | 42 | endif |
diff --git a/arch/arm/mach-bcm/bcm63xx.c b/arch/arm/mach-bcm/bcm63xx.c new file mode 100644 index 000000000000..c4c66ae51308 --- /dev/null +++ b/arch/arm/mach-bcm/bcm63xx.c | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License as | ||
6 | * published by the Free Software Foundation version 2. | ||
7 | * | ||
8 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
9 | * kind, whether express or implied; without even the implied warranty | ||
10 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | #include <linux/of_platform.h> | ||
15 | |||
16 | #include <asm/mach/arch.h> | ||
17 | |||
18 | static const char * const bcm63xx_dt_compat[] = { | ||
19 | "brcm,bcm63138", | ||
20 | NULL | ||
21 | }; | ||
22 | |||
23 | DT_MACHINE_START(BCM63XXX_DT, "BCM63xx DSL SoC") | ||
24 | .dt_compat = bcm63xx_dt_compat, | ||
25 | .l2c_aux_val = 0, | ||
26 | .l2c_aux_mask = ~0, | ||
27 | MACHINE_END | ||