Re: [PATCH v2] dt-bindings: net: ti,davinci-emac: Convert to DT schema
From: Rob Herring
Date: Mon Aug 31 2026 - 10:33:54 EST
On Tue, Aug 18, 2026 at 05:00:59AM +0530, Bhargav Joshi wrote:
> 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 <j.bhargav.u@xxxxxxxxx>
> ---
> Changes in v2:
> - Remove original text binding that was left in v1
> - Link to v1: https://lore.kernel.org/r/20260817-ti-davinci-emac-v1-1-022678d966e9@xxxxxxxxx
> ---
> .../devicetree/bindings/net/davinci_emac.txt | 44 --------
> .../devicetree/bindings/net/ti,davinci-emac.yaml | 113 +++++++++++++++++++++
> 2 files changed, 113 insertions(+), 44 deletions(-)
> 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 <tony@xxxxxxxxxxx>
> +
> +properties:
> + compatible:
> + enum:
> + - ti,davinci-dm6467-emac
> + - ti,am3517-emac
> + - ti,dm816-emac
> +
> + reg:
> + minItems: 1
> + maxItems: 2
Need to define what each entry is and then a conditional schema for when
it is 1 entry or 2 entries.
> +
> + 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: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f
> change-id: 20260817-ti-davinci-emac-7ec97feca43e
>
> Best regards,
> --
> Bhargav
>