[PATCH v2 3/4] arm64: dts: nuvoton: Add pinctrl support for ma35d1

Jacky Huang ychuang570808 at gmail.com
Tue Nov 28 19:35:28 PST 2023


Dear Krzysztof,

Thanks for your review.

On 2023/11/28 下午 07:06, Krzysztof Kozlowski wrote:
> On 28/11/2023 11:45, Jacky Huang wrote:
>> Dear Krzysztof,
>>
>> Thanks for your review.
>>
>> On 2023/11/28 下午 05:34, Krzysztof Kozlowski wrote:
>>> On 28/11/2023 09:37, Jacky Huang wrote:
>>>>>> +			gpion: gpio at 40040340 {
>>>>>> +				reg = <0x340 0x40>;
>>>>>> +				interrupts = <GIC_SPI  105 IRQ_TYPE_LEVEL_HIGH>;
>>>>>> +				clocks = <&clk GPN_GATE>;
>>>>>> +				gpio-controller;
>>>>>> +				#gpio-cells = <2>;
>>>>>> +				interrupt-controller;
>>>>>> +				#interrupt-cells = <2>;
>>>>>> +			};
>>>>>> +
>>>>>> +			pcfg_default: pin-default {
>>>>>> +				slew-rate = <0>;
>>>>>> +				input-schmitt-disable;
>>>>>> +				bias-disable;
>>>>>> +				power-source = <1>;
>>>>>> +				drive-strength = <17100>;
>>>>>> +			};
>>>>> It does not look like you tested the DTS against bindings. Please run
>>>>> `make dtbs_check W=1` (see
>>>>> Documentation/devicetree/bindings/writing-schema.rst or
>>>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
>>>>> for instructions).
>>>>>
>>>>> Best regards,
>>>>> Krzysztof
>>>>>
>>>> I forgot to remove 'ma35d1-pinfunc.h' from my local copy.
>>>> After remove the '#include <dt-bindings/pinctrl/ma35d1-pinfunc.h>', it
>>>> can pass
>>>> the `make dtbs_check W=1` check.
>>>> I will fix it in the next version.
>>> Really? Then your bindings look wrong. Why do you mix MMIO nodes and
>>> non-MMIO in one device node?
>>>
>>> Best regards,
>>> Krzysztof
>>>
>> Yes, it did pass the 'dtbs_check'. I guess the tool does not detect such
>> issues.
>> Anyway, I will fix it in the next version.
> Hm, I see your bindings indeed allow pin-.* and unit addresses, so it is
> the binding issue.
>
> The examples you used as reference - xlnx,zynqmp-pinctrl.yaml and
> realtek,rtd1315e-pinctrl.yaml - do not mix these as you do.
>
> I don't understand why do you need them yet. I don't see any populate of
> children. There are no compatibles, either.
>
> Which part of your driver uses them exactly?
>
> Best regards,
> Krzysztof
>

I will move the 'pcfg_default: pin-default' from dtsi to dts, like this:

&pinctrl {
     pcfg_default: pin-default {
         slew-rate = <0>;
         input-schmitt-disable;
         bias-disable;
         power-source = <1>;
         drive-strength = <17100>;
     };

     uart-grp {
         pinctrl_uart0: uart0-pins {
             nuvoton,pins = <4 14 1 &pcfg_default>,
                        <4 15 1 &pcfg_default>;
         };

         pinctrl_uart11: uart11-pins {
             nuvoton,pins = <11 0 2 &pcfg_default>,
                        <11 1 2 &pcfg_default>,
                        <11 2 2 &pcfg_default>,
                        <11 3 2 &pcfg_default>;
         };
...

I use the 'pin-' and just intent to define a generic pin configuration, 
such as the above 'pin-default'.


Best Regards,
Jacky Huang







More information about the linux-arm-kernel mailing list