mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-04 10:30:50 +09:00
- fix i.MX6ULL evk black screen observed while reboot stress tests
- remove "synopsys,dw-mipi-dsi" compatible to reduce the device tree differences between Linux and U-Boot for stm32mp1 platform -----BEGIN PGP SIGNATURE----- iGwEABECACwWIQSC4hxrSoIUVfFO0kRM6ATMmsalXAUCXdJyOg4cYWd1c3RAZGVu eC5kZQAKCRBM6ATMmsalXOmuAJ9lF7GyPpv0vZNX1V4UV2EyyOOdbwCfQzHu3Xo+ 3VWLV9ZHkVMlfnGbbx0= =+YuG -----END PGP SIGNATURE----- Merge tag 'video-for-v2020.01-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-video - fix i.MX6ULL evk black screen observed while reboot stress tests - remove "synopsys,dw-mipi-dsi" compatible to reduce the device tree differences between Linux and U-Boot for stm32mp1 platform
This commit is contained in:
commit
fffb826ea0
@ -5,13 +5,6 @@
|
|||||||
|
|
||||||
#include "stm32mp157a-dk1-u-boot.dtsi"
|
#include "stm32mp157a-dk1-u-boot.dtsi"
|
||||||
|
|
||||||
/ {
|
|
||||||
dsi_host: dsi_host {
|
|
||||||
compatible = "synopsys,dw-mipi-dsi";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
hdmi-transmitter@39 {
|
hdmi-transmitter@39 {
|
||||||
reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
|
||||||
|
@ -14,11 +14,6 @@
|
|||||||
spi0 = &qspi;
|
spi0 = &qspi;
|
||||||
usb0 = &usbotg_hs;
|
usb0 = &usbotg_hs;
|
||||||
};
|
};
|
||||||
|
|
||||||
dsi_host: dsi_host {
|
|
||||||
compatible = "synopsys,dw-mipi-dsi";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&flash0 {
|
&flash0 {
|
||||||
|
@ -816,15 +816,9 @@ static int dw_mipi_dsi_probe(struct udevice *dev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct udevice_id dw_mipi_dsi_ids[] = {
|
|
||||||
{ .compatible = "synopsys,dw-mipi-dsi" },
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
U_BOOT_DRIVER(dw_mipi_dsi) = {
|
U_BOOT_DRIVER(dw_mipi_dsi) = {
|
||||||
.name = "dw_mipi_dsi",
|
.name = "dw_mipi_dsi",
|
||||||
.id = UCLASS_DSI_HOST,
|
.id = UCLASS_DSI_HOST,
|
||||||
.of_match = dw_mipi_dsi_ids,
|
|
||||||
.probe = dw_mipi_dsi_probe,
|
.probe = dw_mipi_dsi_probe,
|
||||||
.ops = &dw_mipi_dsi_ops,
|
.ops = &dw_mipi_dsi_ops,
|
||||||
.priv_auto_alloc_size = sizeof(struct dw_mipi_dsi),
|
.priv_auto_alloc_size = sizeof(struct dw_mipi_dsi),
|
||||||
|
@ -57,9 +57,6 @@ static void mxs_lcd_init(u32 fb_addr, struct ctfb_res_modes *mode, int bpp)
|
|||||||
uint32_t word_len = 0, bus_width = 0;
|
uint32_t word_len = 0, bus_width = 0;
|
||||||
uint8_t valid_data = 0;
|
uint8_t valid_data = 0;
|
||||||
|
|
||||||
/* Kick in the LCDIF clock */
|
|
||||||
mxs_set_lcdclk(MXS_LCDIF_BASE, PS2KHZ(mode->pixclock));
|
|
||||||
|
|
||||||
/* Restart the LCDIF block */
|
/* Restart the LCDIF block */
|
||||||
mxs_reset_block(®s->hw_lcdif_ctrl_reg);
|
mxs_reset_block(®s->hw_lcdif_ctrl_reg);
|
||||||
|
|
||||||
@ -130,6 +127,9 @@ static void mxs_lcd_init(u32 fb_addr, struct ctfb_res_modes *mode, int bpp)
|
|||||||
/* FIFO cleared */
|
/* FIFO cleared */
|
||||||
writel(LCDIF_CTRL1_FIFO_CLEAR, ®s->hw_lcdif_ctrl1_clr);
|
writel(LCDIF_CTRL1_FIFO_CLEAR, ®s->hw_lcdif_ctrl1_clr);
|
||||||
|
|
||||||
|
/* Kick in the LCDIF clock */
|
||||||
|
mxs_set_lcdclk(MXS_LCDIF_BASE, PS2KHZ(mode->pixclock));
|
||||||
|
|
||||||
/* RUN! */
|
/* RUN! */
|
||||||
writel(LCDIF_CTRL_RUN, ®s->hw_lcdif_ctrl_set);
|
writel(LCDIF_CTRL_RUN, ®s->hw_lcdif_ctrl_set);
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/arch/gpio.h>
|
#include <asm/arch/gpio.h>
|
||||||
#include <dm/device-internal.h>
|
#include <dm/device-internal.h>
|
||||||
|
#include <dm/lists.h>
|
||||||
#include <linux/iopoll.h>
|
#include <linux/iopoll.h>
|
||||||
#include <power/regulator.h>
|
#include <power/regulator.h>
|
||||||
|
|
||||||
@ -399,6 +400,18 @@ static int stm32_dsi_set_backlight(struct udevice *dev, int percent)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int stm32_dsi_bind(struct udevice *dev)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = device_bind_driver_to_node(dev, "dw_mipi_dsi", "dsihost",
|
||||||
|
dev_ofnode(dev), NULL);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
return dm_scan_fdt_dev(dev);
|
||||||
|
}
|
||||||
|
|
||||||
static int stm32_dsi_probe(struct udevice *dev)
|
static int stm32_dsi_probe(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct stm32_dsi_priv *priv = dev_get_priv(dev);
|
struct stm32_dsi_priv *priv = dev_get_priv(dev);
|
||||||
@ -483,7 +496,7 @@ U_BOOT_DRIVER(stm32_dsi) = {
|
|||||||
.name = "stm32-display-dsi",
|
.name = "stm32-display-dsi",
|
||||||
.id = UCLASS_VIDEO_BRIDGE,
|
.id = UCLASS_VIDEO_BRIDGE,
|
||||||
.of_match = stm32_dsi_ids,
|
.of_match = stm32_dsi_ids,
|
||||||
.bind = dm_scan_fdt_dev,
|
.bind = stm32_dsi_bind,
|
||||||
.probe = stm32_dsi_probe,
|
.probe = stm32_dsi_probe,
|
||||||
.ops = &stm32_dsi_ops,
|
.ops = &stm32_dsi_ops,
|
||||||
.priv_auto_alloc_size = sizeof(struct stm32_dsi_priv),
|
.priv_auto_alloc_size = sizeof(struct stm32_dsi_priv),
|
||||||
|
Loading…
Reference in New Issue
Block a user