From: Frank Li <Frank.li@oss.nxp.com>
To: Chancel Liu <chancel.liu@oss.nxp.com>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
Frank.Li@nxp.com, s.hauer@pengutronix.de, kernel@pengutronix.de,
festevam@gmail.com, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 1/4] dt-bindings: connector: Add fsl,aud-io-slot binding
Date: Tue, 3 Nov 2026 21:33:46 -0600 [thread overview]
Message-ID: <auqnmulXoW-iFYJI@SMW015318> (raw)
In-Reply-To: <5815460c-f8f7-48d6-a0f2-3ed56e20bba7@oss.nxp.com>
On Wed, Nov 04, 2026 at 10:13:30AM +0800, Chancel Liu wrote:
> >> +properties:
> >> + compatible:
> >> + oneOf:
> >> + - items:
> >> + - enum:
> >> + - fsl,imx952-evk-aud-io
> >> + - const: fsl,imx95-19x19-evk-aud-io
> >> + - const: fsl,imx95-19x19-evk-aud-io
> >> +
> >> + gpio-controller: true
> >
> > I remember Rob said needn't gpio-controller if gpio-map exist
> >
>
> gpio-controller is really confusing in such nexus node. However if
> remove this property, dt_binding_check reports:
> linux-next/Documentation/devicetree/bindings/connector/fsl,aud-io-slot.yaml:
> properties: 'gpio-controller' is a dependency of '#gpio-cells'
> from schema $id: http://devicetree.org/meta-schemas/gpios.yaml#
>
> Based on Rob's explanation:
> https://lore.kernel.org/all/20260918192012.GA1465432-robh@kernel.org/
> that a controller property and its corresponding map are mutually
> exclusive, I think interrupt-controller should be dropped as well.
>
> >> +
> >> + '#gpio-cells':
> >> + const: 2
> >> +
> >> + gpio-map:
> >> + minItems: 1
> >> + maxItems: 3
> >> +
> >> + gpio-map-mask:
> >> + items:
> >> + - const: 0xf
> >> + - const: 0x0
> >> +
> >> + gpio-map-pass-thru:
> >> + items:
> >> + - const: 0x0
> >> + - const: 0x1
> >
> > I think you should pass thru whole u32 0xffffffff in case GPIO add
> > new flags in future.
> >
>
> I found this was also been clarified by Rob:
> https://lore.kernel.org/all/20260918192012.GA1465432-robh@kernel.org/
> Okay. I will use 0xffffffff to match the GPIO index exactly and to pass
> through the entire GPIO flags cell.
>
> >> +
> >> + '#clock-cells':
> >> + const: 1
> >> +
> >> + clock-map:
> >> + minItems: 1
> >> + maxItems: 2
> >> +
> >> + '#address-cells':
> >> + const: 0
> >
> > There are not child node, why need #address-cells?
> >
>
> Otherwise:
> Documentation/devicetree/bindings/connector/fsl,aud-io-slot.example.dts:20.19-32.11:
> Warning (interrupt_map): /example-0/connector: Missing '#address-cells'
> in interrupt-map provider
>
> >> +
> >> + interrupt-controller: true
> >> +
> >> + '#interrupt-cells':
> >> + const: 2
> >> +
> >> + interrupt-map:
> >> + minItems: 1
> >> + maxItems: 2
> >> +
> >> + interrupt-map-mask:
> >> + items:
> >> + - const: 0xf
> >> + - const: 0x0
> >> +
> >> +allOf:
> >> + - $ref: /schemas/gpio/gpio-nexus-node.yaml#
> >> + - $ref: /schemas/clock/clock-nexus-node.yaml#
> >> +
> >> +required:
> >> + - compatible
> >> + - gpio-controller
> >> + - '#gpio-cells'
> >> + - gpio-map
> >> + - gpio-map-mask
> >> + - gpio-map-pass-thru
> >> +
> >> +additionalProperties: false
> >> +
> >> +examples:
> >> + - |
> >> + #include <dt-bindings/interrupt-controller/irq.h>
> >> +
> >> + connector {
> >> + compatible = "fsl,imx95-19x19-evk-aud-io";
> >> + gpio-controller;
> >> + #gpio-cells = <2>;
> >> + gpio-map = <0 0 &gpio1 8 1>;
> >> + gpio-map-mask = <0xf 0x0>;
> >> + gpio-map-pass-thru = <0x0 0x1>;
> >> + #clock-cells = <1>;
> >> + clock-map = <0 &clk 1>;
> >> + #address-cells = <0>;
> >> + interrupt-controller;
> >> + #interrupt-cells = <2>;
> >> + interrupt-map-mask = <0xf 0x0>;
> >> + interrupt-map = <0 0 &gpio2 27 IRQ_TYPE_LEVEL_LOW>;
> > ^ missed count?
>
> Sorry I don't understand what you mean by "missed count". With
> #interrupt-cells = <2>, I understand the two cells before &gpio2 to be
> the child interrupt specifier, while the two cells after it are the
> parent interrupt specifier. Could you please clarify which cell is missing?
forget it. I confused with msi-map.
Frank
>
> Regards,
> Chancel Liu
>
next prev parent reply other threads:[~2026-11-04 3:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 7:04 [PATCH v3 0/4] arm64: dts: freescale: Add IMX-AUD-IO add-on board support Chancel Liu
2026-11-03 7:04 ` [PATCH v3 1/4] dt-bindings: connector: Add fsl,aud-io-slot binding Chancel Liu
2026-11-03 15:26 ` Frank Li
2026-11-04 2:13 ` Chancel Liu
2026-11-04 3:33 ` Frank Li [this message]
2026-11-03 7:04 ` [PATCH v3 2/4] arm64: dts: freescale: imx95-19x19-evk: Add IMX-AUD-IO board support Chancel Liu
2026-11-03 7:04 ` [PATCH v3 3/4] arm64: dts: freescale: imx952-evk: " Chancel Liu
2026-11-03 7:04 ` [PATCH v3 4/4] arm64: dts: freescale: Add common DTS overlay for IMX-AUD-IO add-on board Chancel Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=auqnmulXoW-iFYJI@SMW015318 \
--to=frank.li@oss.nxp.com \
--cc=Frank.Li@nxp.com \
--cc=chancel.liu@oss.nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®