mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-30 16:40:44 +09:00
imx: clk: added IPG Clock for I2C on imx8qm
This patch fixes this clk issue on I2C on imx8qm => i2c bus Bus 3: i2c@5a830000 => i2c dev 3 Setting bus to 3 Failed to enable ipg clk Failure changing bus number (-524) Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Peng Fan <peng.fan@nxp.com> Cc: uboot-imx <uboot-imx@nxp.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
7a8d18da4b
commit
61eb1fe568
@ -53,19 +53,27 @@ ulong imx8_clk_get_rate(struct clk *clk)
|
|||||||
resource = SC_R_A53;
|
resource = SC_R_A53;
|
||||||
pm_clk = SC_PM_CLK_CPU;
|
pm_clk = SC_PM_CLK_CPU;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C0_IPG_CLK:
|
||||||
case IMX8QM_I2C0_CLK:
|
case IMX8QM_I2C0_CLK:
|
||||||
|
case IMX8QM_I2C0_DIV:
|
||||||
resource = SC_R_I2C_0;
|
resource = SC_R_I2C_0;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C1_IPG_CLK:
|
||||||
case IMX8QM_I2C1_CLK:
|
case IMX8QM_I2C1_CLK:
|
||||||
|
case IMX8QM_I2C1_DIV:
|
||||||
resource = SC_R_I2C_1;
|
resource = SC_R_I2C_1;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C2_IPG_CLK:
|
||||||
case IMX8QM_I2C2_CLK:
|
case IMX8QM_I2C2_CLK:
|
||||||
|
case IMX8QM_I2C2_DIV:
|
||||||
resource = SC_R_I2C_2;
|
resource = SC_R_I2C_2;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C3_IPG_CLK:
|
||||||
case IMX8QM_I2C3_CLK:
|
case IMX8QM_I2C3_CLK:
|
||||||
|
case IMX8QM_I2C3_DIV:
|
||||||
resource = SC_R_I2C_3;
|
resource = SC_R_I2C_3;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
@ -148,19 +156,27 @@ ulong imx8_clk_set_rate(struct clk *clk, unsigned long rate)
|
|||||||
debug("%s(#%lu), rate: %lu\n", __func__, clk->id, rate);
|
debug("%s(#%lu), rate: %lu\n", __func__, clk->id, rate);
|
||||||
|
|
||||||
switch (clk->id) {
|
switch (clk->id) {
|
||||||
|
case IMX8QM_I2C0_IPG_CLK:
|
||||||
case IMX8QM_I2C0_CLK:
|
case IMX8QM_I2C0_CLK:
|
||||||
|
case IMX8QM_I2C0_DIV:
|
||||||
resource = SC_R_I2C_0;
|
resource = SC_R_I2C_0;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C1_IPG_CLK:
|
||||||
case IMX8QM_I2C1_CLK:
|
case IMX8QM_I2C1_CLK:
|
||||||
|
case IMX8QM_I2C1_DIV:
|
||||||
resource = SC_R_I2C_1;
|
resource = SC_R_I2C_1;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C2_IPG_CLK:
|
||||||
case IMX8QM_I2C2_CLK:
|
case IMX8QM_I2C2_CLK:
|
||||||
|
case IMX8QM_I2C2_DIV:
|
||||||
resource = SC_R_I2C_2;
|
resource = SC_R_I2C_2;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C3_IPG_CLK:
|
||||||
case IMX8QM_I2C3_CLK:
|
case IMX8QM_I2C3_CLK:
|
||||||
|
case IMX8QM_I2C3_DIV:
|
||||||
resource = SC_R_I2C_3;
|
resource = SC_R_I2C_3;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
@ -242,19 +258,27 @@ int __imx8_clk_enable(struct clk *clk, bool enable)
|
|||||||
debug("%s(#%lu)\n", __func__, clk->id);
|
debug("%s(#%lu)\n", __func__, clk->id);
|
||||||
|
|
||||||
switch (clk->id) {
|
switch (clk->id) {
|
||||||
|
case IMX8QM_I2C0_IPG_CLK:
|
||||||
case IMX8QM_I2C0_CLK:
|
case IMX8QM_I2C0_CLK:
|
||||||
|
case IMX8QM_I2C0_DIV:
|
||||||
resource = SC_R_I2C_0;
|
resource = SC_R_I2C_0;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C1_IPG_CLK:
|
||||||
case IMX8QM_I2C1_CLK:
|
case IMX8QM_I2C1_CLK:
|
||||||
|
case IMX8QM_I2C1_DIV:
|
||||||
resource = SC_R_I2C_1;
|
resource = SC_R_I2C_1;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C2_IPG_CLK:
|
||||||
case IMX8QM_I2C2_CLK:
|
case IMX8QM_I2C2_CLK:
|
||||||
|
case IMX8QM_I2C2_DIV:
|
||||||
resource = SC_R_I2C_2;
|
resource = SC_R_I2C_2;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
case IMX8QM_I2C3_IPG_CLK:
|
||||||
case IMX8QM_I2C3_CLK:
|
case IMX8QM_I2C3_CLK:
|
||||||
|
case IMX8QM_I2C3_DIV:
|
||||||
resource = SC_R_I2C_3;
|
resource = SC_R_I2C_3;
|
||||||
pm_clk = SC_PM_CLK_PER;
|
pm_clk = SC_PM_CLK_PER;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user