ns16550: update compatible and reg-shift binding
PATCH 1/2 ns16550: update compatible and reg-shift binding
Update compatible and reg-shift in device tree binding.
--- doc/device-tree-bindings/serial/ns16550.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-)
doc/device-tree-bindings/serial/ns16550.txt +15 -2
@@ -3,8 +3,21 @@ NS16550 UART This UART driver supports many chip variants and is used in mamy SoCs. Required properties: -- compatible: "ns16550" or "nvidia,tegra20-uart" +- compatible: one of: + - "ns16550" + - "ns16550a" + - "nvidia,tegra20-uart" + - "snps,dw-apb-uart" + - "ti,omap2-uart" + - "ti,omap3-uart" + - "ti,omap4-uart" + - "ti,am3352-uart" + - "ti,am4372-uart" + - "ti,dra742-uart" - reg: start address and size of registers -- reg-shift: shift value indicating register size: 0=byte, 1=16bit,2=32bit etc. - clock-frequency: input clock frequency for the UART (used to calculate the baud rate divisor) + +Optional properties: +- reg-shift: shift value indicating register size: 0=byte, 1=16bit, 2=32bit etc. + default to 0 if not given.
Signature · 1 line
2.5.0
PATCH 2/2 ns16550: zap the rockchip serial compatible string
Zap the rockchip serial compatible string, because rockchip serial has "snps,dw-apb-uart" compatible string in the dts.
--- drivers/serial/ns16550.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/serial/ns16550.c +5 -1
@@ -424,11 +424,15 @@ const struct dm_serial_ops ns16550_serial_ops = { };#if CONFIG_IS_ENABLED (OF_CONTROL ) +/* +* Please consider existing compatible strings before adding a new +* one to keep this table compact. Or you may add a generic "ns16550" +* compatible string to your dts. +*/ static const struct udevice_id ns16550_serial_ids[] = { { .compatible ="ns16550" }, { .compatible ="ns16550a" }, { .compatible ="nvidia,tegra20-uart" }, - { .compatible ="rockchip,rk3036-uart" }, { .compatible ="snps,dw-apb-uart" }, { .compatible ="ti,omap2-uart" }, { .compatible = "ti,omap3-uart" },
Signature · 1 line
2.5.0
PATCH 2/2 ns16550: zap the rockchip serial compatible string
Quoted 7 lines · Thomas Chou
Zap the rockchip serial compatible string, because rockchip serial has "snps,dw-apb-uart" compatible string in the dts.
Signed-off-by Thomas Chou <[email protected]>--- drivers/serial/ns16550.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
PATCH 1/2 ns16550: update compatible and reg-shift binding
In reply to Thomas ChouQuoted 1 line · Thomas Chou
Update compatible and reg-shift in device tree binding.
Has this change been submitted to and accepted by the Linux kernel? That's where the official DT binding documents are stored. Honestly I think we should remove the copies in U-Boot to avoid confusion and forking.
The content of the change looks reasonable at a quick glance.
PATCH 1/2 ns16550: update compatible and reg-shift binding
Hi Stephen,
Quoted 9 lines · Stephen Warren
Quoted 1 line · Thomas Chou
Update compatible and reg-shift in device tree binding.
Has this change been submitted to and accepted by the Linux kernel? That's where the official DT binding documents are stored. Honestly I think we should remove the copies in U-Boot to avoid confusion and forking.
The content of the change looks reasonable at a quick glance.
These changes actually came from Linux kernel. They are scattered in several files. I included only those are prevalent to u-boot.
8250.txt
- compatible : one of:
- "ns8250"
- "ns16450"
- "ns16550a"
- "ns16550"
- "ns16750"
- "ns16850"
- For Tegra20, must contain "nvidia,tegra20-uart"
- For other Tegra, must contain '"nvidia,<chip>-uart", "nvidia,tegra20-uart"' where <chip> is tegra30, tegra114, tegra124, tegra132, or tegra210.
omap_serial.txt
- compatible : should be "ti,omap2-uart" for OMAP2 controllers
- compatible : should be "ti,omap3-uart" for OMAP3 controllers
- compatible : should be "ti,omap4-uart" for OMAP4 controllers
- compatible : should be "ti,am4372-uart" for AM437x controllers
- compatible : should be "ti,am3352-uart" for AM335x controllers
- compatible : should be "ti,dra742-uart" for DRA7x controllers
snps-dw-apb-uart.txt
- compatible : "snps,dw-apb-uart"
- reg-shift : quantity to shift the register offsets by. If this property is not present then the register offsets are not shifted.
I can change the description reg-shift property to above if this make it clearer.
I would agree that we can remove these copies of Linux kernel. Almost every dts binding I added to u-boot these months are copied from Linux kernel.
Best regards,
Thomas
PATCH 1/2 ns16550: update compatible and reg-shift binding
Quoted 20 lines · Thomas Chou
Hi Stephen,
Quoted 10 lines · Stephen Warren
Quoted 1 line · Thomas Chou
Update compatible and reg-shift in device tree binding.
Has this change been submitted to and accepted by the Linux kernel? That's where the official DT binding documents are stored. Honestly I think we should remove the copies in U-Boot to avoid confusion and forking.
The content of the change looks reasonable at a quick glance.
These changes actually came from Linux kernel. They are scattered in several files. I included only those are prevalent to u-boot.
8250.txt
- compatible : one of:
- "ns8250"
...
Quoted 3 lines
omap_serial.txt
- compatible : should be "ti,omap2-uart" for OMAP2 controllers
...
Quoted 5 lines
snps-dw-apb-uart.txt
- compatible : "snps,dw-apb-uart"
- reg-shift : quantity to shift the register offsets by. If this property is not present then the register offsets are not shifted.
If we are going to have DT binding definitions in U-Boot, we should at least keep the directory structure, filenames, and file content identical to the bindings in the Linux kernel.