drivers: ethernet: mcux: rework how unique mac is determined
Instead of having a Kconfig property, if there is no local-mac-address property in the devicetree than we'll generate a unique MAC address based on unique ID registers on the SoC. We remove the local-mac-address properties in the SoC dtsi files to match the default behavior that existed before (ie, unique MAC address) Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
b19cf0bed3
commit
df56ce3efb
5 changed files with 7 additions and 43 deletions
|
@ -54,43 +54,12 @@ config ETH_MCUX_0
|
|||
help
|
||||
Include port 0 driver
|
||||
|
||||
if ETH_MCUX_0
|
||||
|
||||
choice ETH_MCUX_0_MAC_SELECT
|
||||
prompt "MAC address"
|
||||
help
|
||||
Choose how to configure MAC address.
|
||||
|
||||
config ETH_MCUX_0_UNIQUE_MAC
|
||||
bool "Stable MAC address"
|
||||
help
|
||||
Generate MAC address from MCU's unique identification register.
|
||||
endchoice
|
||||
|
||||
endif # ETH_MCUX_0
|
||||
|
||||
config ETH_MCUX_1
|
||||
bool "MCUX Ethernet port 1"
|
||||
depends on SOC_MIMXRT1062 || SOC_MIMXRT1064
|
||||
help
|
||||
Include port 1 driver
|
||||
|
||||
if ETH_MCUX_1
|
||||
|
||||
choice ETH_MCUX_1_MAC_SELECT
|
||||
prompt "MAC address"
|
||||
help
|
||||
Choose how to configure MAC address.
|
||||
|
||||
config ETH_MCUX_1_UNIQUE_MAC
|
||||
bool "Stable MAC address"
|
||||
help
|
||||
Generate MAC address from MCU's unique identification register.
|
||||
|
||||
endchoice
|
||||
|
||||
endif # ETH_MCUX_1
|
||||
|
||||
config ETH_MCUX_HW_ACCELERATION
|
||||
bool "Enable hardware acceleration"
|
||||
help
|
||||
|
|
|
@ -887,8 +887,8 @@ static void generate_random_mac(u8_t *mac_addr)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ETH_MCUX_0_UNIQUE_MAC) || \
|
||||
defined(CONFIG_ETH_MCUX_1_UNIQUE_MAC)
|
||||
#if !DT_INST_NODE_HAS_PROP(0, local_mac_address) || \
|
||||
DT_HAS_NODE_STATUS_OKAY(DT_DRV_INST(1)) && !DT_INST_NODE_HAS_PROP(1, local_mac_address)
|
||||
static void generate_eth0_unique_mac(u8_t *mac_addr)
|
||||
{
|
||||
/* Trivially "hash" up to 128 bits of MCU unique identifier */
|
||||
|
@ -907,7 +907,7 @@ static void generate_eth0_unique_mac(u8_t *mac_addr)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ETH_MCUX_1_UNIQUE_MAC)
|
||||
#if DT_HAS_NODE_STATUS_OKAY(DT_DRV_INST(1)) && !DT_INST_NODE_HAS_PROP(1, local_mac_address)
|
||||
static void generate_eth1_unique_mac(u8_t *mac_addr)
|
||||
{
|
||||
generate_eth0_unique_mac(mac_addr);
|
||||
|
@ -1204,15 +1204,14 @@ static struct eth_context eth_0_context = {
|
|||
.phy_addr = 0U,
|
||||
.phy_duplex = kPHY_FullDuplex,
|
||||
.phy_speed = kPHY_Speed100M,
|
||||
#if defined(CONFIG_ETH_MCUX_0_UNIQUE_MAC)
|
||||
.generate_mac = generate_eth0_unique_mac,
|
||||
#endif
|
||||
#if DT_INST_PROP(0, zephyr_random_mac_address)
|
||||
.generate_mac = generate_random_mac,
|
||||
#endif
|
||||
#if NODE_HAS_VALID_MAC_ADDR(DT_DRV_INST(0))
|
||||
.mac_addr = DT_INST_PROP(0, local_mac_address),
|
||||
.generate_mac = NULL,
|
||||
#else
|
||||
.generate_mac = generate_eth0_unique_mac,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -1271,15 +1270,14 @@ static struct eth_context eth_1_context = {
|
|||
.phy_addr = 0U,
|
||||
.phy_duplex = kPHY_FullDuplex,
|
||||
.phy_speed = kPHY_Speed100M,
|
||||
#if defined(CONFIG_ETH_MCUX_1_UNIQUE_MAC)
|
||||
.generate_mac = generate_eth1_unique_mac,
|
||||
#endif
|
||||
#if DT_INST_PROP(1, zephyr_random_mac_address)
|
||||
.generate_mac = generate_random_mac,
|
||||
#endif
|
||||
#if NODE_HAS_VALID_MAC_ADDR(DT_DRV_INST(1))
|
||||
.mac_addr = DT_INST_PROP(1, local_mac_address),
|
||||
.generate_mac = NULL,
|
||||
#else
|
||||
.generate_mac = generate_eth1_unique_mac,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
@ -473,7 +473,6 @@
|
|||
interrupts = <83 0>, <84 0>, <85 0>;
|
||||
interrupt-names = "TX", "RX", "ERR_MISC";
|
||||
status = "disabled";
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
label = "ETH_0";
|
||||
clocks = <&sim KINETIS_SIM_CORESYS_CLK 0 0>;
|
||||
ptp {
|
||||
|
|
|
@ -536,7 +536,6 @@
|
|||
interrupts = <114 0>;
|
||||
interrupt-names = "COMMON";
|
||||
status = "disabled";
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
label = "ETH_0";
|
||||
ptp {
|
||||
compatible = "nxp,kinetis-ptp";
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
interrupts = <152 0>;
|
||||
interrupt-names = "COMMON";
|
||||
status = "disabled";
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
label = "ETH_1";
|
||||
ptp {
|
||||
compatible = "nxp,kinetis-ptp";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue