File 0027-ARM-bcm283x-use-OF_CONTROL-for-bcm2.patch of Package u-boot
From ea1bb2fd1eaf1bab3ceca667f3fddd284f080509 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.com>
Date: Thu, 8 Sep 2016 14:46:30 +0200
Subject: [PATCH] ARM: bcm283x: use OF_CONTROL for bcm283x
This patch removes use of U_BOOT_DEVICE in board/raspberrypi/rpi/rpi.c,
enables OF_CONTROL in the config and adjusts the rpi_*defconfig configs.
---
arch/arm/Kconfig | 1 +
arch/arm/dts/Makefile | 9 +++++++++
board/raspberrypi/rpi/rpi.c | 38 --------------------------------------
configs/rpi_2_defconfig | 2 ++
configs/rpi_3_32b_defconfig | 3 +++
configs/rpi_3_defconfig | 3 +++
configs/rpi_defconfig | 2 ++
7 files changed, 20 insertions(+), 38 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3237a74..eb50ead 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -289,6 +289,7 @@ config ARCH_BCM283X
select DM
select DM_SERIAL
select DM_GPIO
+ select OF_CONTROL
config TARGET_VEXPRESS_CA15_TC2
bool "Support vexpress_ca15_tc2"
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index ef573ec..0f97980 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -262,6 +262,15 @@ dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \
k2e-evm.dtb \
k2g-evm.dtb
+dtb-$(CONFIG_ARCH_BCM283X) += \
+ bcm2835-rpi-a-plus.dtb \
+ bcm2835-rpi-a.dtb \
+ bcm2835-rpi-b-plus.dtb \
+ bcm2835-rpi-b-rev2.dtb \
+ bcm2835-rpi-b.dtb \
+ bcm2836-rpi-2-b.dtb \
+ bcm2837-rpi-3-b.dtb
+
targets += $(dtb-y)
# Add any required device tree compiler flags here
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index a88c01b..6460f2c 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -18,7 +18,6 @@
#include <asm/arch/mbox.h>
#include <asm/arch/sdhci.h>
#include <asm/global_data.h>
-#include <dm/platform_data/serial_pl01x.h>
#include <dm/platform_data/serial_bcm283x_mu.h>
#ifdef CONFIG_ARM64
#include <asm/armv8/mmu.h>
@@ -26,43 +25,6 @@
DECLARE_GLOBAL_DATA_PTR;
-static const struct bcm2835_gpio_platdata gpio_platdata = {
- .base = BCM2835_GPIO_BASE,
-};
-
-U_BOOT_DEVICE(bcm2835_gpios) = {
- .name = "gpio_bcm2835",
- .platdata = &gpio_platdata,
-};
-
-#ifdef CONFIG_PL01X_SERIAL
-static const struct pl01x_serial_platdata serial_platdata = {
-#ifndef CONFIG_BCM2835
- .base = 0x3f201000,
-#else
- .base = 0x20201000,
-#endif
- .type = TYPE_PL011,
- .skip_init = true,
-};
-
-U_BOOT_DEVICE(bcm2835_serials) = {
- .name = "serial_pl01x",
- .platdata = &serial_platdata,
-};
-#else
-static const struct bcm283x_mu_serial_platdata serial_platdata = {
- .base = 0x3f215040,
- .clock = 250000000,
- .skip_init = true,
-};
-
-U_BOOT_DEVICE(bcm2837_serials) = {
- .name = "serial_bcm283x_mu",
- .platdata = &serial_platdata,
-};
-#endif
-
struct msg_get_arm_mem {
struct bcm2835_mbox_hdr hdr;
struct bcm2835_mbox_tag_get_arm_mem get_arm_mem;
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
index a26f767..83f69ae 100644
--- a/configs/rpi_2_defconfig
+++ b/configs/rpi_2_defconfig
@@ -1,6 +1,8 @@
CONFIG_ARM=y
CONFIG_ARCH_BCM283X=y
CONFIG_TARGET_RPI_2=y
+CONFIG_DEFAULT_DEVICE_TREE="bcm2836-rpi-2-b"
+CONFIG_OF_EMBED=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="U-Boot> "
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index 4c2f106..c62cb6e 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -1,6 +1,9 @@
CONFIG_ARM=y
CONFIG_ARCH_BCM283X=y
CONFIG_TARGET_RPI_3_32B=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
+CONFIG_OF_EMBED=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="U-Boot> "
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index 288214c..6eacb1b 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -1,6 +1,9 @@
CONFIG_ARM=y
CONFIG_ARCH_BCM283X=y
CONFIG_TARGET_RPI_3=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
+CONFIG_OF_EMBED=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="U-Boot> "
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
index fc512b9..ad5b4d5 100644
--- a/configs/rpi_defconfig
+++ b/configs/rpi_defconfig
@@ -1,6 +1,8 @@
CONFIG_ARM=y
CONFIG_ARCH_BCM283X=y
CONFIG_TARGET_RPI=y
+CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-b"
+CONFIG_OF_EMBED=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="U-Boot> "