Add support for generic BCM SoC chipsets
Subsystems (6)
PATCH v5 1/1 Add support for generic BCM SoC chipsets
In order to start upstreaming Broadcom SoC support, create a starting hierarchy, arch and dts files.
The first support SoC family that is planned is the BCM281XX (BCM11130/11140/11351/28145/28155) family of dual A9 mobile SoC cores.
This code is just the skeleton code for get the machine upstreamed. It has been made MULTIPLATFORM compatible.
Next steps
----------
Upstream a basic set of drivers - sufficient for a console boot to ramdisk. These will includer timer, gpio, i2c drivers. After this basic set, we will proceed with a more comprehensive set of drivers for the 281XX SoC family.
v2 patch mods
--------
- Remove l2x0_of_init call as there were problems with the code. A separate patch will be submitted with cache init code
- Rename capri files and refs to bcm281xx-based names
- Add bcm281xx binding doc
- various misc cleanups
v3 patch mods
-------------
- Remove extra #include lines
- Remove remaining references to capri
- dt uart chipset string added
- cleaned up chip # references
v4 patch mods
-------------
- swap order of compatible definitions for uart
- fix typo
v5 patch mods
-------------
- Rename bcm281xx to bcm11351 in dts+code, leaving references to bcm281xx only in help+comments.
--- .../devicetree/bindings/arm/bcm/bcm11351.txt | 9 ++ arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/bcm11351-brt.dts | 30 +++++ arch/arm/boot/dts/bcm11351.dtsi | 50 +++++++++ arch/arm/configs/bcm_defconfig | 114 ++++++++++++++++++++ arch/arm/mach-bcm/Kconfig | 19 ++++ arch/arm/mach-bcm/Makefile | 13 +++ arch/arm/mach-bcm/board_bcm.c | 57 ++++++++++ 10 files changed, 296 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm11351.txt create mode 100644 arch/arm/boot/dts/bcm11351-brt.dts create mode 100644 arch/arm/boot/dts/bcm11351.dtsi create mode 100644 arch/arm/configs/bcm_defconfig create mode 100644 arch/arm/mach-bcm/Kconfig create mode 100644 arch/arm/mach-bcm/Makefile create mode 100644 arch/arm/mach-bcm/board_bcm.c
Documentation/devicetree/bindings/arm/bcm/bcm11351.txt new file +9 -0
@@ -0,0 +1,9 @@ +Broadcom BCM11351 device tree bindings +------------------------------------------- + +Boards with the bcm281xx SoC family (which includes bcm11130, bcm11140, +bcm11351, bcm28145, bcm28155 SoCs) shall have the following properties: + +Required root node property: + +compatible = "bcm,bcm11351";
arch/arm/Kconfig +2 -0
@@ -1022,6 +1022,8 @@ source "arch/arm/mach-mvebu/Kconfig" source "arch/arm/mach-at91/Kconfig" +source "arch/arm/mach-bcm/Kconfig" + source "arch/arm/mach-clps711x/Kconfig" source "arch/arm/mach-cns3xxx/Kconfig"
arch/arm/Makefile +1 -0
@@ -137,6 +137,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 # Machine directory name. This list is sorted alphanumerically # by CONFIG_* macro name. machine-$(CONFIG_ARCH_AT91) += at91 +machine-$(CONFIG_ARCH_BCM) += bcm machine-$(CONFIG_ARCH_BCM2835) += bcm2835 machine-$(CONFIG_ARCH_CLPS711X) += clps711x machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
arch/arm/boot/dts/Makefile +1 -0
@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \ usb_a9263.dtb \ usb_a9g20.dtb dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb +dtb-$(CONFIG_ARCH_BCM) += bcm11351-brt.dtb dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ dove-cubox.dtb \ dove-dove-db.dtb
arch/arm/boot/dts/bcm11351-brt.dts new file +30 -0
@@ -0,0 +1,30 @@ +/* + * Copyright (C) 2012 Broadcom Corporation + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation version 2. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/dts-v1/; + +/include/ "bcm11351.dtsi" + +/ { + model = "BCM11351 BRT board"; + compatible = "bcm,bcm11351-brt", "bcm,bcm11351"; + + memory { + reg = <0x80000000 0x40000000>; /* 1 GB */ + }; + + uart at 3e000000 { + status = "okay"; + }; + +};
arch/arm/boot/dts/bcm11351.dtsi new file +50 -0
50 lines not on this page · raw message
arch/arm/configs/bcm_defconfig new file +114 -0
114 lines not on this page · raw message
arch/arm/mach-bcm/Kconfig new file +19 -0
@@ -0,0 +1,19 @@ +config ARCH_BCM + bool "Broadcom SoC" if ARCH_MULTI_V7 + depends on MMU + select ARCH_REQUIRE_GPIOLIB + select ARM_ERRATA_754322 + select ARM_ERRATA_764369 if SMP + select ARM_GIC + select CPU_V7 + select GENERIC_CLOCKEVENTS + select GENERIC_GPIO + select GENERIC_TIME + select GPIO_BCM + select SPARSE_IRQ + select TICK_ONESHOT + help + This enables support for system based on Broadcom SoCs. + It currently supports the 'BCM281XX' family, which includes + BCM11130, BCM11140, BCM11351, BCM28145 and + BCM28155 variants.
arch/arm/mach-bcm/Makefile new file +13 -0
@@ -0,0 +1,13 @@ +# +# Copyright (C) 2012 Broadcom Corporation +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation version 2. +# +# This program is distributed "as is" WITHOUT ANY WARRANTY of any +# kind, whether express or implied; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +obj-$(CONFIG_ARCH_BCM) := board_bcm.o
arch/arm/mach-bcm/board_bcm.c new file +57 -0
57 lines not on this page · raw message
Signature · 1 line
1.7.1
PATCH v5 1/1 Add support for generic BCM SoC chipsets
arch/arm/boot/dts/bcm11351.dtsi line 35
Quoted 12 lines · Christian Daudt
In order to start upstreaming Broadcom SoC support, create a starting hierarchy, arch and dts files.
The first support SoC family that is planned is the BCM281XX (BCM11130/11140/11351/28145/28155) family of dual A9 mobile SoC cores.
This code is just the skeleton code for get the machine upstreamed. It has been made MULTIPLATFORM compatible.arch/arm/boot/dts/bcm11351.dtsi +2
-0+ uart at 3e000000 { + compatible = "bcm,bcm11351-sw-apb-uart", "snps,dw-apb-uart";
s/-sw-/-dw-/ in the first compatible value?
Aside from that,
PATCH v5 1/1 Add support for generic BCM SoC chipsets
Quoted 13 lines · Stephen Warren
arch/arm/boot/dts/bcm11351.dtsi line 35
Quoted 10 lines · Christian Daudt
In order to start upstreaming Broadcom SoC support, create a starting hierarchy, arch and dts files.
The first support SoC family that is planned is the BCM281XX (BCM11130/11140/11351/28145/28155) family of dual A9 mobile SoC cores.
This code is just the skeleton code for get the machine upstreamed. It has been made MULTIPLATFORM compatible.arch/arm/boot/dts/bcm11351.dtsi +2
-0+ uart at 3e000000 { + compatible = "bcm,bcm11351-sw-apb-uart", "snps,dw-apb-uart";s/-sw-/-dw-/ in the first compatible value?
Quoted 2 lines
Aside from that,
Reviewed-by Stephen Warren <[email protected]>
done.
thanks,
csd