[PATCH] dt-bindings: net: ti,davinci-emac: Convert to DT schema
Bhargav Joshi <[email protected]>
| Newsgroups | gmane.linux.drivers.devicetree,gmane.linux.network,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
Convert Texas Instruments DaVinci EMAC binding from text to DT schema. Changes from the original binding: - Add clocks, clock-names, syscon, power-domains, and ti,hwmods properties that are used in existing DTS files but were undocumented. - Disallow syscon and clock-names for ti,davinci-dm6467-emac since they are not applicable to that SoC. - Allow 1-2 reg entries (DM816 uses two). - Make clocks a required property as driver probe fails without it. - Mark ti,hwmods as deprecated. Signed-off-by: Bhargav Joshi <[email protected]> --- .../devicetree/bindings/net/ti,davinci-emac.yaml | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/Documentation/devicetree/bindings/net/ti,davinci-emac.yaml b/Documentation/devicetree/bindings/net/ti,davinci-emac.yaml new file mode 100644 index 000000000000..cb1394f6f2d4 --- /dev/null +++ b/Documentation/devicetree/bindings/net/ti,davinci-emac.yaml @@ -0,0 +1,113 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/ti,davinci-emac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI DaVinci EMAC Ethernet Controller + +maintainers: + - Tony Lindgren <[email protected]> + +properties: + compatible: + enum: + - ti,davinci-dm6467-emac + - ti,am3517-emac + - ti,dm816-emac + + reg: + minItems: 1 + maxItems: 2 + + interrupts: + items: + - description: Receive Threshold + - description: Receive + - description: Transmit + - description: Miscellaneous + + clocks: + maxItems: 1 + + clock-names: + const: ick + + ti,davinci-ctrl-reg-offset: + $ref: /schemas/types.yaml#/definitions/uint32 + description: offset to control register + + ti,davinci-ctrl-mod-reg-offset: + $ref: /schemas/types.yaml#/definitions/uint32 + description: offset to control module register + + ti,davinci-ctrl-ram-offset: + $ref: /schemas/types.yaml#/definitions/uint32 + description: offset to control module ram + + ti,davinci-ctrl-ram-size: + $ref: /schemas/types.yaml#/definitions/uint32 + description: size of control module ram + + ti,davinci-rmii-en: + $ref: /schemas/types.yaml#/definitions/uint8 + description: Set to 1 to enable RMII (Reduced MII) mode. + + ti,davinci-no-bd-ram: + type: boolean + description: + Indicates that the EMAC does not have on-chip buffer descriptor RAM. + + syscon: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to a syscon node providing access to the System Control + Module (SCM) registers. Used on AM3517 and DM816x to read + factory-programmed MAC addresses from eFuse registers. + + ti,hwmods: + $ref: /schemas/types.yaml#/definitions/string + description: TI hwmod name + deprecated: true + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - ti,davinci-ctrl-reg-offset + - ti,davinci-ctrl-mod-reg-offset + - ti,davinci-ctrl-ram-offset + - ti,davinci-ctrl-ram-size + - clocks + +allOf: + - $ref: ethernet-controller.yaml# + - if: + properties: + compatible: + contains: + const: ti,davinci-dm6467-emac + then: + properties: + syscon: false + clock-names: false + +unevaluatedProperties: false + +examples: + - | + ethernet@220000 { + compatible = "ti,davinci-dm6467-emac"; + reg = <0x220000 0x4000>; + ti,davinci-ctrl-reg-offset = <0x3000>; + ti,davinci-ctrl-mod-reg-offset = <0x2000>; + ti,davinci-ctrl-ram-offset = <0>; + ti,davinci-ctrl-ram-size = <0x2000>; + local-mac-address = [ 00 00 00 00 00 00 ]; + interrupts = <33>, <34>, <35>, <36>; + clocks = <&psc1 5>; + power-domains = <&psc1 5>; + }; --- base-commit: fd923b32d7614047c8b2acecae3915ec94f7afab change-id: 20260817-ti-davinci-emac-7ec97feca43e Best regards, -- Bhargav