Commit a359beb4 authored by Samuel Holland's avatar Samuel Holland Committed by Maxime Ripard

drm/sun4i: Add support for D1 TCON TOP

D1 has a TCON TOP with TCON TV0 and DSI, but no TCON TV1. This puts the
DSI clock name at index 1 in clock-output-names. Support this by only
incrementing the index for clocks that are actually supported.
Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
Reviewed-by: default avatarJernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20220424162633.12369-13-samuel@sholland.org
parent 30d334ce
...@@ -189,22 +189,23 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master, ...@@ -189,22 +189,23 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master,
* if TVE is active on each TCON TV. If it is, mux should be switched * if TVE is active on each TCON TV. If it is, mux should be switched
* to TVE clock parent. * to TVE clock parent.
*/ */
i = 0;
clk_data->hws[CLK_TCON_TOP_TV0] = clk_data->hws[CLK_TCON_TOP_TV0] =
sun8i_tcon_top_register_gate(dev, "tcon-tv0", regs, sun8i_tcon_top_register_gate(dev, "tcon-tv0", regs,
&tcon_top->reg_lock, &tcon_top->reg_lock,
TCON_TOP_TCON_TV0_GATE, 0); TCON_TOP_TCON_TV0_GATE, i++);
if (quirks->has_tcon_tv1) if (quirks->has_tcon_tv1)
clk_data->hws[CLK_TCON_TOP_TV1] = clk_data->hws[CLK_TCON_TOP_TV1] =
sun8i_tcon_top_register_gate(dev, "tcon-tv1", regs, sun8i_tcon_top_register_gate(dev, "tcon-tv1", regs,
&tcon_top->reg_lock, &tcon_top->reg_lock,
TCON_TOP_TCON_TV1_GATE, 1); TCON_TOP_TCON_TV1_GATE, i++);
if (quirks->has_dsi) if (quirks->has_dsi)
clk_data->hws[CLK_TCON_TOP_DSI] = clk_data->hws[CLK_TCON_TOP_DSI] =
sun8i_tcon_top_register_gate(dev, "dsi", regs, sun8i_tcon_top_register_gate(dev, "dsi", regs,
&tcon_top->reg_lock, &tcon_top->reg_lock,
TCON_TOP_TCON_DSI_GATE, 2); TCON_TOP_TCON_DSI_GATE, i++);
for (i = 0; i < CLK_NUM; i++) for (i = 0; i < CLK_NUM; i++)
if (IS_ERR(clk_data->hws[i])) { if (IS_ERR(clk_data->hws[i])) {
...@@ -272,6 +273,10 @@ static const struct sun8i_tcon_top_quirks sun8i_r40_tcon_top_quirks = { ...@@ -272,6 +273,10 @@ static const struct sun8i_tcon_top_quirks sun8i_r40_tcon_top_quirks = {
.has_dsi = true, .has_dsi = true,
}; };
static const struct sun8i_tcon_top_quirks sun20i_d1_tcon_top_quirks = {
.has_dsi = true,
};
static const struct sun8i_tcon_top_quirks sun50i_h6_tcon_top_quirks = { static const struct sun8i_tcon_top_quirks sun50i_h6_tcon_top_quirks = {
/* Nothing special */ /* Nothing special */
}; };
...@@ -282,6 +287,10 @@ const struct of_device_id sun8i_tcon_top_of_table[] = { ...@@ -282,6 +287,10 @@ const struct of_device_id sun8i_tcon_top_of_table[] = {
.compatible = "allwinner,sun8i-r40-tcon-top", .compatible = "allwinner,sun8i-r40-tcon-top",
.data = &sun8i_r40_tcon_top_quirks .data = &sun8i_r40_tcon_top_quirks
}, },
{
.compatible = "allwinner,sun20i-d1-tcon-top",
.data = &sun20i_d1_tcon_top_quirks
},
{ {
.compatible = "allwinner,sun50i-h6-tcon-top", .compatible = "allwinner,sun50i-h6-tcon-top",
.data = &sun50i_h6_tcon_top_quirks .data = &sun50i_h6_tcon_top_quirks
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment