On 12/12/2024 22:09, Markuss Broks wrote:Technically it's an acronym (Serial Protocol in an EffEctive Digital waY), but we could agree on if we use the capitalized or uncapitalised version and use it consistently throughout.
Add the schema for the Samsung SPEEDY serial bus host controller.
The bus has 4 bit wide addresses for addressing devices
and 8 bit wide register addressing. Each register is also 8
bit long, so the address can be 0-f (hexadecimal), node name
for child device follows the format: node_name@[0-f].
This wasn't tested so limited review.
A nit, subject: drop second/last, redundant "bindings". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
Co-developed-by: Maksym Holovach <nergzd@xxxxxxxxxxxxx>Filename must match compatible.
Signed-off-by: Maksym Holovach <nergzd@xxxxxxxxxxxxx>
Signed-off-by: Markuss Broks <markuss.broks@xxxxxxxxx>
---
.../bindings/soc/samsung/exynos-speedy.yaml | 78 ++++++++++++++++++++++
1 file changed, 78 insertions(+)Speedy or SPEEDY?
diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-speedy.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-speedy.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..304b322a74ea70f23d8c072b44b6ca86b7cc807f
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/samsung/exynos-speedy.yaml
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/samsung/exynos-speedy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung Exynos SPEEDY serial bus host controller
Nope, I suppose this requires more clarification, as explained in the previous letter, there are several differences between the protocols, looking at the Samsung patent. [1]
+1-wire? But not compatible with w1 (onwire)?
+maintainers:
+ - Markuss Broks <markuss.broks@xxxxxxxxx>
+
+description:
+ Samsung SPEEDY is a proprietary Samsung serial 1-wire bus.
Makes sense, for some reason I didn't realise it doesn't make much sense.
+ It is used on various Samsung Exynos chips. The bus canDrop last compatible and use only SoC specific.
+ address at most 4 bit (16) devices. The devices on the bus
+ have 8 bit long register line, and the registers are also
+ 8 bit long each. It is typically used for communicating with
+ Samsung PMICs (s2mps17, s2mps18, ...) and other Samsung chips,
+ such as RF parts.
+
+properties:
+ compatible:
+ - items:
+ - enum:
+ - samsung,exynos9810-speedy
+ - const: samsung,exynos-speedy
Okay, I'll look into it.
+Drop clock-names, not needed for one entry.
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ - const: pclk
+You do not have them in the properties, anyway required goes before
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
additionalProperties
+That's odd regex. Look at other bus bindings.
+patternProperties:
+ "^[a-z][a-z0-9]*@[0-9a-f]$":
Will extend the example.
+ type: objectmaximum: 15
+ additionalProperties: true
+
+ properties:
+ reg:
+ maxItems: 1
+Drop unused label.
+ required:
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ speedy0: speedy@141c0000 {
+ compatible = "samsung,exynos9810-speedy",No resources? No clocks? No interrupts?
+ "samsung-exynos-speedy";
+ reg = <0x141c0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
Best regards,
Krzysztof