[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdZKW9Pn4qJ_Fq=-VFk4KJLmoBqsNooU8bhLE1K4F7STtQ@mail.gmail.com>
Date: Fri, 12 Sep 2025 09:39:39 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Gary Yang <gary.yang@...tech.com>
Cc: robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
cix-kernel-upstream@...tech.com
Subject: Re: [v2 2/3] dt-bindings: pinctrl: Add cix,sky1-pinctrl
Hi Gary,
thanks for your patch!
Overall this is starting to look good.
Please make the bindings patch 1/3 because we usually put the bindings
first.
Some comments below!
On Fri, Sep 12, 2025 at 8:06 AM Gary Yang <gary.yang@...tech.com> wrote:
> The pin-controller is used to control the Soc pins.
> There are two pin-controllers on Cix Sky1 platform.
> One is used under S0 state, the other is used under
> S5 state.
>
> Signed-off-by: Gary Yang <gary.yang@...tech.com>
(...)
> +# Client device subnode's properties
> +patternProperties:
> + 'pins$':
> + type: object
> + additionalProperties: false
> + patternProperties:
> + '(^pins|pins?$)':
> + type: object
> + additionalProperties: false
> + description:
> + A pinctrl node should contain at least one subnodes representing the
> + pinctrl groups available on the machine. Each subnode will list the
> + pins it needs, and how they should be configured, with regard to muxer
> + configuration, pullups, and drive strength.
I'm not sure the binding maintainers want this info here, if the same is inside
pincfg-node.yaml, I would just skip it.
> + $ref: /schemas/pinctrl/pincfg-node.yaml
> +
> + properties:
> + pinmux:
> + description:
> + Integer array, represents gpio pin number and mux setting.
> + Supported pin number and mux varies for different SoCs, and are
> + defined as macros in arch/arm64/boot/dts/cix/sky1-pinfunc.h directly.
No reference to arch/arm64 in the bindings please. Just
drop this.
The bindings are used by U-Boot and FreeBSD as well so these
developers will be confused by any Linux-specific references.
> +
> + bias-disable: true
> +
> + bias-pull-up: true
> +
> + bias-pull-down: true
> +
> + drive-strength:
> + description:
> + Can support 15 levels, from DS_LEVEL1 to DS_LEVEL15.
> + See arch/arm64/boot/dts/cix/sky1-pinfunc.h for valid arguments.
Same thing.
> +
> + required:
> + - pinmux
> +
> +additionalProperties: false
> +
> +examples:
> + # Pinmux controller node
> + - |
> + #define CIX_PAD_GPIO012_FUNC_GPIO012 (11 << 8 | 0x0)
> + #define DS_LEVEL4 (4)
> + iomuxc: pinctrl@...0000 {
> + compatible = "cix,sky1-iomuxc";
> + reg = <0x4170000 0x1000>;
> +
> + wifi_vbat_gpio: wifi-vbat-gpio-pins {
> + pins-wifi-vbat-gpio {
> + pinmux = <CIX_PAD_GPIO012_FUNC_GPIO012>;
> + bias-pull-up;
> + drive-strength = <DS_LEVEL4>;
> + };
> + };
> + };
This looks good to me, I don't know if the bindings maintainers have
opinions on the placement of defines in examples.
Yours,
Linus Walleij
Powered by blists - more mailing lists