mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-04 20:26:13 +02:00
imx9: soc: Reuse and export low_drive_freq_update()
Reuse and export low_drive_freq_update() function. This way global imx9 board_fix_fdt() doesn't duplicate code. While low_drive_freq_update() can be reused on boards such as phyCORE-i.MX93 (TARGET_PHYCORE_IMX93) which is not using the global imx9 board_fix_fdt() implementation. While at it, make printout logic less verbose by only outputting on the error condition and not on each successful clock fixup. Also drop now invalid comment (low_drive_freq_update() now does fixup for internal and kernel device-tree). Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
This commit is contained in:
parent
b57ed14793
commit
442e752854
@ -18,6 +18,7 @@ enum imx9_soc_voltage_mode {
|
||||
void soc_power_init(void);
|
||||
bool m33_is_rom_kicked(void);
|
||||
int m33_prepare(void);
|
||||
int low_drive_freq_update(void *blob);
|
||||
|
||||
enum imx9_soc_voltage_mode soc_target_voltage_mode(void);
|
||||
|
||||
|
||||
@ -641,12 +641,10 @@ static int low_drive_fdt_fix_clock(void *fdt, int node_off, u32 clk_index, u32 n
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
static int low_drive_freq_update(void *blob)
|
||||
int low_drive_freq_update(void *blob)
|
||||
{
|
||||
int nodeoff, ret;
|
||||
int i;
|
||||
int nodeoff, ret, i;
|
||||
|
||||
/* Update kernel dtb clocks for low drive mode */
|
||||
struct low_drive_freq_entry table[] = {
|
||||
{"/soc@0/bus@42800000/mmc@42850000", 0, 266666667},
|
||||
{"/soc@0/bus@42800000/mmc@42860000", 0, 266666667},
|
||||
@ -658,8 +656,8 @@ static int low_drive_freq_update(void *blob)
|
||||
if (nodeoff >= 0) {
|
||||
ret = low_drive_fdt_fix_clock(blob, nodeoff, table[i].clk,
|
||||
table[i].new_rate);
|
||||
if (!ret)
|
||||
printf("%s freq updated\n", table[i].node_path);
|
||||
if (ret)
|
||||
printf("freq update failed for %s\n", table[i].node_path);
|
||||
}
|
||||
}
|
||||
|
||||
@ -671,23 +669,8 @@ static int low_drive_freq_update(void *blob)
|
||||
int board_fix_fdt(void *fdt)
|
||||
{
|
||||
/* Update dtb clocks for low drive mode */
|
||||
if (is_voltage_mode(VOLT_LOW_DRIVE)) {
|
||||
int nodeoff;
|
||||
int i;
|
||||
|
||||
struct low_drive_freq_entry table[] = {
|
||||
{"/soc@0/bus@42800000/mmc@42850000", 0, 266666667},
|
||||
{"/soc@0/bus@42800000/mmc@42860000", 0, 266666667},
|
||||
{"/soc@0/bus@42800000/mmc@428b0000", 0, 266666667},
|
||||
};
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(table); i++) {
|
||||
nodeoff = fdt_path_offset(fdt, table[i].node_path);
|
||||
if (nodeoff >= 0)
|
||||
low_drive_fdt_fix_clock(fdt, nodeoff, table[i].clk,
|
||||
table[i].new_rate);
|
||||
}
|
||||
}
|
||||
if (is_voltage_mode(VOLT_LOW_DRIVE))
|
||||
low_drive_freq_update(fdt);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user