diff options
author | Stephen Warren <swarren@wwwdotorg.org> | 2014-12-05 20:56:46 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-12-29 16:31:22 -0500 |
commit | 3207d8fc9cc8fcc91d0dcc02890c7aaff48a6a27 (patch) | |
tree | d9187ac56f3b4c1913a5e68f23ae4131fcfa9835 /board/raspberrypi | |
parent | 03ca6a394a00652305a10c95202f28b476c9f8d8 (diff) |
ARM: rpi: only set usbethaddr on relevant systems
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 <swarren@wwwdotorg.org>
Diffstat (limited to 'board/raspberrypi')
-rw-r--r-- | board/raspberrypi/rpi/rpi.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c index 7dbd40ecf8..ca8e86dead 100644 --- a/board/raspberrypi/rpi/rpi.c +++ b/board/raspberrypi/rpi/rpi.c @@ -82,58 +82,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, }, }; @@ -177,6 +191,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; |