[PATCH v2 5/5] arm64: dts: uniphier: Add NX1 SoC and boards support

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Tue Nov 8 07:11:59 PST 2022


On 08/11/2022 15:30, Kunihiko Hayashi wrote:
> Hi Krzysztof,
> 
> On 2022/11/08 20:13, Krzysztof Kozlowski wrote:
>> On 07/11/2022 11:34, Kunihiko Hayashi wrote:
>>> Initial version of devicetree sources for NX1 SoC and boards.
>>>
>>> NX1 SoC belongs to the UniPhier armv8 architecture platform, and is
>>> designed for IoT and AI/ML application fields.
>>>
>>
>>> +
>>> +		soc_glue: syscon at 1f800000 {
>>> +			compatible = "socionext,uniphier-nx1-soc-glue",
>>> +				     "simple-mfd", "syscon";
>>> +			reg = <0x1f800000 0x2000>;
>>> +
>>> +			pinctrl: pinctrl {
>>> +				compatible = "socionext,uniphier-nx1-pinctrl";
>>
>> So instead of documenting the hardware precisily, you have one big bag
>> for everything under simple-mfd. This is not how the SoC should be
>> described in DTS.
> 
> Sorry I don't understand. This is inherited from the previous descriptions,
> but is there some example to express DTS correctly about that?

I think yes, although it actually depends what is this hardware.
Generally speaking, do not use simple-mfd and syscon when these are not
really simple devices. There are quite many in your DTS, which got my
attention. Instead - have regular device with or without children.

There is no real need to have this a simple-mfd with one children
without any resources (no address space, no clocks, no interrupts, nothing).

Why this syscon/mfd and pinctrl is not a regular, one device?

> 
>>
>>> +			};
>>> +		};
>>> +
>>> +		soc-glue at 1f900000 {
>>> +			compatible = "simple-mfd";
>>
>> No, it is not allowed on its own. You need a specific compatible and
>> bindings describing its children.
> 
> I saw the definition of "simple-mfd" itself is only in mfd/mfd.txt.
> 
> Currently there are only efuse devices as children, and this space means
> nothing. I think it had better define the devices directly.

You need to start describe the hardware. efuse is an efuse, not MFD.
pinctrl is pinctrl not MFD + pinctrl.

Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list