Re: [PATCH V2 1/2] dt-bindings: syscon: Add syscon-names to refer to syscon easily

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 20, 2019 at 11:41:47PM +0800, Orson Zhai wrote:
> Make life easier when syscon consumer want to access multiple syscon
> nodes with dozens of items.
> Add syscon-names and relative properties to help to manage different
> cases when accessing more than one syscon node even with arguments.
> 
> Signed-off-by: Orson Zhai <orson.zhai@xxxxxxxxxx>
> ---
>  .../devicetree/bindings/mfd/syscon.txt        | 43 +++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/syscon.txt b/Documentation/devicetree/bindings/mfd/syscon.txt
> index 25d9e9c2fd53..4c7bdb74bb0a 100644
> --- a/Documentation/devicetree/bindings/mfd/syscon.txt
> +++ b/Documentation/devicetree/bindings/mfd/syscon.txt
> @@ -30,3 +30,46 @@ hwlock1: hwspinlock@40500000 {
>         reg = <0x40500000 0x1000>;
>         #hwlock-cells = <1>;
>  };
> +
> +
> +
> +==Syscon Name==
> +
> +Syscon name is a helper to be used in consumer nodes who refer to system
> +controller node. It provides a way to refer to syscon node by names with
> +phandle args in syscon consumer node. It will help people who have a lot
> +of syscon references to be managed. It is not a must feature and has no
> +effect to syscon node itself at all.
> +
> +Required properties:
> +- syscons: List of phandles and any number of arguments if needed. Arguments
> +  is specific to differnet vendors and its usage should be described at each
> +  vendor's bindings. For example: In Unisoc SoCs, the 1st arg will be treated
> +  as register address offset and the 2nd is bit mask.
> +
> +- syscon-names:        List of syscon node name strings sorted in the same order as
> +  what it represents in property syscons.
> +
> +Optional property:
> +- #.*-cells: Represents the number of arguments in single phandle in syscons
> +  list. ".*" is vendor specific. If this property is not set, default value
> +  will be 0.

This breaks the normal pattern of how '#.*-cells' works. While Arnd 
suggests removing it, I don't think that works well either with having a 
generic 'syscons' property. That means every syscon in a system has to 
have the same number of cells.

I don't really want to see syscon binding expanded. Really, I'd like 
'syscon' to go away. It's nothing more than a flag to create a regmap.

I think it is better to keep the property names specific to exactly what 
the functionality is for each syscon phandle rather than a generic 
binding.

What are the eamples of where you want to use this? Keep in mind that 
this sort of connection should *only* be used for things that have no 
other binding and kernel subsystem.

Rob



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux