[PATCH v3 1/3] dt-bindings: serial: Add Loongson UART controller

zhenghaowei@loongson.cn posted 3 patches 1 year, 3 months ago
[PATCH v3 1/3] dt-bindings: serial: Add Loongson UART controller
Posted by zhenghaowei@loongson.cn 1 year, 3 months ago
From: Haowei Zheng <zhenghaowei@loongson.cn>

Add Loongson UART controller binding with DT schema format using
json-schema.

Signed-off-by: Haowei Zheng <zhenghaowei@loongson.cn>
---
 .../bindings/serial/loongson,uart.yaml        | 63 +++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/serial/loongson,uart.yaml

Changes in V2:

- Correct the schema formatting errors.

- file name changed from 'loongson-uart.yaml' to 'loongson,ls7a-uart.yaml'

- Replace 'loongson,loongson-uart' with 'loongson,ls7a-uart'.

Changes in V3:

- Change the filename from 'loongson,ls7a-uart.yaml' to 'loongson,uart.yaml'.

- Drop newly defined features: fractional-division, rts-invert, dtr-invert,
  cts-invert and dsr-invert.

- Add three specific SoC: 'loongson,ls7a-uart', 'loongson,ls3a5000-uart' and 
  'loongson,ls2k2000-uart'.

- Drop 'LOONGSON UART DRIVER' description in MAINTAINERS.

diff --git a/Documentation/devicetree/bindings/serial/loongson,uart.yaml b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
new file mode 100644
index 000000000000..19a65dd5be9f
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/loongson,uart.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Loongson UART
+
+maintainers:
+  - Haowei Zheng <zhenghaowei@loongson.cn>
+
+allOf:
+  - $ref: serial.yaml
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - loongson,ls7a-uart
+          - loongson,ls3a5000-uart
+          - loongson,ls2k2000-uart
+      - items:
+          - enum:
+              - loongson,ls2k1000-uart
+              - loongson,ls2k0500-uart
+          - const: loongson,ls7a-uart
+      - items:
+          - enum:
+              - loongson,ls2k1500-uart
+          - const: loongson,ls2k2000-uart
+      - items:
+          - enum:
+              - loongson,ls3a6000-uart
+          - const: loongson,ls3a5000-uart
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clock-frequency: true
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clock-frequency
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/clock/loongson,ls2k-clk.h>
+
+    serial@1fe20000 {
+        compatible = "loongson,ls2k1000-uart", "loongson,ls7a-uart";
+        reg = <0x1fe20000 0x10>;
+        clock-frequency = <125000000>;
+        interrupt-parent = <&liointc0>;
+        interrupts = <0x0 IRQ_TYPE_LEVEL_HIGH>;
+    };
-- 
2.43.0
Re: [PATCH v3 1/3] dt-bindings: serial: Add Loongson UART controller
Posted by Krzysztof Kozlowski 1 year, 3 months ago
On Mon, Aug 26, 2024 at 10:47:03AM +0800, zhenghaowei@loongson.cn wrote:
> From: Haowei Zheng <zhenghaowei@loongson.cn>
> 
> Add Loongson UART controller binding with DT schema format using
> json-schema.
> 
> Signed-off-by: Haowei Zheng <zhenghaowei@loongson.cn>
> ---
>  .../bindings/serial/loongson,uart.yaml        | 63 +++++++++++++++++++
>  1 file changed, 63 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/serial/loongson,uart.yaml
> 
> Changes in V2:
> 
> - Correct the schema formatting errors.
> 
> - file name changed from 'loongson-uart.yaml' to 'loongson,ls7a-uart.yaml'
> 
> - Replace 'loongson,loongson-uart' with 'loongson,ls7a-uart'.
> 
> Changes in V3:
> 
> - Change the filename from 'loongson,ls7a-uart.yaml' to 'loongson,uart.yaml'.
> 
> - Drop newly defined features: fractional-division, rts-invert, dtr-invert,
>   cts-invert and dsr-invert.
> 
> - Add three specific SoC: 'loongson,ls7a-uart', 'loongson,ls3a5000-uart' and 
>   'loongson,ls2k2000-uart'.
> 
> - Drop 'LOONGSON UART DRIVER' description in MAINTAINERS.
> 
> diff --git a/Documentation/devicetree/bindings/serial/loongson,uart.yaml b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
> new file mode 100644
> index 000000000000..19a65dd5be9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
> @@ -0,0 +1,63 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/loongson,uart.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Loongson UART
> +
> +maintainers:
> +  - Haowei Zheng <zhenghaowei@loongson.cn>
> +
> +allOf:
> +  - $ref: serial.yaml
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - enum:
> +          - loongson,ls7a-uart

Quick look tells me there is no such soc like ls7a. If there is such,
please point me to the DTSI.


> +          - loongson,ls3a5000-uart
> +          - loongson,ls2k2000-uart
> +      - items:
> +          - enum:
> +              - loongson,ls2k1000-uart
> +              - loongson,ls2k0500-uart
> +          - const: loongson,ls7a-uart

Just use real SoC names.

> +      - items:
> +          - enum:
> +              - loongson,ls2k1500-uart
> +          - const: loongson,ls2k2000-uart
> +      - items:
> +          - enum:
> +              - loongson,ls3a6000-uart
> +          - const: loongson,ls3a5000-uart

Best regards,
Krzysztof
Re: [PATCH v3 1/3] dt-bindings: serial: Add Loongson UART controller
Posted by 郑豪威 1 year, 3 months ago
在 2024/8/26 13:59, Krzysztof Kozlowski 写道:
> On Mon, Aug 26, 2024 at 10:47:03AM +0800,zhenghaowei@loongson.cn wrote:
>> From: Haowei Zheng<zhenghaowei@loongson.cn>
>>
>> Add Loongson UART controller binding with DT schema format using
>> json-schema.
>>
>> Signed-off-by: Haowei Zheng<zhenghaowei@loongson.cn>
>> ---
>>   .../bindings/serial/loongson,uart.yaml        | 63 +++++++++++++++++++
>>   1 file changed, 63 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/serial/loongson,uart.yaml
>>
>> Changes in V2:
>>
>> - Correct the schema formatting errors.
>>
>> - file name changed from 'loongson-uart.yaml' to 'loongson,ls7a-uart.yaml'
>>
>> - Replace 'loongson,loongson-uart' with 'loongson,ls7a-uart'.
>>
>> Changes in V3:
>>
>> - Change the filename from 'loongson,ls7a-uart.yaml' to 'loongson,uart.yaml'.
>>
>> - Drop newly defined features: fractional-division, rts-invert, dtr-invert,
>>    cts-invert and dsr-invert.
>>
>> - Add three specific SoC: 'loongson,ls7a-uart', 'loongson,ls3a5000-uart' and
>>    'loongson,ls2k2000-uart'.
>>
>> - Drop 'LOONGSON UART DRIVER' description in MAINTAINERS.
>>
>> diff --git a/Documentation/devicetree/bindings/serial/loongson,uart.yaml b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
>> new file mode 100644
>> index 000000000000..19a65dd5be9f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
>> @@ -0,0 +1,63 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id:http://devicetree.org/schemas/loongson,uart.yaml#
>> +$schema:http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Loongson UART
>> +
>> +maintainers:
>> +  - Haowei Zheng<zhenghaowei@loongson.cn>
>> +
>> +allOf:
>> +  - $ref: serial.yaml
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - enum:
>> +          - loongson,ls7a-uart
> Quick look tells me there is no such soc like ls7a. If there is such,
> please point me to the DTSI.
>
I had a problem with my description of ls7a, it's just a bridge chip, but

both ls2k0500 and ls2k1000 share the same UART controller as it.

>> +          - loongson,ls3a5000-uart
>> +          - loongson,ls2k2000-uart
>> +      - items:
>> +          - enum:
>> +              - loongson,ls2k1000-uart
>> +              - loongson,ls2k0500-uart
>> +          - const: loongson,ls7a-uart
> Just use real SoC names.

The ls7a is not an SoC; it is typically used in conjunction with 
Loongson 3 series

processors and boots via ACPI. Currently, there is no corresponding DTSI 
provided.

>> +      - items:
>> +          - enum:
>> +              - loongson,ls2k1500-uart
>> +          - const: loongson,ls2k2000-uart
>> +      - items:
>> +          - enum:
>> +              - loongson,ls3a6000-uart
>> +          - const: loongson,ls3a5000-uart
> Best regards,
> Krzysztof

Re: [PATCH v3 1/3] dt-bindings: serial: Add Loongson UART controller
Posted by Krzysztof Kozlowski 1 year, 3 months ago
On 26/08/2024 08:54, 郑豪威 wrote:
> 
> 在 2024/8/26 13:59, Krzysztof Kozlowski 写道:
>> On Mon, Aug 26, 2024 at 10:47:03AM +0800,zhenghaowei@loongson.cn wrote:
>>> From: Haowei Zheng<zhenghaowei@loongson.cn>
>>>
>>> Add Loongson UART controller binding with DT schema format using
>>> json-schema.
>>>
>>> Signed-off-by: Haowei Zheng<zhenghaowei@loongson.cn>
>>> ---
>>>   .../bindings/serial/loongson,uart.yaml        | 63 +++++++++++++++++++
>>>   1 file changed, 63 insertions(+)
>>>   create mode 100644 Documentation/devicetree/bindings/serial/loongson,uart.yaml
>>>
>>> Changes in V2:
>>>
>>> - Correct the schema formatting errors.
>>>
>>> - file name changed from 'loongson-uart.yaml' to 'loongson,ls7a-uart.yaml'
>>>
>>> - Replace 'loongson,loongson-uart' with 'loongson,ls7a-uart'.
>>>
>>> Changes in V3:
>>>
>>> - Change the filename from 'loongson,ls7a-uart.yaml' to 'loongson,uart.yaml'.
>>>
>>> - Drop newly defined features: fractional-division, rts-invert, dtr-invert,
>>>    cts-invert and dsr-invert.
>>>
>>> - Add three specific SoC: 'loongson,ls7a-uart', 'loongson,ls3a5000-uart' and
>>>    'loongson,ls2k2000-uart'.
>>>
>>> - Drop 'LOONGSON UART DRIVER' description in MAINTAINERS.
>>>
>>> diff --git a/Documentation/devicetree/bindings/serial/loongson,uart.yaml b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
>>> new file mode 100644
>>> index 000000000000..19a65dd5be9f
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/serial/loongson,uart.yaml
>>> @@ -0,0 +1,63 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id:http://devicetree.org/schemas/loongson,uart.yaml#
>>> +$schema:http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Loongson UART
>>> +
>>> +maintainers:
>>> +  - Haowei Zheng<zhenghaowei@loongson.cn>
>>> +
>>> +allOf:
>>> +  - $ref: serial.yaml
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - enum:
>>> +          - loongson,ls7a-uart
>> Quick look tells me there is no such soc like ls7a. If there is such,
>> please point me to the DTSI.
>>
> I had a problem with my description of ls7a, it's just a bridge chip, but
> 
> both ls2k0500 and ls2k1000 share the same UART controller as it.

I do not know what is a bridge chip, but anyway: provide DTSI.

No DTSI? Then how is it a chip?


> 
>>> +          - loongson,ls3a5000-uart
>>> +          - loongson,ls2k2000-uart
>>> +      - items:
>>> +          - enum:
>>> +              - loongson,ls2k1000-uart
>>> +              - loongson,ls2k0500-uart
>>> +          - const: loongson,ls7a-uart
>> Just use real SoC names.
> 
> The ls7a is not an SoC; it is typically used in conjunction with 
> Loongson 3 series

So no, drop. "Not a SoC" cannot be a standalone compatible and makes
little sense to have it here while all others use specific compatibles.

We keep repeating the same for Loongson and we are getting tired. There
is not much improvements from you. Who in Loongson is responsible for
managing your contributions so he/she/they will assure us you understand
what we ask you?

Best regards,
Krzysztof