Re: [PATCH 1/2] dt-bindings: mfd: Add Realtek switch

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

 



Hi Krzysztof,

On 9/09/24 18:38, Krzysztof Kozlowski wrote:
On Mon, Sep 09, 2024 at 01:47:06PM +1200, Chris Packham wrote:
Add device tree schema for the Realtek switch. Currently the only
supported feature is the syscon-reboot which is needed to be able to
reboot the board.

Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
---
  .../bindings/mfd/realtek,switch.yaml          | 50 +++++++++++++++++++
  1 file changed, 50 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/mfd/realtek,switch.yaml
Use compatible as filename.

My hope was eventually that this would support multiple Realtek switches. But sure for now at least I can name it after the one in front of me.


diff --git a/Documentation/devicetree/bindings/mfd/realtek,switch.yaml b/Documentation/devicetree/bindings/mfd/realtek,switch.yaml
new file mode 100644
index 000000000000..84b57f87bd3a
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/realtek,switch.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://scanmail.trustwave.com/?c=20988&d=55fe5gyquxahZ_dJqiHMxmkDG8M1MWjoNtZN70yrng&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fmfd%2frealtek%2cswitch%2eyaml%23
+$schema: http://scanmail.trustwave.com/?c=20988&d=55fe5gyquxahZ_dJqiHMxmkDG8M1MWjoNoNFvkz8nA&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23
+
+title: Realtek Switch with Internal CPU
What sort of Switch? Like network switch? Then this should be placed in
respective net (or deeper, e.g. net/dsa/) directory.
Yes network switch. But this is one of those all in one chips that has a CPU, network switch and various peripherals. MFD seemed appropriate.

Maintainers go here. See example-schema.

Ack.

+
+description:
+  The RTL9302 ethernet switch has an internal CPU. The switch is a multi-port
+  networking switch that supports many interfaces. Additionally, the device can
+  support MDIO, SPI and I2C busses.
I don't get why syscon node is called switch. This looks incomplete or
you used description from some other device.

Yes I did take a lot of inspiration from the mscc,ocelot. I am working on more support for the switch and some of the other peripherals so I figured I'd word it towards that end goal. If you prefer I could word this more towards the one function (reboot) that is supported right now.

But if this is DSA, then you miss dsa ref and dsa-related properties.

So far I'm resisting DSA. The usage of the RTL9300 as a SoC+Switch doesn't really lend itself to the DSA architecture (there is a external CPU mode that would). I think eventually we'd end up with something like the mscc,oscelot where both switchdev and DSA usage is supported. There would be some properties (e.g. port/phy arrangement) that apply to both uses.

I have got a (kind of) working proof of concept switchdev driver which has some of the support you've mentioned. It's not really ready so I didn't include the dt-binding for that stuff in this patch.

+
+maintainers:
+  - Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - realtek,rtl9302c-switch
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+  reboot:
+    $ref: /schemas/power/reset/syscon-reboot.yaml#
+
+required:
+  - compatible
+  - reg
+  - reboot
+
+additionalProperties: false
+
+examples:
+  - |
+    switch0: ethernet-switch@1b000000 {
Drop unused label.
Ack.

Best regards,
Krzysztof





[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux