Skip to contentSkip to conversation

rpi: remove redundant board files

PATCH New Stephen Warren 3 participants 5 messages Apr 3, 2016 – Apr 4, 2016

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 rpi: remove redundant board files

Now that rpi_*defconfig and Kconfig rather than the config header file, provide the identify of the build, we don't need to separate config headers and board directories for each RPi variant. Set CONFIG_SYS_BOARD and CONFIG_SYS_CONFIG_NAME so that we can get rid of the duplication. This requires a tiny number of extra ifdefs in the config header.

The only disadvantage of this approach is that the $board/$board_name environment variables aren't as descriptive as they used to be. This isn't really an issue because those only exist to allow scripts to create DTB filenames at runtime. However, the RPi board code already sets $fdtfile to something more accurate based on FW-reported board ID anyway.

While at it, unify some Kconfig select options, and add a MAINTAINERS entry for bcm283x too.

---
 MAINTAINERS                             |  10 ++
 arch/arm/mach-bcm283x/Kconfig           |  36 +++---
 arch/arm/mach-bcm283x/Makefile          |   2 +-
 board/raspberrypi/rpi/MAINTAINERS       |   2 +-
 board/raspberrypi/rpi_2/MAINTAINERS     |   6 -
 board/raspberrypi/rpi_2/Makefile        |   7 --
 board/raspberrypi/rpi_3/MAINTAINERS     |   6 -
 board/raspberrypi/rpi_3/Makefile        |   7 --
 board/raspberrypi/rpi_3_32b/MAINTAINERS |   6 -
 board/raspberrypi/rpi_3_32b/Makefile    |   7 --
 include/configs/rpi-common.h            | 206 --------------------------------
 include/configs/rpi.h                   | 206 +++++++++++++++++++++++++++++++-
 include/configs/rpi_2.h                 |  15 ---
 include/configs/rpi_3.h                 |  14 ---
 include/configs/rpi_3_32b.h             |  15 ---
 15 files changed, 236 insertions(+), 309 deletions(-)
 delete mode 100644 board/raspberrypi/rpi_2/MAINTAINERS
 delete mode 100644 board/raspberrypi/rpi_2/Makefile
 delete mode 100644 board/raspberrypi/rpi_3/MAINTAINERS
 delete mode 100644 board/raspberrypi/rpi_3/Makefile
 delete mode 100644 board/raspberrypi/rpi_3_32b/MAINTAINERS
 delete mode 100644 board/raspberrypi/rpi_3_32b/Makefile
 delete mode 100644 include/configs/rpi-common.h
 delete mode 100644 include/configs/rpi_2.h
 delete mode 100644 include/configs/rpi_3.h
 delete mode 100644 include/configs/rpi_3_32b.h
MAINTAINERS +10 -0
index 87e0c2ed36d0..383a4ffc3aef 100644
@@ -78,6 +78,16 @@ S:	Maintained
 T:	git git://git.denx.de/u-boot-atmel.git
 F:	arch/arm/mach-at91/
 
+ARM BROADCOM BCM283X
+M:	Stephen Warren <[email protected]>
+S:	Maintained
+F:	arch/arm/mach-bcm283x/
+F:	drivers/gpio/bcm2835_gpio.c
+F:	drivers/mmc/bcm2835_sdhci.c
+F:	drivers/serial/serial_bcm283x_mu.c
+F:	drivers/video/bcm2835.c
+F:	include/dm/platform_data/serial_bcm283x_mu.h
+
 ARM FREESCALE IMX
 M:	Stefano Babic <[email protected]>
 S:	Maintained
arch/arm/mach-bcm283x/Kconfig +20 -16
index f4c9502b3f1f..69f7a4663cfd 100644
@@ -1,15 +1,31 @@
 config BCM2835
 	bool "Broadcom BCM2835 SoC support"
 	depends on ARCH_BCM283X
+	select CPU_ARM1176
 
 config BCM2836
 	bool "Broadcom BCM2836 SoC support"
 	depends on ARCH_BCM283X
+	select ARMV7_LPAE
+	select CPU_V7
 
 config BCM2837
 	bool "Broadcom BCM2837 SoC support"
 	depends on ARCH_BCM283X
 
+config BCM2837_32B
+	bool "Broadcom BCM2837 SoC 32-bit support"
+	depends on ARCH_BCM283X
+	select BCM2837
+	select ARMV7_LPAE
+	select CPU_V7
+
+config BCM2837_64B
+	bool "Broadcom BCM2837 SoC 64-bit support"
+	depends on ARCH_BCM283X
+	select BCM2837
+	select ARM64
+
 menu "Broadcom BCM283X family"
 	depends on ARCH_BCM283X
 
@@ -27,7 +43,6 @@ config TARGET_RPI
 
 	  This option creates a build targetting the ARM1176 ISA.
 	select BCM2835
-	select CPU_ARM1176
 
 config TARGET_RPI_2
 	bool "Raspberry Pi 2"
@@ -50,9 +65,7 @@ config TARGET_RPI_2
 	  https://github.com/raspberrypi/firmware/issues/572".
 
 	  This option creates a build targetting the ARMv7/AArch32 ISA.
-	select ARMV7_LPAE
 	select BCM2836
-	select CPU_V7
 
 config TARGET_RPI_3_32B
 	bool "Raspberry Pi 3 32-bit build"
@@ -68,9 +81,7 @@ config TARGET_RPI_3_32B
 	  about the HDMI/usbkbd console.
 
 	  This option creates a build targetting the ARMv7/AArch32 ISA.
-	select ARMV7_LPAE
-	select BCM2837
-	select CPU_V7
+	select BCM2837_32B
 
 config TARGET_RPI_3
 	bool "Raspberry Pi 3 64-bit build"
@@ -98,16 +109,12 @@ config TARGET_RPI_3
 	  https://github.com/raspberrypi/firmware/issues/579.
 
 	  This option creates a build targetting the ARMv8/AArch64 ISA.
-	select ARM64
-	select BCM2837
+	select BCM2837_64B
 
 endchoice
 
 config SYS_BOARD
-	default "rpi" if TARGET_RPI
-	default "rpi_2" if TARGET_RPI_2
-	default "rpi_3_32b" if TARGET_RPI_3_32B
-	default "rpi_3" if TARGET_RPI_3
+	default "rpi"
 
 config SYS_VENDOR
 	default "raspberrypi"
@@ -116,9 +123,6 @@ config SYS_SOC
 	default "bcm283x"
 
 config SYS_CONFIG_NAME
-	default "rpi" if TARGET_RPI
-	default "rpi_2" if TARGET_RPI_2
-	default "rpi_3_32b" if TARGET_RPI_3_32B
-	default "rpi_3" if TARGET_RPI_3
+	default "rpi"
 
 endmenu
arch/arm/mach-bcm283x/Makefile +1 -1
index f0dadd0dbde9..5cb1b2fe94b1 100644
@@ -4,5 +4,5 @@
 # SPDX-License-Identifier:	GPL-2.0
 #
 
-obj-$(CONFIG_TARGET_RPI) += lowlevel_init.o
+obj-$(CONFIG_BCM2835) += lowlevel_init.o
 obj-y	+= init.o reset.o mbox.o phys2bus.o
board/raspberrypi/rpi/MAINTAINERS +1 -1
index 6dcb7bd24ecd..98c3758a9480 100644
@@ -3,4 +3,4 @@ M:	Stephen Warren <[email protected]>
 S:	Maintained
 F:	board/raspberrypi/rpi/
 F:	include/configs/rpi.h
-F:	configs/rpi_defconfig
+F:	configs/rpi_*defconfig
board/raspberrypi/rpi_2/MAINTAINERS deleted +0 -6
deleted file mode 100644
index 85a480c9d1b0..000000000000
@@ -1,6 +0,0 @@
-RPI_2 BOARD
-M:	Stephen Warren <[email protected]>
-S:	Maintained
-F:	board/raspberrypi/rpi_2/
-F:	include/configs/rpi_2.h
-F:	configs/rpi_2_defconfig
board/raspberrypi/rpi_2/Makefile deleted +0 -7
deleted file mode 100644
index d82cd21f4cf7..000000000000
@@ -1,7 +0,0 @@
-#
-# (C) Copyright 2012,2015 Stephen Warren
-#
-# SPDX-License-Identifier:	GPL-2.0
-#
-
-obj-y	:= ../rpi/rpi.o
board/raspberrypi/rpi_3/MAINTAINERS deleted +0 -6
deleted file mode 100644
index 26ecd99e16fa..000000000000
@@ -1,6 +0,0 @@
-RPI_3_BOARD
-M:	Stephen Warren <[email protected]>
-S:	Maintained
-F:	board/raspberrypi/rpi_3/
-F:	include/configs/rpi_3.h
-F:	configs/rpi_3_defconfig
board/raspberrypi/rpi_3/Makefile deleted +0 -7
deleted file mode 100644
index 78e287487cd4..000000000000
@@ -1,7 +0,0 @@
-#
-# (C) Copyright 2012-2016 Stephen Warren <[email protected]>
-#
-# SPDX-License-Identifier:	GPL-2.0
-#
-
-obj-y	:= ../rpi/rpi.o
board/raspberrypi/rpi_3_32b/MAINTAINERS deleted +0 -6
deleted file mode 100644
index bc9df87f03d4..000000000000
@@ -1,6 +0,0 @@
-RPI_3_32B BOARD
-M:	Stephen Warren <[email protected]>
-S:	Maintained
-F:	board/raspberrypi/rpi_3_32b/
-F:	include/configs/rpi_3_32b.h
-F:	configs/rpi_3_32b_defconfig
board/raspberrypi/rpi_3_32b/Makefile deleted +0 -7
deleted file mode 100644
index 78e287487cd4..000000000000
@@ -1,7 +0,0 @@
-#
-# (C) Copyright 2012-2016 Stephen Warren <[email protected]>
-#
-# SPDX-License-Identifier:	GPL-2.0
-#
-
-obj-y	:= ../rpi/rpi.o
include/configs/rpi-common.h deleted +0 -206

206 lines not on this page · raw message

include/configs/rpi.h +204 -2

217 lines not on this page · raw message

include/configs/rpi_2.h deleted +0 -15
deleted file mode 100644
index 0917e8650864..000000000000
@@ -1,15 +0,0 @@
-/*
- * (C) Copyright 2012,2015 Stephen Warren
- *
- * SPDX-License-Identifier:	GPL-2.0
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_SKIP_LOWLEVEL_INIT
-#define CONFIG_SYS_CACHELINE_SIZE		64
-
-#include "rpi-common.h"
-
-#endif
include/configs/rpi_3.h deleted +0 -14
deleted file mode 100644
index 0dd9e7e40aa0..000000000000
@@ -1,14 +0,0 @@
-/*
- * (C) Copyright 2012-2016 Stephen Warren <[email protected]>
- *
- * SPDX-License-Identifier:	GPL-2.0
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_SYS_CACHELINE_SIZE		64
-
-#include "rpi-common.h"
-
-#endif
include/configs/rpi_3_32b.h deleted +0 -15
deleted file mode 100644
index c00379b9aa4d..000000000000
@@ -1,15 +0,0 @@
-/*
- * (C) Copyright 2012-2016 Stephen Warren <[email protected]>
- *
- * SPDX-License-Identifier:	GPL-2.0
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_SKIP_LOWLEVEL_INIT
-#define CONFIG_SYS_CACHELINE_SIZE		64
-
-#include "rpi-common.h"
-
-#endif
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 rpi: remove redundant board files

Quoted 12 lines · Stephen Warren

Now that rpi_*defconfig and Kconfig rather than the config header file, provide the identify of the build, we don't need to separate config headers and board directories for each RPi variant. Set CONFIG_SYS_BOARD and CONFIG_SYS_CONFIG_NAME so that we can get rid of the duplication. This requires a tiny number of extra ifdefs in the config header.

The only disadvantage of this approach is that the $board/$board_name environment variables aren't as descriptive as they used to be. This isn't really an issue because those only exist to allow scripts to create DTB filenames at runtime. However, the RPi board code already sets $fdtfile to something more accurate based on FW-reported board ID anyway.

Quoted 5 lines

While at it, unify some Kconfig select options, and add a MAINTAINERS entry for bcm283x too.

Thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160403/b2584f24/attachment.sig>
#2 lore raw

PATCH 1/1 rpi: remove redundant board files

In reply to Stephen Warren

Am 03.04.2016 um 05:56 schrieb Stephen Warren:

Quoted 1 line

Now that rpi_*defconfig and Kconfig rather than the config header file,

"rpi*_defconfig"?

Also the sentence seems to be missing a verb - "Now that we use ..."?

Quoted 1 line

provide the identify of the build, we don't need to separate config

"identity"?

Quoted 10 lines

headers and board directories for each RPi variant. Set CONFIG_SYS_BOARD and CONFIG_SYS_CONFIG_NAME so that we can get rid of the duplication. This requires a tiny number of extra ifdefs in the config header.

The only disadvantage of this approach is that the $board/$board_name environment variables aren't as descriptive as they used to be. This isn't really an issue because those only exist to allow scripts to create DTB filenames at runtime. However, the RPi board code already sets $fdtfile to something more accurate based on FW-reported board ID anyway.

Quoted 5 lines

While at it, unify some Kconfig select options, and add a MAINTAINERS entry for bcm283x too.

Regards,
Andreas

Signature · 2 lines
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
#3 lore raw

PATCH 1/1 rpi: remove redundant board files

Quoted 4 lines · Andreas F?rber

Am 03.04.2016 um 05:56 schrieb Stephen Warren:

Quoted 1 line

Now that rpi_*defconfig and Kconfig rather than the config header file,

"rpi*_defconfig"?

Both regexes match the same set of files at present, but I prefer the one I wrote, since it guarantees that it only matches the word "rpi" at the start, not "rpi" followed by anything, which perhaps makes it slightly less likely to accidentally match any other board in the future.

Quoted 3 lines

Also the sentence seems to be missing a verb - "Now that we use ..."?

Quoted 1 line

provide the identify of the build, we don't need to separate config

"provide" is the verb. There should have been a command after "Kconfig" in the first line, or the comma before "provide" could be removed.

#4 lore raw

PATCH 1/1 rpi: remove redundant board files

Am 04.04.2016 um 17:36 schrieb Stephen Warren:

Quoted 7 lines · Andreas F?rber
Quoted 4 lines

Am 03.04.2016 um 05:56 schrieb Stephen Warren:

Quoted 1 line

Now that rpi_*defconfig and Kconfig rather than the config header file,

"rpi*_defconfig"?

Both regexes match the same set of files at present,

Sorry, missed the underscore in _2, we strip that in our package name.

Quoted 4 lines

but I prefer the
one I wrote, since it guarantees that it only matches the word "rpi" at the start, not "rpi" followed by anything, which perhaps makes it slightly less likely to accidentally match any other board in the future.

Sure, makes sense.

Cheers,
Andreas

Signature · 3 lines
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton
HRB 21284 (AG N?rnberg)