summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2019.01.0/0002-ARM-rpi-move-clks-into-board-specific-rpi-common.patch
diff options
context:
space:
mode:
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2019.01.0/0002-ARM-rpi-move-clks-into-board-specific-rpi-common.patch')
-rw-r--r--configs/platform-v7a/patches/barebox-2019.01.0/0002-ARM-rpi-move-clks-into-board-specific-rpi-common.patch77
1 files changed, 77 insertions, 0 deletions
diff --git a/configs/platform-v7a/patches/barebox-2019.01.0/0002-ARM-rpi-move-clks-into-board-specific-rpi-common.patch b/configs/platform-v7a/patches/barebox-2019.01.0/0002-ARM-rpi-move-clks-into-board-specific-rpi-common.patch
new file mode 100644
index 0000000..8e72b19
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2019.01.0/0002-ARM-rpi-move-clks-into-board-specific-rpi-common.patch
@@ -0,0 +1,77 @@
+From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+Date: Wed, 12 Dec 2018 16:43:45 +0100
+Subject: [PATCH] ARM: rpi: move clks into board specific rpi-common
+
+We don't know if the firmware running on the raspberry pi is the same firmware
+which is running on all bcm283x devices.
+Therefore move the console clock initialization into the rpi-common.c board file.
+A future commit will use this function to retrieve the miniuart clock from the
+raspberry pi firmware.
+No functional changes.
+
+Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+---
+ arch/arm/boards/raspberry-pi/rpi-common.c | 19 +++++++++++++++++++
+ arch/arm/mach-bcm283x/core.c | 19 -------------------
+ 2 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/arch/arm/boards/raspberry-pi/rpi-common.c b/arch/arm/boards/raspberry-pi/rpi-common.c
+index 840f525bbbf6..887f096f7e4e 100644
+--- a/arch/arm/boards/raspberry-pi/rpi-common.c
++++ b/arch/arm/boards/raspberry-pi/rpi-common.c
+@@ -298,6 +298,25 @@ static int rpi_clock_init(void)
+ }
+ postconsole_initcall(rpi_clock_init);
+
++static int rpi_console_clock_init(void)
++{
++ struct clk *clk;
++
++ clk = clk_fixed("apb_pclk", 0);
++ clk_register_clkdev(clk, "apb_pclk", NULL);
++
++ clk = clk_fixed("uart0-pl0110", 3 * 1000 * 1000);
++ clk_register_clkdev(clk, NULL, "uart0-pl0110");
++ clkdev_add_physbase(clk, 0x20201000, NULL);
++ clkdev_add_physbase(clk, 0x3f201000, NULL);
++
++ clk = clk_fixed("bcm2835-cs", 1 * 1000 * 1000);
++ clk_register_clkdev(clk, NULL, "bcm2835-cs");
++
++ return 0;
++}
++postcore_initcall(rpi_console_clock_init);
++
+ static int rpi_env_init(void)
+ {
+ struct stat s;
+diff --git a/arch/arm/mach-bcm283x/core.c b/arch/arm/mach-bcm283x/core.c
+index f1dcda86f7f0..f2528cf1f150 100644
+--- a/arch/arm/mach-bcm283x/core.c
++++ b/arch/arm/mach-bcm283x/core.c
+@@ -31,25 +31,6 @@
+ #include <mach/core.h>
+ #include <linux/amba/bus.h>
+
+-static int bcm2835_clk_init(void)
+-{
+- struct clk *clk;
+-
+- clk = clk_fixed("apb_pclk", 0);
+- clk_register_clkdev(clk, "apb_pclk", NULL);
+-
+- clk = clk_fixed("uart0-pl0110", 3 * 1000 * 1000);
+- clk_register_clkdev(clk, NULL, "uart0-pl0110");
+- clkdev_add_physbase(clk, 0x20201000, NULL);
+- clkdev_add_physbase(clk, 0x3f201000, NULL);
+-
+- clk = clk_fixed("bcm2835-cs", 1 * 1000 * 1000);
+- clk_register_clkdev(clk, NULL, "bcm2835-cs");
+-
+- return 0;
+-}
+-postcore_initcall(bcm2835_clk_init);
+-
+ void bcm2835_add_device_sdram(u32 size)
+ {
+ if (!size)