mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
video: stm32: ltdc: support new hardware version for STM32MP25 SoC
STM32MP2 SoCs feature a new version of the LTDC IP. This new version features a bus clock, as well as a 150MHz pad frequency. Add its compatible to the list of device to probe and handle quirks. The new hardware version features a bus clock. Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Acked-by: Yannick Fertre <yannick.fertre@foss.st.com> Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
This commit is contained in:
committed by
Tom Rini
parent
16cfbbbe2b
commit
b3316f6053
@@ -262,6 +262,7 @@ static const u32 layer_regs_a2[] = {
|
||||
#define HWVER_10300 0x010300
|
||||
#define HWVER_20101 0x020101
|
||||
#define HWVER_40100 0x040100
|
||||
#define HWVER_40101 0x040101
|
||||
|
||||
enum stm32_ltdc_pix_fmt {
|
||||
PF_ARGB8888 = 0, /* ARGB [32 bits] */
|
||||
@@ -529,7 +530,7 @@ static int stm32_ltdc_probe(struct udevice *dev)
|
||||
struct udevice *bridge = NULL;
|
||||
struct udevice *panel = NULL;
|
||||
struct display_timing timings;
|
||||
struct clk pclk;
|
||||
struct clk pclk, bclk;
|
||||
struct reset_ctl rst;
|
||||
ulong rate;
|
||||
int ret;
|
||||
@@ -540,7 +541,21 @@ static int stm32_ltdc_probe(struct udevice *dev)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = clk_get_by_index(dev, 0, &pclk);
|
||||
ret = clk_get_by_name(dev, "bus", &bclk);
|
||||
if (ret) {
|
||||
if (ret != -ENODATA) {
|
||||
dev_err(dev, "bus clock get error %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
} else {
|
||||
ret = clk_enable(&bclk);
|
||||
if (ret) {
|
||||
dev_err(dev, "bus clock enable error %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
ret = clk_get_by_name(dev, "lcd", &pclk);
|
||||
if (ret) {
|
||||
dev_err(dev, "peripheral clock get error %d\n", ret);
|
||||
return ret;
|
||||
@@ -566,6 +581,7 @@ static int stm32_ltdc_probe(struct udevice *dev)
|
||||
priv->pix_fmt_hw = pix_fmt_a1;
|
||||
break;
|
||||
case HWVER_40100:
|
||||
case HWVER_40101:
|
||||
priv->layer_regs = layer_regs_a2;
|
||||
priv->pix_fmt_hw = pix_fmt_a2;
|
||||
break;
|
||||
@@ -688,6 +704,8 @@ static int stm32_ltdc_bind(struct udevice *dev)
|
||||
|
||||
static const struct udevice_id stm32_ltdc_ids[] = {
|
||||
{ .compatible = "st,stm32-ltdc" },
|
||||
{ .compatible = "st,stm32mp251-ltdc" },
|
||||
{ .compatible = "st,stm32mp255-ltdc" },
|
||||
{ }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user