]> git.sur5r.net Git - u-boot/commitdiff
Merge tag 'signed-rpi-next' of git://github.com/agraf/u-boot
authorTom Rini <trini@konsulko.com>
Fri, 6 Apr 2018 12:30:10 +0000 (08:30 -0400)
committerTom Rini <trini@konsulko.com>
Fri, 6 Apr 2018 12:30:10 +0000 (08:30 -0400)
Patch queue for rpi - 2018-04-06

Highlights this time around:

  - Support for new RPi3 B+ model
  - Fix for some SD cards on newer RPi firmware

arch/arm/mach-bcm283x/include/mach/msg.h
arch/arm/mach-bcm283x/msg.c
board/raspberrypi/rpi/rpi.c
configs/rpi_0_w_defconfig
configs/rpi_2_defconfig
configs/rpi_3_32b_defconfig
configs/rpi_3_defconfig
configs/rpi_defconfig
drivers/mmc/bcm2835_sdhci.c
drivers/mmc/bcm2835_sdhost.c

index 478b1f1c50170ca394b496e7958b63910d7cbcd5..d055480ba11484de39405e4afaff369936df35bf 100644 (file)
@@ -18,9 +18,10 @@ int bcm2835_power_on_module(u32 module);
 /**
  * bcm2835_get_mmc_clock() - get the frequency of the MMC clock
  *
+ * @clock_id: ID of clock to get frequency for
  * @return clock frequency, or -ve on error
  */
-int bcm2835_get_mmc_clock(void);
+int bcm2835_get_mmc_clock(u32 clock_id);
 
 /**
  * bcm2835_get_video_size() - get the current display size
index 92e93ad9e55b24031c8c75d6525bdcf5941bf317..ad29f3be09e0790b18c76a945bef922c517d47f1 100644 (file)
@@ -65,7 +65,7 @@ int bcm2835_power_on_module(u32 module)
        return 0;
 }
 
-int bcm2835_get_mmc_clock(void)
+int bcm2835_get_mmc_clock(u32 clock_id)
 {
        ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1);
        int ret;
@@ -76,7 +76,7 @@ int bcm2835_get_mmc_clock(void)
 
        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;
+       msg_clk->get_clock_rate.body.req.clock_id = clock_id;
 
        ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_clk->hdr);
        if (ret) {
index 177f4af265e510889d16f0a42c9fc6c2a446f049..de8e308f6c5fc33cf7f01a167c60b32f69b08837 100644 (file)
@@ -91,11 +91,36 @@ static const struct rpi_model rpi_model_unknown = {
 };
 
 static const struct rpi_model rpi_models_new_scheme[] = {
+       [0x0] = {
+               "Model A",
+               DTB_DIR "bcm2835-rpi-a.dtb",
+               false,
+       },
+       [0x1] = {
+               "Model B",
+               DTB_DIR "bcm2835-rpi-b.dtb",
+               true,
+       },
+       [0x2] = {
+               "Model A+",
+               DTB_DIR "bcm2835-rpi-a-plus.dtb",
+               false,
+       },
+       [0x3] = {
+               "Model B+",
+               DTB_DIR "bcm2835-rpi-b-plus.dtb",
+               true,
+       },
        [0x4] = {
                "2 Model B",
                DTB_DIR "bcm2836-rpi-2-b.dtb",
                true,
        },
+       [0x6] = {
+               "Compute Module",
+               DTB_DIR "bcm2835-rpi-cm.dtb",
+               false,
+       },
        [0x8] = {
                "3 Model B",
                DTB_DIR "bcm2837-rpi-3-b.dtb",
@@ -106,11 +131,21 @@ static const struct rpi_model rpi_models_new_scheme[] = {
                DTB_DIR "bcm2835-rpi-zero.dtb",
                false,
        },
+       [0xA] = {
+               "Compute Module 3",
+               DTB_DIR "bcm2837-rpi-cm3.dtb",
+               false,
+       },
        [0xC] = {
                "Zero W",
                DTB_DIR "bcm2835-rpi-zero-w.dtb",
                false,
        },
+       [0xD] = {
+               "3 Model B+",
+               DTB_DIR "bcm2837-rpi-3-b-plus.dtb",
+               true,
+       },
 };
 
 static const struct rpi_model rpi_models_old_scheme[] = {
index 04717d5e50340d4244fe2188977ebf6bebf3ceac..6e02cf34e9173d60df0fb0b7d92b3fae37d808c2 100644 (file)
@@ -34,3 +34,4 @@ CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_CONSOLE_SCROLL_LINES=10
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT_OVERLAY=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
index f8203c9d474bc7d8cd2cf2e239f74603ff0e1b6c..dd3c60cc93d324a89e33b2f9c6aab3e8fa8a07b3 100644 (file)
@@ -34,3 +34,4 @@ CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_CONSOLE_SCROLL_LINES=10
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT_OVERLAY=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
index 317fc28f711347c3e977e3b887f618fdb72dbf94..4e59c14fdf1eb4631a1465e3d4f4eeddfc5c8b2a 100644 (file)
@@ -36,3 +36,5 @@ CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_CONSOLE_SCROLL_LINES=10
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_PHYLIB=y
+CONFIG_USB_ETHER_LAN78XX=y
index 0f3a54ec9a436880b6f8043df70fd3e25e34d3af..810b60344fcaff73177a9cb070da3d2e9dff6960 100644 (file)
@@ -36,3 +36,5 @@ CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_CONSOLE_SCROLL_LINES=10
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_PHYLIB=y
+CONFIG_USB_ETHER_LAN78XX=y
index d13d3d3e2e196dceafe021fe7158dea5846b08cc..2c0412d8eac18b36e076fbc09f8703d548de4fdc 100644 (file)
@@ -34,3 +34,4 @@ CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_CONSOLE_SCROLL_LINES=10
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT_OVERLAY=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
index 3157354d2ae8525ae42a9f68953593d771743f74..08bddd410e0be51d7f44747b950faffc1206fb7d 100644 (file)
@@ -183,7 +183,7 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
-       ret = bcm2835_get_mmc_clock();
+       ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
        if (ret < 0) {
                debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
                return ret;
index 1bf52a30196a4c7d240c1bb6e5dc8c578f3582ee..bccd182e50c21820be54bef8c1462e3ed85288ba 100644 (file)
@@ -35,6 +35,7 @@
 #include <dm.h>
 #include <mmc.h>
 #include <asm/arch/msg.h>
+#include <asm/arch/mbox.h>
 #include <asm/unaligned.h>
 #include <linux/compat.h>
 #include <linux/io.h>
@@ -941,7 +942,7 @@ static int bcm2835_probe(struct udevice *dev)
        if (!host->ioaddr)
                return -ENOMEM;
 
-       host->max_clk = bcm2835_get_mmc_clock();
+       host->max_clk = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_CORE);
 
        bcm2835_add_host(host);