Messages in this thread |  | | From | Chancel Liu <> | | Subject | RE: Re: [PATCH 2/5] dt-bindings: connector: Add fsl,io-connector binding | | Date | Mon, 18 May 2026 04:18:42 +0000 |
| |
> > +description: > > + The NXP I/O connector represents a physically present I/O connector > > +on the > > + base board. It acts as a nexus that exposes a constrained set of > > +I/O > > + resources, such as GPIOs, clocks, PWMs and interrupts, through > > +fixed > > + electrical wiring. All actual hardware providers reside on the base board. > > + The connector node only defines index-based mappings to those > providers. > > + > > +properties: > > + compatible: > > + const: fsl,io-connector > > Everything is IO. Everything is connector, so your compatible does not match > requirements from writing bindings. >
Yes, this compatible is too generic. I will rename the compatible to fsl,aud-io-connector.
> > + > > + gpio-controller: true > > + > > + '#gpio-cells': > > + const: 2 > > + > > + gpio-map: > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > You do not need to redefine the types. You need constraints, though. >
OK. I will add proper constraints.
> > + > > + gpio-map-mask: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + > > + gpio-map-pass-thru: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + > > + '#clock-cells': > > + const: 1 > > + > > + clock-map: > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > + > > + clock-map-mask: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + > > + clock-map-pass-thru: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > I do not see these defined anywhere. I also checked cover letter for > references for pulls to dtschema. >
Nexus nodes are already in the device-tree specification: https://github.com/devicetree-org/devicetree-specification/blob/v0.4/source/chapter2-devicetree-basics.rst#nexus-nodes-and-specifier-mapping For reference, current kernel has supported it: * Nexus OF support: commit bd6f2fd5a1d5 ("of: Support parsing phandle argument lists through a nexus node") * GPIO adoption: commit c11e6f0f04db ("gpio: Support gpio nexus dt bindings") * PWM adoption: commit e71e46a6f19c ("pwm: Add support for pwm nexus dt bindings") Clock adoption is ongoing: https://lore.kernel.org/all/20260327-schneider-v7-0-rc1-crypto-v1-10-5e6ff7853994@bootlin.com/
> > + > > + pwm-map: > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > + > > + pwm-map-mask: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + > > + pwm-map-pass-thru: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + > > + '#address-cells': > > + const: 0 > > + > > + interrupt-controller: true > > + > > + "#interrupt-cells": > > Use consistent quotes. >
I will fix it in next revision.
> > + const: 2 > > + > > + interrupt-map: true > > + > > + interrupt-map-mask: true > > + > > +required: > > + - compatible > > You need to require the properties. You have a FIXED connector, so it has > fixed set of features. > > Best regards, > Krzysztof
I will make gpio related properties required because they are mandatory for DT. Clock and interrupt mappings are board/configuration dependent so I prefer to use dependentRequired when they are present.
Regards, Chancel Liu
|  |