diff options
author | Simon Glass <sjg@chromium.org> | 2016-07-17 15:23:17 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-07-25 20:46:45 -0600 |
commit | c3aad6f65b3fb574e1a73c686d8793dee00c5819 (patch) | |
tree | 9436bf465e9a3efb1464e7449db9effe2d217874 | |
parent | a617c5d3e2c22355ee9abc455bbb0b36e124a00a (diff) | |
download | u-boot-c3aad6f65b3fb574e1a73c686d8793dee00c5819.zip u-boot-c3aad6f65b3fb574e1a73c686d8793dee00c5819.tar.gz u-boot-c3aad6f65b3fb574e1a73c686d8793dee00c5819.tar.bz2 |
rockchip: Use rockchip_get_clk() to obtain the SoC clock
The current code picks the first available clock. In U-Boot proper this is
the oscillator device, not the SoC clock device. As a result the HDMI display
does not work.
Fix this by calling rockchip_get_clk() instead.
Fixes: 135aa950 (clk: convert API to match reset/mailbox style)
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>
-rw-r--r-- | arch/arm/mach-rockchip/board.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3288-board-spl.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3288/sdram_rk3288.c | 2 | ||||
-rw-r--r-- | drivers/clk/clk_rk3288.c | 2 | ||||
-rw-r--r-- | drivers/video/rockchip/rk_vop.c | 2 |
5 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c index f662b26..bec756d 100644 --- a/arch/arm/mach-rockchip/board.c +++ b/arch/arm/mach-rockchip/board.c @@ -178,7 +178,7 @@ static int do_clock(cmd_tbl_t *cmdtp, int flag, int argc, int ret, i; struct udevice *dev; - ret = uclass_get_device(UCLASS_CLK, 0, &dev); + ret = rockchip_get_clk(&dev); if (ret) { printf("clk-uclass not found\n"); return 0; diff --git a/arch/arm/mach-rockchip/rk3288-board-spl.c b/arch/arm/mach-rockchip/rk3288-board-spl.c index d82115f..ed14023 100644 --- a/arch/arm/mach-rockchip/rk3288-board-spl.c +++ b/arch/arm/mach-rockchip/rk3288-board-spl.c @@ -187,7 +187,7 @@ void board_init_f(ulong dummy) rockchip_timer_init(); configure_l2ctlr(); - ret = uclass_get_device(UCLASS_CLK, 0, &dev); + ret = rockchip_get_clk(&dev); if (ret) { debug("CLK init failed: %d\n", ret); return; diff --git a/arch/arm/mach-rockchip/rk3288/sdram_rk3288.c b/arch/arm/mach-rockchip/rk3288/sdram_rk3288.c index fc0f2f3..4364d5a 100644 --- a/arch/arm/mach-rockchip/rk3288/sdram_rk3288.c +++ b/arch/arm/mach-rockchip/rk3288/sdram_rk3288.c @@ -923,7 +923,7 @@ static int rk3288_dmc_probe(struct udevice *dev) priv->chan[1].pctl = regmap_get_range(plat->map, 2); priv->chan[1].publ = regmap_get_range(plat->map, 3); #endif - ret = uclass_get_device(UCLASS_CLK, 0, &dev_clk); + ret = rockchip_get_clk(&dev_clk); if (ret) return ret; priv->ddr_clk.id = CLK_DDR; diff --git a/drivers/clk/clk_rk3288.c b/drivers/clk/clk_rk3288.c index a41cf8b..e00feb0 100644 --- a/drivers/clk/clk_rk3288.c +++ b/drivers/clk/clk_rk3288.c @@ -145,7 +145,7 @@ void *rockchip_get_cru(void) struct udevice *dev; int ret; - ret = uclass_get_device(UCLASS_CLK, 0, &dev); + ret = rockchip_get_clk(&dev); if (ret) return ERR_PTR(ret); diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c index cc26f19..c6d88d9 100644 --- a/drivers/video/rockchip/rk_vop.c +++ b/drivers/video/rockchip/rk_vop.c @@ -238,7 +238,7 @@ int rk_display_init(struct udevice *dev, ulong fbbase, return ret; } - ret = uclass_get_device(UCLASS_CLK, 0, &dev_clk); + ret = rockchip_get_clk(&dev_clk); if (!ret) { clk.id = DCLK_VOP0 + remote_vop_id; ret = clk_request(dev_clk, &clk); |