diff mbox series

[v3,1/2] dt-bindings: clock: sophgo: Add top misc controller of CV18XX/SG200X series SoC

Message ID PH7PR20MB4962FFFB586489154B1403D6BB4E2@PH7PR20MB4962.namprd20.prod.outlook.com
State Changes Requested
Headers show
Series riscv: sophgo: cv18xx: add top misc system controller | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Inochi Amaoto Feb. 14, 2024, 6:33 a.m. UTC
CV18XX/SG200X series SoCs have a special top misc system controller,
which provides register access for several devices. In addition to
register access, this system controller also contains some subdevices
(such as dmamux).

Add bindings for top misc controller of CV18XX/SG200X series SoC.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
---
 .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 40 +++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml

--
2.43.1

Comments

Rob Herring Feb. 15, 2024, 3:13 p.m. UTC | #1
On Wed, Feb 14, 2024 at 02:33:14PM +0800, Inochi Amaoto wrote:
> CV18XX/SG200X series SoCs have a special top misc system controller,
> which provides register access for several devices. In addition to
> register access, this system controller also contains some subdevices
> (such as dmamux).
> 
> Add bindings for top misc controller of CV18XX/SG200X series SoC.
> 
> Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
> ---
>  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 40 +++++++++++++++++++
>  1 file changed, 40 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> 
> diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> new file mode 100644
> index 000000000000..619237532801
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> @@ -0,0 +1,40 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sophgo CV1800/SG2000 SoC top system controller
> +
> +maintainers:
> +  - Inochi Amaoto <inochiama@outlook.com>
> +
> +description:
> +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
> +  register access to configure related modules.
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: sophgo,cv1800-top-syscon
> +      - const: syscon
> +      - const: simple-mfd

You have to define child nodes to be a simple-mfd.

You could drop it, but I now suspect your binding is incomplete.

Rob
Inochi Amaoto Feb. 15, 2024, 11:56 p.m. UTC | #2
>On Wed, Feb 14, 2024 at 02:33:14PM +0800, Inochi Amaoto wrote:
>> CV18XX/SG200X series SoCs have a special top misc system controller,
>> which provides register access for several devices. In addition to
>> register access, this system controller also contains some subdevices
>> (such as dmamux).
>>
>> Add bindings for top misc controller of CV18XX/SG200X series SoC.
>>
>> Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
>> ---
>>  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 40 +++++++++++++++++++
>>  1 file changed, 40 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>> new file mode 100644
>> index 000000000000..619237532801
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>> @@ -0,0 +1,40 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Sophgo CV1800/SG2000 SoC top system controller
>> +
>> +maintainers:
>> +  - Inochi Amaoto <inochiama@outlook.com>
>> +
>> +description:
>> +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
>> +  register access to configure related modules.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - const: sophgo,cv1800-top-syscon
>> +      - const: syscon
>> +      - const: simple-mfd
>
>You have to define child nodes to be a simple-mfd.
>
>You could drop it, but I now suspect your binding is incomplete.
>
>Rob

Hi Rob,

I have a small questions: Can I drop "simple-mfd" and just add it
when the new subdevice is added? I know the binding is just a example,
but it may be better to follow the actual SoC configuration.
In addition, most device node should reference this node by using
vendor property, and only at most one (or two) subdevices. So adding
simple-mfd property can be delayed, dt node itself could be more
important.

Regards,
Inochi
Krzysztof Kozlowski Feb. 17, 2024, 2:32 p.m. UTC | #3
On 16/02/2024 00:56, Inochi Amaoto wrote:
>> On Wed, Feb 14, 2024 at 02:33:14PM +0800, Inochi Amaoto wrote:
>>> CV18XX/SG200X series SoCs have a special top misc system controller,
>>> which provides register access for several devices. In addition to
>>> register access, this system controller also contains some subdevices
>>> (such as dmamux).
>>>
>>> Add bindings for top misc controller of CV18XX/SG200X series SoC.
>>>
>>> Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
>>> ---
>>>  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 40 +++++++++++++++++++
>>>  1 file changed, 40 insertions(+)
>>>  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>> new file mode 100644
>>> index 000000000000..619237532801
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>> @@ -0,0 +1,40 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Sophgo CV1800/SG2000 SoC top system controller
>>> +
>>> +maintainers:
>>> +  - Inochi Amaoto <inochiama@outlook.com>
>>> +
>>> +description:
>>> +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
>>> +  register access to configure related modules.
>>> +
>>> +properties:
>>> +  compatible:
>>> +    items:
>>> +      - const: sophgo,cv1800-top-syscon
>>> +      - const: syscon
>>> +      - const: simple-mfd
>>
>> You have to define child nodes to be a simple-mfd.
>>
>> You could drop it, but I now suspect your binding is incomplete.
>>
>> Rob
> 
> Hi Rob,
> 
> I have a small questions: Can I drop "simple-mfd" and just add it
> when the new subdevice is added? I know the binding is just a example,

No, because bindings should be complete.


Best regards,
Krzysztof
Inochi Amaoto Feb. 20, 2024, 10:37 a.m. UTC | #4
>On 16/02/2024 00:56, Inochi Amaoto wrote:
>>> On Wed, Feb 14, 2024 at 02:33:14PM +0800, Inochi Amaoto wrote:
>>>> CV18XX/SG200X series SoCs have a special top misc system controller,
>>>> which provides register access for several devices. In addition to
>>>> register access, this system controller also contains some subdevices
>>>> (such as dmamux).
>>>>
>>>> Add bindings for top misc controller of CV18XX/SG200X series SoC.
>>>>
>>>> Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
>>>> ---
>>>>  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 40 +++++++++++++++++++
>>>>  1 file changed, 40 insertions(+)
>>>>  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>>> new file mode 100644
>>>> index 000000000000..619237532801
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
>>>> @@ -0,0 +1,40 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Sophgo CV1800/SG2000 SoC top system controller
>>>> +
>>>> +maintainers:
>>>> +  - Inochi Amaoto <inochiama@outlook.com>
>>>> +
>>>> +description:
>>>> +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
>>>> +  register access to configure related modules.
>>>> +
>>>> +properties:
>>>> +  compatible:
>>>> +    items:
>>>> +      - const: sophgo,cv1800-top-syscon
>>>> +      - const: syscon
>>>> +      - const: simple-mfd
>>>
>>> You have to define child nodes to be a simple-mfd.
>>>
>>> You could drop it, but I now suspect your binding is incomplete.
>>>
>>> Rob
>>
>> Hi Rob,
>>
>> I have a small questions: Can I drop "simple-mfd" and just add it
>> when the new subdevice is added? I know the binding is just a example,
>
>No, because bindings should be complete.
>
>
>Best regards,
>Krzysztof
>

Thanks. And please see
https://lore.kernel.org/linux-kernel/PH7PR20MB49624AFE44E26F26490DC827BB502@PH7PR20MB4962.namprd20.prod.outlook.com/T/#t.
This new patch series includes this binding.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
new file mode 100644
index 000000000000..619237532801
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
@@ -0,0 +1,40 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sophgo CV1800/SG2000 SoC top system controller
+
+maintainers:
+  - Inochi Amaoto <inochiama@outlook.com>
+
+description:
+  The Sophgo CV1800/SG2000 SoC top misc system controller provides
+  register access to configure related modules.
+
+properties:
+  compatible:
+    items:
+      - const: sophgo,cv1800-top-syscon
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    syscon@3000000 {
+      compatible = "sophgo,cv1800-top-syscon",
+             "syscon", "simple-mfd";
+      reg = <0x03000000 0x1000>;
+    };
+
+...