On 24/09/2024 23:11, Chris Packham wrote: > > On 24/09/24 20:55, Krzysztof Kozlowski wrote: >> On Tue, Sep 24, 2024 at 11:02:28AM +1200, Chris Packham wrote: >>> Add dtschema for the I2C controller on the RTL9300 SoC. The I2C >>> controllers on this SoC are part of the "switch" block which is >>> represented here as a syscon node. The SCL pins are dependent on the I2C >>> controller (GPIO8 for the first controller, GPIO 17 for the second). The >>> SDA pins can be assigned to either one of the I2C controllers (but not >>> both). >>> >>> Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> >>> --- >>> >>> Notes: >>> Changes in v3: >>> - Remove parent node in example >>> - put unevaluatedProperties after required >>> - Add #address-cells and #size-cells >>> >>> Changes in v2: >>> - Use reg property for controller registers >>> - Remove global-control-offset (will be hard coded in driver) >>> - Integrated the multiplexing function. Child nodes now represent the >>> available SDA lines >>> >>> .../bindings/i2c/realtek,rtl9300-i2c.yaml | 80 +++++++++++++++++++ >>> MAINTAINERS | 6 ++ >>> 2 files changed, 86 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c.yaml b/Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c.yaml >>> new file mode 100644 >>> index 000000000000..979ec22e81f1 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c.yaml >>> @@ -0,0 +1,80 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: http://scanmail.trustwave.com/?c=20988&d=gf7y5rgy9ER44HZptkkovLbVGtkYd7ByAz3K6PNPAw&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fi2c%2frealtek%2crtl9300-i2c%2eyaml%23 >>> +$schema: http://scanmail.trustwave.com/?c=20988&d=gf7y5rgy9ER44HZptkkovLbVGtkYd7ByA2-a7KJKBg&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23 >>> + >>> +title: Realtek RTL I2C Controller >>> + >>> +maintainers: >>> + - Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> >>> + >>> +description: >>> + The RTL9300 SoC has two I2C controllers. Each of these has an SCL line (which >> This is confusing. It took me some minutes to understand that two I2Cs >> in the example do not match what you wrote here. I got there only because >> of your DTS. Your patchsets - sent separately and describing problem >> incompletely - do not help. >> >> This is the binding for I2C, not for RTL9300 SoC. >> >>> + if not-used for SCL can be a GPIO). There are 8 common SDA lines that can be >>> + assigned to either I2C controller. >>> + >>> +properties: >>> + compatible: >>> + const: realtek,rtl9300-i2c >>> + >>> + reg: >>> + description: Register offset and size this I2C controller. >> Nope, your reboot mode does not have reg. Either fix reboot mode driver >> or this. Preferably reboot mode. > > I'm not sure what you mean by this. The syscon-reboot binding doesn't > require a reg property and I can only find one in-tree dts > (turris1x.dts) that actually gives it a reg property. But it could. It uses offset instead of reg for historical reasons, when it was outside of syscon node. I propose to add there reg and oneOf requiring either reg or offset. This way you will have only MMIO children. Best regards, Krzysztof