arm: mvebu: turris_omnia: Disable Atmel SHA node if not present

If the FEAT_CRYPTO feature bit is present in MCU features, the board
crypto is implemented by MCU and the Atmel SHA chip is not present.
Disable Atmel SHA device-tree node in that case.

Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Marek Behún
2024-04-04 09:50:56 +02:00
committed by Stefan Roese
parent 59840f7b93
commit 77b0e0c151

View File

@@ -1007,6 +1007,25 @@ static int fixup_mcu_gpio_in_eth_wan_node(void *blob)
return 0;
}
static void fixup_atsha_node(void *blob)
{
int node;
if (!omnia_mcu_has_feature(FEAT_CRYPTO))
return;
node = fdt_node_offset_by_compatible(blob, -1, "atmel,atsha204a");
if (node < 0) {
printf("Cannot find ATSHA204A node!\n");
return;
}
if (fdt_status_disabled(blob, node) < 0)
printf("Cannot disable ATSHA204A node!\n");
else
debug("Disabled ATSHA204A node\n");
}
#endif
#if IS_ENABLED(CONFIG_OF_BOARD_FIXUP)
@@ -1020,6 +1039,8 @@ int board_fix_fdt(void *blob)
fixup_msata_port_nodes(blob);
fixup_wwan_port_nodes(blob);
fixup_atsha_node(blob);
return 0;
}
#endif
@@ -1211,6 +1232,8 @@ int ft_board_setup(void *blob, struct bd_info *bd)
fixup_msata_port_nodes(blob);
fixup_wwan_port_nodes(blob);
fixup_atsha_node(blob);
return 0;
}
#endif