ARM: rpi: rename rpi_b to rpi
authorStephen Warren <swarren@wwwdotorg.org>
Thu, 20 Nov 2014 03:41:03 +0000 (20:41 -0700)
committerTom Rini <trini@ti.com>
Mon, 8 Dec 2014 14:35:42 +0000 (09:35 -0500)
The U-Boot port runs on a variety of RPi models, not just the B. So,
rename the port to something slightly more generic.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
15 files changed:
arch/arm/Kconfig
board/raspberrypi/rpi/Kconfig [new file with mode: 0644]
board/raspberrypi/rpi/MAINTAINERS [new file with mode: 0644]
board/raspberrypi/rpi/Makefile [new file with mode: 0644]
board/raspberrypi/rpi/rpi.c [new file with mode: 0644]
board/raspberrypi/rpi_b/Kconfig [deleted file]
board/raspberrypi/rpi_b/MAINTAINERS [deleted file]
board/raspberrypi/rpi_b/Makefile [deleted file]
board/raspberrypi/rpi_b/rpi_b.c [deleted file]
common/lcd.c
configs/rpi_b_defconfig [deleted file]
configs/rpi_defconfig [new file with mode: 0644]
doc/README.clang
include/configs/rpi.h [new file with mode: 0644]
include/configs/rpi_b.h [deleted file]

index 0982117fadac7ad8e57d32df37beb6f0ca352587..7a64b665c63c6aa2718d40a83cfdd93471989495 100644 (file)
@@ -396,8 +396,8 @@ config TARGET_MX35PDK
        bool "Support mx35pdk"
        select CPU_ARM1136
 
-config TARGET_RPI_B
-       bool "Support rpi_b"
+config TARGET_RPI
+       bool "Support rpi"
        select CPU_ARM1176
 
 config TARGET_TNETV107X_EVM
@@ -931,7 +931,7 @@ source "board/palmtreo680/Kconfig"
 source "board/phytec/pcm051/Kconfig"
 source "board/ppcag/bg0900/Kconfig"
 source "board/pxa255_idp/Kconfig"
-source "board/raspberrypi/rpi_b/Kconfig"
+source "board/raspberrypi/rpi/Kconfig"
 source "board/ronetix/pm9261/Kconfig"
 source "board/ronetix/pm9263/Kconfig"
 source "board/ronetix/pm9g45/Kconfig"
diff --git a/board/raspberrypi/rpi/Kconfig b/board/raspberrypi/rpi/Kconfig
new file mode 100644 (file)
index 0000000..6a538cf
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_RPI
+
+config SYS_BOARD
+       default "rpi"
+
+config SYS_VENDOR
+       default "raspberrypi"
+
+config SYS_SOC
+       default "bcm2835"
+
+config SYS_CONFIG_NAME
+       default "rpi"
+
+endif
diff --git a/board/raspberrypi/rpi/MAINTAINERS b/board/raspberrypi/rpi/MAINTAINERS
new file mode 100644 (file)
index 0000000..6dcb7bd
--- /dev/null
@@ -0,0 +1,6 @@
+RPI BOARD
+M:     Stephen Warren <swarren@wwwdotorg.org>
+S:     Maintained
+F:     board/raspberrypi/rpi/
+F:     include/configs/rpi.h
+F:     configs/rpi_defconfig
diff --git a/board/raspberrypi/rpi/Makefile b/board/raspberrypi/rpi/Makefile
new file mode 100644 (file)
index 0000000..c53c92b
--- /dev/null
@@ -0,0 +1,15 @@
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+
+obj-y  := rpi.o
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
new file mode 100644 (file)
index 0000000..51a4fa1
--- /dev/null
@@ -0,0 +1,283 @@
+/*
+ * (C) Copyright 2012-2013 Stephen Warren
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <common.h>
+#include <config.h>
+#include <dm.h>
+#include <fdt_support.h>
+#include <lcd.h>
+#include <mmc.h>
+#include <asm/gpio.h>
+#include <asm/arch/mbox.h>
+#include <asm/arch/sdhci.h>
+#include <asm/global_data.h>
+
+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,
+};
+
+struct msg_get_arm_mem {
+       struct bcm2835_mbox_hdr hdr;
+       struct bcm2835_mbox_tag_get_arm_mem get_arm_mem;
+       u32 end_tag;
+};
+
+struct msg_get_board_rev {
+       struct bcm2835_mbox_hdr hdr;
+       struct bcm2835_mbox_tag_get_board_rev get_board_rev;
+       u32 end_tag;
+};
+
+struct msg_get_mac_address {
+       struct bcm2835_mbox_hdr hdr;
+       struct bcm2835_mbox_tag_get_mac_address get_mac_address;
+       u32 end_tag;
+};
+
+struct msg_set_power_state {
+       struct bcm2835_mbox_hdr hdr;
+       struct bcm2835_mbox_tag_set_power_state set_power_state;
+       u32 end_tag;
+};
+
+struct msg_get_clock_rate {
+       struct bcm2835_mbox_hdr hdr;
+       struct bcm2835_mbox_tag_get_clock_rate get_clock_rate;
+       u32 end_tag;
+};
+
+/* See comments in mbox.h for data source */
+static const struct {
+       const char *name;
+       const char *fdtfile;
+} models[] = {
+       [BCM2835_BOARD_REV_B_I2C0_2] = {
+               "Model B (no P5)",
+               "bcm2835-rpi-b-i2c0.dtb",
+       },
+       [BCM2835_BOARD_REV_B_I2C0_3] = {
+               "Model B (no P5)",
+               "bcm2835-rpi-b-i2c0.dtb",
+       },
+       [BCM2835_BOARD_REV_B_I2C1_4] = {
+               "Model B",
+               "bcm2835-rpi-b.dtb",
+       },
+       [BCM2835_BOARD_REV_B_I2C1_5] = {
+               "Model B",
+               "bcm2835-rpi-b.dtb",
+       },
+       [BCM2835_BOARD_REV_B_I2C1_6] = {
+               "Model B",
+               "bcm2835-rpi-b.dtb",
+       },
+       [BCM2835_BOARD_REV_A_7] = {
+               "Model A",
+               "bcm2835-rpi-a.dtb",
+       },
+       [BCM2835_BOARD_REV_A_8] = {
+               "Model A",
+               "bcm2835-rpi-a.dtb",
+       },
+       [BCM2835_BOARD_REV_A_9] = {
+               "Model A",
+               "bcm2835-rpi-a.dtb",
+       },
+       [BCM2835_BOARD_REV_B_REV2_d] = {
+               "Model B rev2",
+               "bcm2835-rpi-b-rev2.dtb",
+       },
+       [BCM2835_BOARD_REV_B_REV2_e] = {
+               "Model B rev2",
+               "bcm2835-rpi-b-rev2.dtb",
+       },
+       [BCM2835_BOARD_REV_B_REV2_f] = {
+               "Model B rev2",
+               "bcm2835-rpi-b-rev2.dtb",
+       },
+       [BCM2835_BOARD_REV_B_PLUS] = {
+               "Model B+",
+               "bcm2835-rpi-b-plus.dtb",
+       },
+       [BCM2835_BOARD_REV_CM] = {
+               "Compute Module",
+               "bcm2835-rpi-cm.dtb",
+       },
+};
+
+u32 rpi_board_rev = 0;
+
+int dram_init(void)
+{
+       ALLOC_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1, 16);
+       int ret;
+
+       BCM2835_MBOX_INIT_HDR(msg);
+       BCM2835_MBOX_INIT_TAG(&msg->get_arm_mem, GET_ARM_MEMORY);
+
+       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
+       if (ret) {
+               printf("bcm2835: Could not query ARM memory size\n");
+               return -1;
+       }
+
+       gd->ram_size = msg->get_arm_mem.body.resp.mem_size;
+
+       return 0;
+}
+
+static void set_fdtfile(void)
+{
+       const char *fdtfile;
+
+       if (getenv("fdtfile"))
+               return;
+
+       fdtfile = models[rpi_board_rev].fdtfile;
+       if (!fdtfile)
+               fdtfile = "bcm2835-rpi-other.dtb";
+
+       setenv("fdtfile", fdtfile);
+}
+
+static void set_usbethaddr(void)
+{
+       ALLOC_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1, 16);
+       int ret;
+
+       if (getenv("usbethaddr"))
+               return;
+
+       BCM2835_MBOX_INIT_HDR(msg);
+       BCM2835_MBOX_INIT_TAG(&msg->get_mac_address, GET_MAC_ADDRESS);
+
+       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
+       if (ret) {
+               printf("bcm2835: Could not query MAC address\n");
+               /* Ignore error; not critical */
+               return;
+       }
+
+       eth_setenv_enetaddr("usbethaddr", msg->get_mac_address.body.resp.mac);
+
+       return;
+}
+
+int misc_init_r(void)
+{
+       set_fdtfile();
+       set_usbethaddr();
+       return 0;
+}
+
+static int power_on_module(u32 module)
+{
+       ALLOC_ALIGN_BUFFER(struct msg_set_power_state, msg_pwr, 1, 16);
+       int ret;
+
+       BCM2835_MBOX_INIT_HDR(msg_pwr);
+       BCM2835_MBOX_INIT_TAG(&msg_pwr->set_power_state,
+                             SET_POWER_STATE);
+       msg_pwr->set_power_state.body.req.device_id = module;
+       msg_pwr->set_power_state.body.req.state =
+               BCM2835_MBOX_SET_POWER_STATE_REQ_ON |
+               BCM2835_MBOX_SET_POWER_STATE_REQ_WAIT;
+
+       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN,
+                                    &msg_pwr->hdr);
+       if (ret) {
+               printf("bcm2835: Could not set module %u power state\n",
+                      module);
+               return -1;
+       }
+
+       return 0;
+}
+
+static void get_board_rev(void)
+{
+       ALLOC_ALIGN_BUFFER(struct msg_get_board_rev, msg, 1, 16);
+       int ret;
+       const char *name;
+
+       BCM2835_MBOX_INIT_HDR(msg);
+       BCM2835_MBOX_INIT_TAG(&msg->get_board_rev, GET_BOARD_REV);
+
+       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
+       if (ret) {
+               printf("bcm2835: Could not query board revision\n");
+               /* Ignore error; not critical */
+               return;
+       }
+
+       rpi_board_rev = msg->get_board_rev.body.resp.rev;
+       if (rpi_board_rev >= ARRAY_SIZE(models))
+               rpi_board_rev = 0;
+
+       name = models[rpi_board_rev].name;
+       if (!name)
+               name = "Unknown model";
+       printf("RPI model: %s\n", name);
+}
+
+int board_init(void)
+{
+       get_board_rev();
+
+       gd->bd->bi_boot_params = 0x100;
+
+       return power_on_module(BCM2835_MBOX_POWER_DEVID_USB_HCD);
+}
+
+int board_mmc_init(bd_t *bis)
+{
+       ALLOC_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1, 16);
+       int ret;
+
+       power_on_module(BCM2835_MBOX_POWER_DEVID_SDHCI);
+
+       BCM2835_MBOX_INIT_HDR(msg_clk);
+       BCM2835_MBOX_INIT_TAG(&msg_clk->get_clock_rate, GET_CLOCK_RATE);
+       msg_clk->get_clock_rate.body.req.clock_id = BCM2835_MBOX_CLOCK_ID_EMMC;
+
+       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_clk->hdr);
+       if (ret) {
+               printf("bcm2835: Could not query eMMC clock rate\n");
+               return -1;
+       }
+
+       return bcm2835_sdhci_init(BCM2835_SDHCI_BASE,
+                                 msg_clk->get_clock_rate.body.resp.rate_hz);
+}
+
+int ft_board_setup(void *blob, bd_t *bd)
+{
+       /*
+        * For now, we simply always add the simplefb DT node. Later, we
+        * should be more intelligent, and e.g. only do this if no enabled DT
+        * node exists for the "real" graphics driver.
+        */
+       lcd_dt_simplefb_add_node(blob);
+
+       return 0;
+}
diff --git a/board/raspberrypi/rpi_b/Kconfig b/board/raspberrypi/rpi_b/Kconfig
deleted file mode 100644 (file)
index 501d511..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-if TARGET_RPI_B
-
-config SYS_BOARD
-       default "rpi_b"
-
-config SYS_VENDOR
-       default "raspberrypi"
-
-config SYS_SOC
-       default "bcm2835"
-
-config SYS_CONFIG_NAME
-       default "rpi_b"
-
-endif
diff --git a/board/raspberrypi/rpi_b/MAINTAINERS b/board/raspberrypi/rpi_b/MAINTAINERS
deleted file mode 100644 (file)
index 14f3948..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-RPI_B BOARD
-M:     Stephen Warren <swarren@wwwdotorg.org>
-S:     Maintained
-F:     board/raspberrypi/rpi_b/
-F:     include/configs/rpi_b.h
-F:     configs/rpi_b_defconfig
diff --git a/board/raspberrypi/rpi_b/Makefile b/board/raspberrypi/rpi_b/Makefile
deleted file mode 100644 (file)
index 7e9bfbf..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-
-obj-y  := rpi_b.o
diff --git a/board/raspberrypi/rpi_b/rpi_b.c b/board/raspberrypi/rpi_b/rpi_b.c
deleted file mode 100644 (file)
index 51a4fa1..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * (C) Copyright 2012-2013 Stephen Warren
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <common.h>
-#include <config.h>
-#include <dm.h>
-#include <fdt_support.h>
-#include <lcd.h>
-#include <mmc.h>
-#include <asm/gpio.h>
-#include <asm/arch/mbox.h>
-#include <asm/arch/sdhci.h>
-#include <asm/global_data.h>
-
-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,
-};
-
-struct msg_get_arm_mem {
-       struct bcm2835_mbox_hdr hdr;
-       struct bcm2835_mbox_tag_get_arm_mem get_arm_mem;
-       u32 end_tag;
-};
-
-struct msg_get_board_rev {
-       struct bcm2835_mbox_hdr hdr;
-       struct bcm2835_mbox_tag_get_board_rev get_board_rev;
-       u32 end_tag;
-};
-
-struct msg_get_mac_address {
-       struct bcm2835_mbox_hdr hdr;
-       struct bcm2835_mbox_tag_get_mac_address get_mac_address;
-       u32 end_tag;
-};
-
-struct msg_set_power_state {
-       struct bcm2835_mbox_hdr hdr;
-       struct bcm2835_mbox_tag_set_power_state set_power_state;
-       u32 end_tag;
-};
-
-struct msg_get_clock_rate {
-       struct bcm2835_mbox_hdr hdr;
-       struct bcm2835_mbox_tag_get_clock_rate get_clock_rate;
-       u32 end_tag;
-};
-
-/* See comments in mbox.h for data source */
-static const struct {
-       const char *name;
-       const char *fdtfile;
-} models[] = {
-       [BCM2835_BOARD_REV_B_I2C0_2] = {
-               "Model B (no P5)",
-               "bcm2835-rpi-b-i2c0.dtb",
-       },
-       [BCM2835_BOARD_REV_B_I2C0_3] = {
-               "Model B (no P5)",
-               "bcm2835-rpi-b-i2c0.dtb",
-       },
-       [BCM2835_BOARD_REV_B_I2C1_4] = {
-               "Model B",
-               "bcm2835-rpi-b.dtb",
-       },
-       [BCM2835_BOARD_REV_B_I2C1_5] = {
-               "Model B",
-               "bcm2835-rpi-b.dtb",
-       },
-       [BCM2835_BOARD_REV_B_I2C1_6] = {
-               "Model B",
-               "bcm2835-rpi-b.dtb",
-       },
-       [BCM2835_BOARD_REV_A_7] = {
-               "Model A",
-               "bcm2835-rpi-a.dtb",
-       },
-       [BCM2835_BOARD_REV_A_8] = {
-               "Model A",
-               "bcm2835-rpi-a.dtb",
-       },
-       [BCM2835_BOARD_REV_A_9] = {
-               "Model A",
-               "bcm2835-rpi-a.dtb",
-       },
-       [BCM2835_BOARD_REV_B_REV2_d] = {
-               "Model B rev2",
-               "bcm2835-rpi-b-rev2.dtb",
-       },
-       [BCM2835_BOARD_REV_B_REV2_e] = {
-               "Model B rev2",
-               "bcm2835-rpi-b-rev2.dtb",
-       },
-       [BCM2835_BOARD_REV_B_REV2_f] = {
-               "Model B rev2",
-               "bcm2835-rpi-b-rev2.dtb",
-       },
-       [BCM2835_BOARD_REV_B_PLUS] = {
-               "Model B+",
-               "bcm2835-rpi-b-plus.dtb",
-       },
-       [BCM2835_BOARD_REV_CM] = {
-               "Compute Module",
-               "bcm2835-rpi-cm.dtb",
-       },
-};
-
-u32 rpi_board_rev = 0;
-
-int dram_init(void)
-{
-       ALLOC_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1, 16);
-       int ret;
-
-       BCM2835_MBOX_INIT_HDR(msg);
-       BCM2835_MBOX_INIT_TAG(&msg->get_arm_mem, GET_ARM_MEMORY);
-
-       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
-       if (ret) {
-               printf("bcm2835: Could not query ARM memory size\n");
-               return -1;
-       }
-
-       gd->ram_size = msg->get_arm_mem.body.resp.mem_size;
-
-       return 0;
-}
-
-static void set_fdtfile(void)
-{
-       const char *fdtfile;
-
-       if (getenv("fdtfile"))
-               return;
-
-       fdtfile = models[rpi_board_rev].fdtfile;
-       if (!fdtfile)
-               fdtfile = "bcm2835-rpi-other.dtb";
-
-       setenv("fdtfile", fdtfile);
-}
-
-static void set_usbethaddr(void)
-{
-       ALLOC_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1, 16);
-       int ret;
-
-       if (getenv("usbethaddr"))
-               return;
-
-       BCM2835_MBOX_INIT_HDR(msg);
-       BCM2835_MBOX_INIT_TAG(&msg->get_mac_address, GET_MAC_ADDRESS);
-
-       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
-       if (ret) {
-               printf("bcm2835: Could not query MAC address\n");
-               /* Ignore error; not critical */
-               return;
-       }
-
-       eth_setenv_enetaddr("usbethaddr", msg->get_mac_address.body.resp.mac);
-
-       return;
-}
-
-int misc_init_r(void)
-{
-       set_fdtfile();
-       set_usbethaddr();
-       return 0;
-}
-
-static int power_on_module(u32 module)
-{
-       ALLOC_ALIGN_BUFFER(struct msg_set_power_state, msg_pwr, 1, 16);
-       int ret;
-
-       BCM2835_MBOX_INIT_HDR(msg_pwr);
-       BCM2835_MBOX_INIT_TAG(&msg_pwr->set_power_state,
-                             SET_POWER_STATE);
-       msg_pwr->set_power_state.body.req.device_id = module;
-       msg_pwr->set_power_state.body.req.state =
-               BCM2835_MBOX_SET_POWER_STATE_REQ_ON |
-               BCM2835_MBOX_SET_POWER_STATE_REQ_WAIT;
-
-       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN,
-                                    &msg_pwr->hdr);
-       if (ret) {
-               printf("bcm2835: Could not set module %u power state\n",
-                      module);
-               return -1;
-       }
-
-       return 0;
-}
-
-static void get_board_rev(void)
-{
-       ALLOC_ALIGN_BUFFER(struct msg_get_board_rev, msg, 1, 16);
-       int ret;
-       const char *name;
-
-       BCM2835_MBOX_INIT_HDR(msg);
-       BCM2835_MBOX_INIT_TAG(&msg->get_board_rev, GET_BOARD_REV);
-
-       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
-       if (ret) {
-               printf("bcm2835: Could not query board revision\n");
-               /* Ignore error; not critical */
-               return;
-       }
-
-       rpi_board_rev = msg->get_board_rev.body.resp.rev;
-       if (rpi_board_rev >= ARRAY_SIZE(models))
-               rpi_board_rev = 0;
-
-       name = models[rpi_board_rev].name;
-       if (!name)
-               name = "Unknown model";
-       printf("RPI model: %s\n", name);
-}
-
-int board_init(void)
-{
-       get_board_rev();
-
-       gd->bd->bi_boot_params = 0x100;
-
-       return power_on_module(BCM2835_MBOX_POWER_DEVID_USB_HCD);
-}
-
-int board_mmc_init(bd_t *bis)
-{
-       ALLOC_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1, 16);
-       int ret;
-
-       power_on_module(BCM2835_MBOX_POWER_DEVID_SDHCI);
-
-       BCM2835_MBOX_INIT_HDR(msg_clk);
-       BCM2835_MBOX_INIT_TAG(&msg_clk->get_clock_rate, GET_CLOCK_RATE);
-       msg_clk->get_clock_rate.body.req.clock_id = BCM2835_MBOX_CLOCK_ID_EMMC;
-
-       ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_clk->hdr);
-       if (ret) {
-               printf("bcm2835: Could not query eMMC clock rate\n");
-               return -1;
-       }
-
-       return bcm2835_sdhci_init(BCM2835_SDHCI_BASE,
-                                 msg_clk->get_clock_rate.body.resp.rate_hz);
-}
-
-int ft_board_setup(void *blob, bd_t *bd)
-{
-       /*
-        * For now, we simply always add the simplefb DT node. Later, we
-        * should be more intelligent, and e.g. only do this if no enabled DT
-        * node exists for the "real" graphics driver.
-        */
-       lcd_dt_simplefb_add_node(blob);
-
-       return 0;
-}
index 28b3fe79184d627eebbe941e46330955d5092fab..3ed504df50df128180211a39186b55f85074de97 100644 (file)
@@ -530,7 +530,7 @@ static int lcd_init(void *lcdbase)
        lcd_ctrl_init(lcdbase);
 
        /*
-        * lcd_ctrl_init() of some drivers (i.e. bcm2835 on rpi_b) ignores
+        * lcd_ctrl_init() of some drivers (i.e. bcm2835 on rpi) ignores
         * the 'lcdbase' argument and uses custom lcd base address
         * by setting up gd->fb_base. Check for this condition and fixup
         * 'lcd_base' address.
diff --git a/configs/rpi_b_defconfig b/configs/rpi_b_defconfig
deleted file mode 100644 (file)
index 9a4705e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_ARM=y
-CONFIG_TARGET_RPI_B=y
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
new file mode 100644 (file)
index 0000000..9379cf0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_RPI=y
index 52495d311677f79e5961acfa42aa8e7cd30f6a39..fe36909449cb3a9625a7eba5dfaf8fae75523f72 100644 (file)
@@ -28,7 +28,7 @@ sudo apt-get install clang
 
 To compile U-Boot with clang on linux without IAS use e.g.:
 export TRIPLET=arm-linux-gnueabi && export CROSS_COMPILE="$TRIPLET-"
-make HOSTCC=clang CC="clang -target $TRIPLET -mllvm -arm-use-movt=0 -no-integrated-as" rpi_b_defconfig
+make HOSTCC=clang CC="clang -target $TRIPLET -mllvm -arm-use-movt=0 -no-integrated-as" rpi_defconfig
 make HOSTCC=clang CC="clang -target $TRIPLET -mllvm -arm-use-movt=0 -no-integrated-as" all V=1 -j8
 
 FreeBSD 11 (Current):
@@ -42,7 +42,7 @@ ln -s /usr/local/bin/arm-gnueabi-freebsd-as /usr/bin/arm-freebsd-eabi-as
 # The following commands compile U-Boot using the clang xdev toolchain.
 # NOTE: CROSS_COMPILE and target differ on purpose!
 export CROSS_COMPILE=arm-gnueabi-freebsd-
-gmake CC="clang -target arm-freebsd-eabi --sysroot /usr/arm-freebsd -no-integrated-as -mllvm -arm-use-movt=0" rpi_b_defconfig
+gmake CC="clang -target arm-freebsd-eabi --sysroot /usr/arm-freebsd -no-integrated-as -mllvm -arm-use-movt=0" rpi_defconfig
 gmake CC="clang -target arm-freebsd-eabi --sysroot /usr/arm-freebsd -no-integrated-as -mllvm -arm-use-movt=0" -j8
 
 Given that u-boot will default to gcc, above commands can be
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
new file mode 100644 (file)
index 0000000..4874c51
--- /dev/null
@@ -0,0 +1,194 @@
+/*
+ * (C) Copyright 2012 Stephen Warren
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <linux/sizes.h>
+
+/* Architecture, CPU, etc.*/
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_BCM2835
+#define CONFIG_ARCH_CPU_INIT
+#define CONFIG_SYS_DCACHE_OFF
+/*
+ * 2835 is a SKU in a series for which the 2708 is the first or primary SoC,
+ * so 2708 has historically been used rather than a dedicated 2835 ID.
+ */
+#define CONFIG_MACH_TYPE               MACH_TYPE_BCM2708
+
+/* Enable driver model */
+#define CONFIG_DM
+#define CONFIG_CMD_DM
+#define CONFIG_DM_GPIO
+
+/* Memory layout */
+#define CONFIG_NR_DRAM_BANKS           1
+#define CONFIG_SYS_SDRAM_BASE          0x00000000
+#define CONFIG_SYS_TEXT_BASE           0x00008000
+#define CONFIG_SYS_UBOOT_BASE          CONFIG_SYS_TEXT_BASE
+/*
+ * The board really has 256M. However, the VC (VideoCore co-processor) shares
+ * the RAM, and uses a configurable portion at the top. We tell U-Boot that a
+ * smaller amount of RAM is present in order to avoid stomping on the area
+ * the VC uses.
+ */
+#define CONFIG_SYS_SDRAM_SIZE          SZ_128M
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE + \
+                                        CONFIG_SYS_SDRAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_MALLOC_LEN          SZ_4M
+#define CONFIG_SYS_MEMTEST_START       0x00100000
+#define CONFIG_SYS_MEMTEST_END         0x00200000
+#define CONFIG_LOADADDR                        0x00200000
+
+/* Flash */
+#define CONFIG_SYS_NO_FLASH
+
+/* Devices */
+/* GPIO */
+#define CONFIG_BCM2835_GPIO
+/* LCD */
+#define CONFIG_LCD
+#define CONFIG_LCD_DT_SIMPLEFB
+#define LCD_BPP                                LCD_COLOR16
+/*
+ * Prevent allocation of RAM for FB; the real FB address is queried
+ * dynamically from the VideoCore co-processor, and comes from RAM
+ * not owned by the ARM CPU.
+ */
+#define CONFIG_FB_ADDR                 0
+#define CONFIG_VIDEO_BCM2835
+#define CONFIG_SYS_WHITE_ON_BLACK
+
+/* SD/MMC configuration */
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MMC
+#define CONFIG_SDHCI
+#define CONFIG_MMC_SDHCI_IO_ACCESSORS
+#define CONFIG_BCM2835_SDHCI
+
+#define CONFIG_CMD_USB
+#ifdef CONFIG_CMD_USB
+#define CONFIG_USB_DWC2
+#define CONFIG_USB_DWC2_REG_ADDR 0x20980000
+#define CONFIG_USB_STORAGE
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_SMSC95XX
+#define CONFIG_MISC_INIT_R
+#endif
+
+/* Console UART */
+#define CONFIG_PL011_SERIAL
+#define CONFIG_PL011_CLOCK             3000000
+#define CONFIG_PL01x_PORTS             { (void *)0x20201000 }
+#define CONFIG_CONS_INDEX              0
+#define CONFIG_BAUDRATE                        115200
+
+/* Console configuration */
+#define CONFIG_SYS_CBSIZE              1024
+#define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE +            \
+                                        sizeof(CONFIG_SYS_PROMPT) + 16)
+
+/* Environment */
+#define CONFIG_ENV_SIZE                        SZ_16K
+#define CONFIG_ENV_IS_NOWHERE
+#define CONFIG_ENV_VARS_UBOOT_CONFIG
+#define CONFIG_SYS_LOAD_ADDR           0x1000000
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define CONFIG_PREBOOT \
+       "if load mmc 0:1 ${loadaddr} /uEnv.txt; then " \
+               "env import -t -r ${loadaddr} ${filesize}; " \
+       "fi"
+
+/* Shell */
+#define CONFIG_SYS_MAXARGS             8
+#define CONFIG_SYS_PROMPT              "U-Boot> "
+#define CONFIG_COMMAND_HISTORY
+
+/* Commands */
+#include <config_cmd_default.h>
+#define CONFIG_CMD_GPIO
+#define CONFIG_CMD_MMC
+#define CONFIG_PARTITION_UUIDS
+#define CONFIG_CMD_PART
+
+/* Device tree support */
+#define CONFIG_OF_BOARD_SETUP
+/* ATAGs support for bootm/bootz */
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_INITRD_TAG
+
+#include <config_distro_defaults.h>
+
+/* Some things don't make sense on this HW or yet */
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_SAVEENV
+
+/* Environment */
+#define ENV_DEVICE_SETTINGS \
+       "stdin=serial,lcd\0" \
+       "stdout=serial,lcd\0" \
+       "stderr=serial,lcd\0"
+
+/*
+ * Memory layout for where various images get loaded by boot scripts:
+ *
+ * scriptaddr can be pretty much anywhere that doesn't conflict with something
+ *   else. Put it low in memory to avoid conflicts.
+ *
+ * pxefile_addr_r can be pretty much anywhere that doesn't conflict with
+ *   something else. Put it low in memory to avoid conflicts.
+ *
+ * kernel_addr_r must be within the first 128M of RAM in order for the
+ *   kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
+ *   decompress itself to 0x8000 after the start of RAM, kernel_addr_r
+ *   should not overlap that area, or the kernel will have to copy itself
+ *   somewhere else before decompression. Similarly, the address of any other
+ *   data passed to the kernel shouldn't overlap the start of RAM. Pushing
+ *   this up to 16M allows for a sizable kernel to be decompressed below the
+ *   compressed load address.
+ *
+ * fdt_addr_r simply shouldn't overlap anything else. Choosing 32M allows for
+ *   the compressed kernel to be up to 16M too.
+ *
+ * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows
+ *   for the FDT/DTB to be up to 1M, which is hopefully plenty.
+ */
+#define ENV_MEM_LAYOUT_SETTINGS \
+       "scriptaddr=0x00000000\0" \
+       "pxefile_addr_r=0x00100000\0" \
+       "kernel_addr_r=0x01000000\0" \
+       "fdt_addr_r=0x02000000\0" \
+       "ramdisk_addr_r=0x02100000\0" \
+
+#define BOOT_TARGET_DEVICES(func) \
+       func(MMC, mmc, 0) \
+       func(USB, usb, 0) \
+       func(PXE, pxe, na) \
+       func(DHCP, dhcp, na)
+#include <config_distro_bootcmd.h>
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       ENV_DEVICE_SETTINGS \
+       ENV_MEM_LAYOUT_SETTINGS \
+       BOOTENV
+
+#define CONFIG_BOOTDELAY 2
+
+#endif
diff --git a/include/configs/rpi_b.h b/include/configs/rpi_b.h
deleted file mode 100644 (file)
index 4874c51..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * (C) Copyright 2012 Stephen Warren
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <linux/sizes.h>
-
-/* Architecture, CPU, etc.*/
-#define CONFIG_SYS_GENERIC_BOARD
-#define CONFIG_BCM2835
-#define CONFIG_ARCH_CPU_INIT
-#define CONFIG_SYS_DCACHE_OFF
-/*
- * 2835 is a SKU in a series for which the 2708 is the first or primary SoC,
- * so 2708 has historically been used rather than a dedicated 2835 ID.
- */
-#define CONFIG_MACH_TYPE               MACH_TYPE_BCM2708
-
-/* Enable driver model */
-#define CONFIG_DM
-#define CONFIG_CMD_DM
-#define CONFIG_DM_GPIO
-
-/* Memory layout */
-#define CONFIG_NR_DRAM_BANKS           1
-#define CONFIG_SYS_SDRAM_BASE          0x00000000
-#define CONFIG_SYS_TEXT_BASE           0x00008000
-#define CONFIG_SYS_UBOOT_BASE          CONFIG_SYS_TEXT_BASE
-/*
- * The board really has 256M. However, the VC (VideoCore co-processor) shares
- * the RAM, and uses a configurable portion at the top. We tell U-Boot that a
- * smaller amount of RAM is present in order to avoid stomping on the area
- * the VC uses.
- */
-#define CONFIG_SYS_SDRAM_SIZE          SZ_128M
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE + \
-                                        CONFIG_SYS_SDRAM_SIZE - \
-                                        GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_MALLOC_LEN          SZ_4M
-#define CONFIG_SYS_MEMTEST_START       0x00100000
-#define CONFIG_SYS_MEMTEST_END         0x00200000
-#define CONFIG_LOADADDR                        0x00200000
-
-/* Flash */
-#define CONFIG_SYS_NO_FLASH
-
-/* Devices */
-/* GPIO */
-#define CONFIG_BCM2835_GPIO
-/* LCD */
-#define CONFIG_LCD
-#define CONFIG_LCD_DT_SIMPLEFB
-#define LCD_BPP                                LCD_COLOR16
-/*
- * Prevent allocation of RAM for FB; the real FB address is queried
- * dynamically from the VideoCore co-processor, and comes from RAM
- * not owned by the ARM CPU.
- */
-#define CONFIG_FB_ADDR                 0
-#define CONFIG_VIDEO_BCM2835
-#define CONFIG_SYS_WHITE_ON_BLACK
-
-/* SD/MMC configuration */
-#define CONFIG_GENERIC_MMC
-#define CONFIG_MMC
-#define CONFIG_SDHCI
-#define CONFIG_MMC_SDHCI_IO_ACCESSORS
-#define CONFIG_BCM2835_SDHCI
-
-#define CONFIG_CMD_USB
-#ifdef CONFIG_CMD_USB
-#define CONFIG_USB_DWC2
-#define CONFIG_USB_DWC2_REG_ADDR 0x20980000
-#define CONFIG_USB_STORAGE
-#define CONFIG_USB_HOST_ETHER
-#define CONFIG_USB_ETHER_SMSC95XX
-#define CONFIG_MISC_INIT_R
-#endif
-
-/* Console UART */
-#define CONFIG_PL011_SERIAL
-#define CONFIG_PL011_CLOCK             3000000
-#define CONFIG_PL01x_PORTS             { (void *)0x20201000 }
-#define CONFIG_CONS_INDEX              0
-#define CONFIG_BAUDRATE                        115200
-
-/* Console configuration */
-#define CONFIG_SYS_CBSIZE              1024
-#define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE +            \
-                                        sizeof(CONFIG_SYS_PROMPT) + 16)
-
-/* Environment */
-#define CONFIG_ENV_SIZE                        SZ_16K
-#define CONFIG_ENV_IS_NOWHERE
-#define CONFIG_ENV_VARS_UBOOT_CONFIG
-#define CONFIG_SYS_LOAD_ADDR           0x1000000
-#define CONFIG_CONSOLE_MUX
-#define CONFIG_SYS_CONSOLE_IS_IN_ENV
-#define CONFIG_PREBOOT \
-       "if load mmc 0:1 ${loadaddr} /uEnv.txt; then " \
-               "env import -t -r ${loadaddr} ${filesize}; " \
-       "fi"
-
-/* Shell */
-#define CONFIG_SYS_MAXARGS             8
-#define CONFIG_SYS_PROMPT              "U-Boot> "
-#define CONFIG_COMMAND_HISTORY
-
-/* Commands */
-#include <config_cmd_default.h>
-#define CONFIG_CMD_GPIO
-#define CONFIG_CMD_MMC
-#define CONFIG_PARTITION_UUIDS
-#define CONFIG_CMD_PART
-
-/* Device tree support */
-#define CONFIG_OF_BOARD_SETUP
-/* ATAGs support for bootm/bootz */
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_INITRD_TAG
-
-#include <config_distro_defaults.h>
-
-/* Some things don't make sense on this HW or yet */
-#undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_SAVEENV
-
-/* Environment */
-#define ENV_DEVICE_SETTINGS \
-       "stdin=serial,lcd\0" \
-       "stdout=serial,lcd\0" \
-       "stderr=serial,lcd\0"
-
-/*
- * Memory layout for where various images get loaded by boot scripts:
- *
- * scriptaddr can be pretty much anywhere that doesn't conflict with something
- *   else. Put it low in memory to avoid conflicts.
- *
- * pxefile_addr_r can be pretty much anywhere that doesn't conflict with
- *   something else. Put it low in memory to avoid conflicts.
- *
- * kernel_addr_r must be within the first 128M of RAM in order for the
- *   kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
- *   decompress itself to 0x8000 after the start of RAM, kernel_addr_r
- *   should not overlap that area, or the kernel will have to copy itself
- *   somewhere else before decompression. Similarly, the address of any other
- *   data passed to the kernel shouldn't overlap the start of RAM. Pushing
- *   this up to 16M allows for a sizable kernel to be decompressed below the
- *   compressed load address.
- *
- * fdt_addr_r simply shouldn't overlap anything else. Choosing 32M allows for
- *   the compressed kernel to be up to 16M too.
- *
- * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows
- *   for the FDT/DTB to be up to 1M, which is hopefully plenty.
- */
-#define ENV_MEM_LAYOUT_SETTINGS \
-       "scriptaddr=0x00000000\0" \
-       "pxefile_addr_r=0x00100000\0" \
-       "kernel_addr_r=0x01000000\0" \
-       "fdt_addr_r=0x02000000\0" \
-       "ramdisk_addr_r=0x02100000\0" \
-
-#define BOOT_TARGET_DEVICES(func) \
-       func(MMC, mmc, 0) \
-       func(USB, usb, 0) \
-       func(PXE, pxe, na) \
-       func(DHCP, dhcp, na)
-#include <config_distro_bootcmd.h>
-
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       ENV_DEVICE_SETTINGS \
-       ENV_MEM_LAYOUT_SETTINGS \
-       BOOTENV
-
-#define CONFIG_BOOTDELAY 2
-
-#endif