mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
serial: 16550: Add port type as driver data
Add driver data to each compatible string to identify the type of the port. Since all the ports in the driver are entirely compatible with 16550 for now, all are marked with PORT_NS16550. But, there are ports which have specific quirks, like the JZ4780 UART, which do not have any DT property to denote the quirks. Instead, Linux uses the compatible string to discern such ports and enable the necessary quirks. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
65f83802b7
commit
79fd928188
1 changed files with 16 additions and 10 deletions
|
@ -360,6 +360,12 @@ int ns16550_serial_probe(struct udevice *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL)
|
||||
enum {
|
||||
PORT_NS16550 = 0,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||
int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
|
||||
{
|
||||
|
@ -453,16 +459,16 @@ const struct dm_serial_ops ns16550_serial_ops = {
|
|||
* compatible string to your dts.
|
||||
*/
|
||||
static const struct udevice_id ns16550_serial_ids[] = {
|
||||
{ .compatible = "ns16550" },
|
||||
{ .compatible = "ns16550a" },
|
||||
{ .compatible = "nvidia,tegra20-uart" },
|
||||
{ .compatible = "snps,dw-apb-uart" },
|
||||
{ .compatible = "ti,omap2-uart" },
|
||||
{ .compatible = "ti,omap3-uart" },
|
||||
{ .compatible = "ti,omap4-uart" },
|
||||
{ .compatible = "ti,am3352-uart" },
|
||||
{ .compatible = "ti,am4372-uart" },
|
||||
{ .compatible = "ti,dra742-uart" },
|
||||
{ .compatible = "ns16550", .data = PORT_NS16550 },
|
||||
{ .compatible = "ns16550a", .data = PORT_NS16550 },
|
||||
{ .compatible = "nvidia,tegra20-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "snps,dw-apb-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "ti,omap2-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "ti,omap3-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "ti,omap4-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "ti,am3352-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "ti,am4372-uart", .data = PORT_NS16550 },
|
||||
{ .compatible = "ti,dra742-uart", .data = PORT_NS16550 },
|
||||
{}
|
||||
};
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue