Model A and CM RPis don't have an on-board USB Ethernet device. Hence,
there's no point setting $usbethaddr based on the device fuses. Use the
model detection code to gate this. Note that the fuses are actually
programmed even on those devices though.

Signed-off-by: Stephen Warren <swar...@wwwdotorg.org>
---
This depends on the following patches that I sent earlier:
ARM: rpi_b: detect board revision
ARM: rpi: rename rpi_b to rpi
---
 board/raspberrypi/rpi/rpi.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 51a4fa103061..c7eb257f5b0e 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -70,58 +70,72 @@ struct msg_get_clock_rate {
 static const struct {
        const char *name;
        const char *fdtfile;
+       bool has_onboard_eth;
 } models[] = {
        [BCM2835_BOARD_REV_B_I2C0_2] = {
                "Model B (no P5)",
                "bcm2835-rpi-b-i2c0.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_I2C0_3] = {
                "Model B (no P5)",
                "bcm2835-rpi-b-i2c0.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_I2C1_4] = {
                "Model B",
                "bcm2835-rpi-b.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_I2C1_5] = {
                "Model B",
                "bcm2835-rpi-b.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_I2C1_6] = {
                "Model B",
                "bcm2835-rpi-b.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_A_7] = {
                "Model A",
                "bcm2835-rpi-a.dtb",
+               false,
        },
        [BCM2835_BOARD_REV_A_8] = {
                "Model A",
                "bcm2835-rpi-a.dtb",
+               false,
        },
        [BCM2835_BOARD_REV_A_9] = {
                "Model A",
                "bcm2835-rpi-a.dtb",
+               false,
        },
        [BCM2835_BOARD_REV_B_REV2_d] = {
                "Model B rev2",
                "bcm2835-rpi-b-rev2.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_REV2_e] = {
                "Model B rev2",
                "bcm2835-rpi-b-rev2.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_REV2_f] = {
                "Model B rev2",
                "bcm2835-rpi-b-rev2.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_B_PLUS] = {
                "Model B+",
                "bcm2835-rpi-b-plus.dtb",
+               true,
        },
        [BCM2835_BOARD_REV_CM] = {
                "Compute Module",
                "bcm2835-rpi-cm.dtb",
+               false,
        },
 };
 
@@ -165,6 +179,9 @@ static void set_usbethaddr(void)
        ALLOC_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1, 16);
        int ret;
 
+       if (!models[rpi_board_rev].has_onboard_eth)
+               return;
+
        if (getenv("usbethaddr"))
                return;
 
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to