Convert the serial slave-device Device Tree binding documentation to json-schema, and incorporate it into the generic serial bindings. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> --- .../devicetree/bindings/serial/serial.yaml | 53 +++++++++++++++++++ .../bindings/serial/slave-device.txt | 45 ---------------- MAINTAINERS | 2 +- 3 files changed, 54 insertions(+), 46 deletions(-) delete mode 100644 Documentation/devicetree/bindings/serial/slave-device.txt diff --git a/Documentation/devicetree/bindings/serial/serial.yaml b/Documentation/devicetree/bindings/serial/serial.yaml index d408335319f00215..7381966449b62deb 100644 --- a/Documentation/devicetree/bindings/serial/serial.yaml +++ b/Documentation/devicetree/bindings/serial/serial.yaml @@ -7,6 +7,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: Serial Interface Generic DT Bindings maintainers: + - Rob Herring <robh@xxxxxxxxxx> - Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> description: @@ -59,6 +60,45 @@ properties: "rts-gpios" above, unless support is provided to switch between modes dynamically. +patternProperties: + "^(bluetooth|ethernet|gnss|nfc|wifi)$": + type: object + + description: + Serial attached devices shall be a child node of the host UART device the + slave device is attached to. It is expected that the attached device is + the only child node of the UART device. The slave device node name shall + reflect the generic type of device for the node. + + properties: + compatible: + description: + Compatible of the device connnected to the serial port. + + max-speed: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + The maximum baud rate the device operates at. This should only be + present if the maximum is less than the slave device can support. For + example, a particular board has some signal quality issue or the host + processor can't support higher baud rates. + + current-speed: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + The current baud rate the device operates at. This should only be + present in case a driver has no chance to know the baud rate of the + slave device. + Examples: + * device supports auto-baud + * the rate is setup by a bootloader and there is no way to reset + the device + * device baud rate is configured by its firmware but there is no + way to request the actual settings + + required: + - compatible + examples: - | #include <dt-bindings/gpio/gpio.h> @@ -93,3 +133,16 @@ examples: power-domains = <&pd_a3sp>; uart-has-rtscts; }; + + - | + serial@1234 { + compatible = "ns16550a"; + reg = <0x1234 0x20>; + interrupts = <1>; + + bluetooth { + compatible = "brcm,bcm43341-bt"; + interrupt-parent = <&gpio>; + interrupts = <10>; + }; + }; diff --git a/Documentation/devicetree/bindings/serial/slave-device.txt b/Documentation/devicetree/bindings/serial/slave-device.txt deleted file mode 100644 index 40110e0196209fde..0000000000000000 --- a/Documentation/devicetree/bindings/serial/slave-device.txt +++ /dev/null @@ -1,45 +0,0 @@ -Serial Slave Device DT binding - -This documents the binding structure and common properties for serial -attached devices. Common examples include Bluetooth, WiFi, NFC and GPS -devices. - -Serial attached devices shall be a child node of the host UART device the -slave device is attached to. It is expected that the attached device is -the only child node of the UART device. The slave device node name shall -reflect the generic type of device for the node. - -Required Properties: - -- compatible : A string reflecting the vendor and specific device the node - represents. - -Optional Properties: - -- max-speed : The maximum baud rate the device operates at. This should - only be present if the maximum is less than the slave device - can support. For example, a particular board has some signal - quality issue or the host processor can't support higher - baud rates. -- current-speed : The current baud rate the device operates at. This should - only be present in case a driver has no chance to know - the baud rate of the slave device. - Examples: - * device supports auto-baud - * the rate is setup by a bootloader and there is no - way to reset the device - * device baud rate is configured by its firmware but - there is no way to request the actual settings - -Example: - -serial@1234 { - compatible = "ns16550a"; - interrupts = <1>; - - bluetooth { - compatible = "brcm,bcm43341-bt"; - interrupt-parent = <&gpio>; - interrupts = <10>; - }; -}; diff --git a/MAINTAINERS b/MAINTAINERS index 59c14ee9a917a794..5f5d074c7b3927a5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -15034,7 +15034,7 @@ SERIAL DEVICE BUS M: Rob Herring <robh@xxxxxxxxxx> L: linux-serial@xxxxxxxxxxxxxxx S: Maintained -F: Documentation/devicetree/bindings/serial/slave-device.txt +F: Documentation/devicetree/bindings/serial/serial.yaml F: drivers/tty/serdev/ F: include/linux/serdev.h -- 2.17.1