diff mbox series

dt-bindings: serial: Describe ARM dcc interface

Message ID 9d7e85914eb1cdb313b28cb019093a84dd9b4773.1703167505.git.michal.simek@amd.com
State New
Headers show
Series dt-bindings: serial: Describe ARM dcc interface | expand

Commit Message

Michal Simek Dec. 21, 2023, 2:05 p.m. UTC
Debug Communication Channel (DCC) provides the way how to pass data between
target CPU and host via JTAG interface. Every CPU has own interface for
communication via dbgdtrtx_el0 and dbgdtrrx_el0 registers.

Signed-off-by: Michal Simek <michal.simek@amd.com>
---

This communication interface is used for flash programming on Xilinx
SOCs from U-Boot.
https://source.denx.de/u-boot/u-boot/-/blob/master/drivers/serial/arm_dcc.c

---
 .../devicetree/bindings/serial/arm,dcc.yaml   | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/serial/arm,dcc.yaml

Comments

Michal Simek Jan. 2, 2024, 3:32 p.m. UTC | #1
On 12/22/23 09:20, Krzysztof Kozlowski wrote:
> On 21/12/2023 15:05, Michal Simek wrote:
>> Debug Communication Channel (DCC) provides the way how to pass data between
>> target CPU and host via JTAG interface. Every CPU has own interface for
>> communication via dbgdtrtx_el0 and dbgdtrrx_el0 registers.
>>
>> Signed-off-by: Michal Simek <michal.simek@amd.com>
>> ---
>>
>> This communication interface is used for flash programming on Xilinx
>> SOCs from U-Boot.
>> https://source.denx.de/u-boot/u-boot/-/blob/master/drivers/serial/arm_dcc.c
>>
>> ---
>>   .../devicetree/bindings/serial/arm,dcc.yaml   | 30 +++++++++++++++++++
>>   1 file changed, 30 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/serial/arm,dcc.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/serial/arm,dcc.yaml b/Documentation/devicetree/bindings/serial/arm,dcc.yaml
>> new file mode 100644
>> index 000000000000..fd0589356617
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/serial/arm,dcc.yaml
>> @@ -0,0 +1,30 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/serial/arm,dcc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: ARM DCC (Data communication channel) serial emulation
>> +
>> +maintainers:
>> +  - Michal Simek <michal.simek@amd.com>
>> +
>> +description: |
>> +  ARM DCC (Data communication channel) serial emulation interface available
>> +  via JTAG can be also used as one of serial line tightly coupled with every
>> +  ARM CPU available in the system.
>> +
>> +properties:
>> +  compatible:
>> +    const: arm,dcc
>> +
>> +required:
>> +  - compatible
> 
> no allOf: with $ref to serial.yaml? Does it differ somehow?

Valid one could be only nodename format and maybe label.
Others are not relevant. But if that's fine I can also add it.

Thanks,
Michal
Rob Herring Jan. 3, 2024, 8:22 p.m. UTC | #2
On Tue, Jan 2, 2024 at 8:32 AM Michal Simek <michal.simek@amd.com> wrote:
>
>
>
> On 12/22/23 09:20, Krzysztof Kozlowski wrote:
> > On 21/12/2023 15:05, Michal Simek wrote:
> >> Debug Communication Channel (DCC) provides the way how to pass data between
> >> target CPU and host via JTAG interface. Every CPU has own interface for
> >> communication via dbgdtrtx_el0 and dbgdtrrx_el0 registers.
> >>
> >> Signed-off-by: Michal Simek <michal.simek@amd.com>
> >> ---
> >>
> >> This communication interface is used for flash programming on Xilinx
> >> SOCs from U-Boot.
> >> https://source.denx.de/u-boot/u-boot/-/blob/master/drivers/serial/arm_dcc.c
> >>
> >> ---
> >>   .../devicetree/bindings/serial/arm,dcc.yaml   | 30 +++++++++++++++++++
> >>   1 file changed, 30 insertions(+)
> >>   create mode 100644 Documentation/devicetree/bindings/serial/arm,dcc.yaml
> >>
> >> diff --git a/Documentation/devicetree/bindings/serial/arm,dcc.yaml b/Documentation/devicetree/bindings/serial/arm,dcc.yaml
> >> new file mode 100644
> >> index 000000000000..fd0589356617
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/serial/arm,dcc.yaml
> >> @@ -0,0 +1,30 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/serial/arm,dcc.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: ARM DCC (Data communication channel) serial emulation
> >> +
> >> +maintainers:
> >> +  - Michal Simek <michal.simek@amd.com>
> >> +
> >> +description: |
> >> +  ARM DCC (Data communication channel) serial emulation interface available
> >> +  via JTAG can be also used as one of serial line tightly coupled with every
> >> +  ARM CPU available in the system.
> >> +
> >> +properties:
> >> +  compatible:
> >> +    const: arm,dcc
> >> +
> >> +required:
> >> +  - compatible
> >
> > no allOf: with $ref to serial.yaml? Does it differ somehow?
>
> Valid one could be only nodename format and maybe label.
> Others are not relevant. But if that's fine I can also add it.

Yeah, I think serial.yaml mostly doesn't apply here. Not really worth
including for just the node name.

Greg may have already processed this, so you might want to resend. Or
wait a few days and I'll just apply it.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/serial/arm,dcc.yaml b/Documentation/devicetree/bindings/serial/arm,dcc.yaml
new file mode 100644
index 000000000000..fd0589356617
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/arm,dcc.yaml
@@ -0,0 +1,30 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/serial/arm,dcc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM DCC (Data communication channel) serial emulation
+
+maintainers:
+  - Michal Simek <michal.simek@amd.com>
+
+description: |
+  ARM DCC (Data communication channel) serial emulation interface available
+  via JTAG can be also used as one of serial line tightly coupled with every
+  ARM CPU available in the system.
+
+properties:
+  compatible:
+    const: arm,dcc
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    serial {
+      compatible = "arm,dcc";
+    };