From c1ec80e54afd0460d02b29a5731fd2a7b31f400b Mon Sep 17 00:00:00 2001 From: Andrei Simion Date: Wed, 3 Jul 2024 11:47:04 +0300 Subject: dt-bindings: eeprom: at24: Add Microchip 24AA025E48/24AA025E64 Add support for compatible Microchip 24AA025E48/24AA025E64 EEPROMs. Reviewed-by: Conor Dooley Signed-off-by: Andrei Simion Link: https://lore.kernel.org/r/20240703084704.197697-4-andrei.simion@microchip.com Signed-off-by: Bartosz Golaszewski --- Documentation/devicetree/bindings/eeprom/at24.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml index 3c36cd0510de..4d46b8c5439d 100644 --- a/Documentation/devicetree/bindings/eeprom/at24.yaml +++ b/Documentation/devicetree/bindings/eeprom/at24.yaml @@ -18,7 +18,9 @@ select: properties: compatible: contains: - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" + anyOf: + - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" + - enum: ["microchip,24aa025e48", "microchip,24aa025e64"] required: - compatible @@ -132,6 +134,10 @@ properties: - renesas,r1ex24128 - samsung,s524ad0xd1 - const: atmel,24c128 + - items: + - const: microchip,24aa025e48 + - items: + - const: microchip,24aa025e64 - pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st label: -- cgit v1.2.3 From d83c217778e7425d10105001150c5670e07f88fe Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Tue, 2 Jul 2024 12:31:13 +0200 Subject: dt-bindings: eeprom: at24: Move compatible for Belling BL24C16A to proper place Merge the compatibles for the 24c16 types into a single list. Signed-off-by: Frieder Schrempf Acked-by: Krzysztof Kozlowski Link: https://lore.kernel.org/r/20240702103155.321855-2-frieder@fris.de Signed-off-by: Bartosz Golaszewski --- Documentation/devicetree/bindings/eeprom/at24.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml index 4d46b8c5439d..d7227d574d16 100644 --- a/Documentation/devicetree/bindings/eeprom/at24.yaml +++ b/Documentation/devicetree/bindings/eeprom/at24.yaml @@ -104,9 +104,6 @@ properties: pattern: spd$ # These are special cases that don't conform to the above pattern. # Each requires a standard at24 model as fallback. - - items: - - const: belling,bl24c16a - - const: atmel,24c16 - items: - enum: - rohm,br24g01 @@ -124,7 +121,9 @@ properties: - rohm,br24g04 - const: atmel,24c04 - items: - - const: renesas,r1ex24016 + - enum: + - belling,bl24c16a + - renesas,r1ex24016 - const: atmel,24c16 - items: - const: giantec,gt24c32a -- cgit v1.2.3 From 3a9ba4e32230df6c48cda1fd5cbca6facacc74c2 Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Tue, 2 Jul 2024 12:31:14 +0200 Subject: dt-bindings: eeprom: at24: Add compatible for ONSemi N24S64B The ONSemi N24S64B is a 64 KBit serial EEPROM that is compatible with atmel,24c64. Signed-off-by: Frieder Schrempf Acked-by: Krzysztof Kozlowski Link: https://lore.kernel.org/r/20240702103155.321855-3-frieder@fris.de Signed-off-by: Bartosz Golaszewski --- Documentation/devicetree/bindings/eeprom/at24.yaml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml index d7227d574d16..e396e47b2f13 100644 --- a/Documentation/devicetree/bindings/eeprom/at24.yaml +++ b/Documentation/devicetree/bindings/eeprom/at24.yaml @@ -128,6 +128,9 @@ properties: - items: - const: giantec,gt24c32a - const: atmel,24c32 + - items: + - const: onnn,n24s64b + - const: atmel,24c64 - items: - enum: - renesas,r1ex24128 -- cgit v1.2.3 From b239c3f4a1e91ae9bb4e61cddb64d3839b7e2f97 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Thu, 20 Jun 2024 13:34:51 +0200 Subject: dt-bindings: i2c: atmel,at91sam: drop unneeded address/size-cells The reference i2c-controller.yaml already defines 'address-cells' and 'size-cells', so drop them from list of properties. Drop them as well from required properties, even though i2c-controller.yaml does not require them, because I2C controller could be enabled without any children in DTS for user-space usage. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Conor Dooley Signed-off-by: Andi Shyti --- Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml | 8 -------- 1 file changed, 8 deletions(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml b/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml index b2d19cfb87ad..588478862bd1 100644 --- a/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml @@ -36,12 +36,6 @@ properties: interrupts: maxItems: 1 - "#address-cells": - const: 1 - - "#size-cells": - const: 0 - clocks: maxItems: 1 @@ -72,8 +66,6 @@ required: - compatible - reg - interrupts - - "#address-cells" - - "#size-cells" - clocks allOf: -- cgit v1.2.3 From 738799b0fddb1175be25ad1c1363ee8ffefbcfb0 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Thu, 20 Jun 2024 13:34:52 +0200 Subject: dt-bindings: i2c: nvidia,tegra20: drop unneeded address/size-cells The reference i2c-controller.yaml already defines 'address-cells' and 'size-cells', so drop them from list of properties. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Conor Dooley Signed-off-by: Andi Shyti --- Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml | 6 ------ 1 file changed, 6 deletions(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml index 424a4fc218b6..92fbc1a2671a 100644 --- a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml @@ -87,12 +87,6 @@ properties: interrupts: maxItems: 1 - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - clocks: minItems: 1 maxItems: 2 -- cgit v1.2.3 From 502ebea6542524c3d80c1e2273709c92af0699fb Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Thu, 20 Jun 2024 13:34:53 +0200 Subject: dt-bindings: i2c: samsung,s3c2410: drop unneeded address/size-cells The reference i2c-controller.yaml already defines 'address-cells' and 'size-cells', so drop them from list of properties. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Conor Dooley Signed-off-by: Andi Shyti --- Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.yaml | 6 ------ 1 file changed, 6 deletions(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.yaml b/Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.yaml index 1303502cf265..bbc568485627 100644 --- a/Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.yaml @@ -26,9 +26,6 @@ properties: - samsung,exynos850-i2c - const: samsung,s3c2440-i2c - '#address-cells': - const: 1 - clocks: maxItems: 1 @@ -73,9 +70,6 @@ properties: $ref: /schemas/types.yaml#/definitions/phandle description: Pandle to syscon used to control the system registers. - '#size-cells': - const: 0 - required: - compatible - reg -- cgit v1.2.3 From a95ab3d2ee4c60ec980dbad3965d43b6226ece01 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Thu, 20 Jun 2024 13:34:54 +0200 Subject: dt-bindings: i2c: ti,omap4: reference i2c-controller.yaml schema Reference the core I2C controller schema to properly define common properties. This allows to drop several (now redundant) properties. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Conor Dooley Signed-off-by: Andi Shyti --- .../devicetree/bindings/i2c/ti,omap4-i2c.yaml | 58 +++++++++------------- 1 file changed, 23 insertions(+), 35 deletions(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml b/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml index 781108ae1ce3..c9d1030e9857 100644 --- a/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml @@ -37,16 +37,8 @@ properties: clock-names: const: fck - clock-frequency: true - power-domains: true - "#address-cells": - const: 1 - - "#size-cells": - const: 0 - ti,hwmods: description: Must be "i2c", n being the instance number (1-based). @@ -55,38 +47,34 @@ properties: $ref: /schemas/types.yaml#/definitions/string deprecated: true -# subnode's properties -patternProperties: - "@[0-9a-f]+$": - type: object - description: - Flash device uses the below defined properties in the subnode. - required: - compatible - reg - interrupts -additionalProperties: false - -if: - properties: - compatible: - enum: - - ti,omap2420-i2c - - ti,omap2430-i2c - - ti,omap3-i2c - - ti,omap4-i2c - -then: - properties: - ti,hwmods: - items: - - pattern: "^i2c([1-9])$" - -else: - properties: - ti,hwmods: false +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + + - if: + properties: + compatible: + enum: + - ti,omap2420-i2c + - ti,omap2430-i2c + - ti,omap3-i2c + - ti,omap4-i2c + + then: + properties: + ti,hwmods: + items: + - pattern: "^i2c([1-9])$" + + else: + properties: + ti,hwmods: false + +unevaluatedProperties: false examples: - | -- cgit v1.2.3 From 2362c730026dde1c50081ff2170656df14d7135b Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Thu, 20 Jun 2024 13:34:55 +0200 Subject: dt-bindings: i2c: adjust indentation in DTS example to coding style Bindings coding style expects 2- or 4-space indentation in the DTS example. Correct files having something odd (6- or 8-space) to 4-space while re-ordering few properties according to DTS coding style (the first property should be compatible, then reg/ranges). No functional impact. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Conor Dooley Signed-off-by: Andi Shyti --- .../devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml | 28 +++--- .../devicetree/bindings/i2c/i2c-demux-pinctrl.yaml | 112 ++++++++++----------- .../devicetree/bindings/i2c/renesas,iic-emev2.yaml | 14 +-- .../devicetree/bindings/i2c/renesas,rcar-i2c.yaml | 20 ++-- .../devicetree/bindings/i2c/renesas,riic.yaml | 34 +++---- .../bindings/i2c/renesas,rmobile-iic.yaml | 24 ++--- .../devicetree/bindings/i2c/st,stm32-i2c.yaml | 66 ++++++------ .../devicetree/bindings/i2c/ti,omap4-i2c.yaml | 12 +-- 8 files changed, 155 insertions(+), 155 deletions(-) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml b/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml index 7070c04469ed..ac9ddf228c82 100644 --- a/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml @@ -76,21 +76,21 @@ else: examples: - | - bsca: i2c@f0406200 { - clock-frequency = <390000>; - compatible = "brcm,brcmstb-i2c"; - interrupt-parent = <&irq0_intc>; - reg = <0xf0406200 0x58>; - interrupts = <0x18>; - interrupt-names = "upg_bsca"; - }; + bsca: i2c@f0406200 { + compatible = "brcm,brcmstb-i2c"; + reg = <0xf0406200 0x58>; + clock-frequency = <390000>; + interrupt-parent = <&irq0_intc>; + interrupts = <0x18>; + interrupt-names = "upg_bsca"; + }; - | - ddc0: i2c@7ef04500 { - compatible = "brcm,bcm2711-hdmi-i2c"; - reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>; - reg-names = "bsc", "auto-i2c"; - clock-frequency = <390000>; - }; + ddc0: i2c@7ef04500 { + compatible = "brcm,bcm2711-hdmi-i2c"; + reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>; + reg-names = "bsc", "auto-i2c"; + clock-frequency = <390000>; + }; ... diff --git a/Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.yaml b/Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.yaml index b813f6d4810c..1eaf00b90a77 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.yaml @@ -109,65 +109,65 @@ examples: // Example for a bus to be demuxed. It contains various I2C clients for // HDMI, so the bus is named "i2c-hdmi": i2chdmi: i2c-mux3 { - compatible = "i2c-demux-pinctrl"; - i2c-parent = <&iic2>, <&i2c2>, <&gpioi2c2>; - i2c-bus-name = "i2c-hdmi"; - #address-cells = <1>; - #size-cells = <0>; - - ak4643: codec@12 { - compatible = "asahi-kasei,ak4643"; - #sound-dai-cells = <0>; - reg = <0x12>; - }; - - composite-in@20 { - compatible = "adi,adv7180"; - reg = <0x20>; + compatible = "i2c-demux-pinctrl"; + i2c-parent = <&iic2>, <&i2c2>, <&gpioi2c2>; + i2c-bus-name = "i2c-hdmi"; + #address-cells = <1>; + #size-cells = <0>; - port { - adv7180: endpoint { - bus-width = <8>; - remote-endpoint = <&vin1ep0>; - }; - }; + ak4643: codec@12 { + compatible = "asahi-kasei,ak4643"; + #sound-dai-cells = <0>; + reg = <0x12>; + }; + + composite-in@20 { + compatible = "adi,adv7180"; + reg = <0x20>; + + port { + adv7180: endpoint { + bus-width = <8>; + remote-endpoint = <&vin1ep0>; + }; }; + }; + + hdmi@39 { + compatible = "adi,adv7511w"; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <15 IRQ_TYPE_LEVEL_LOW>; + clocks = <&cec_clock>; + clock-names = "cec"; + + avdd-supply = <&fixedregulator1v8>; + dvdd-supply = <&fixedregulator1v8>; + pvdd-supply = <&fixedregulator1v8>; + dvdd-3v-supply = <&fixedregulator3v3>; + bgvdd-supply = <&fixedregulator1v8>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; - hdmi@39 { - compatible = "adi,adv7511w"; - reg = <0x39>; - interrupt-parent = <&gpio1>; - interrupts = <15 IRQ_TYPE_LEVEL_LOW>; - clocks = <&cec_clock>; - clock-names = "cec"; - - avdd-supply = <&fixedregulator1v8>; - dvdd-supply = <&fixedregulator1v8>; - pvdd-supply = <&fixedregulator1v8>; - dvdd-3v-supply = <&fixedregulator3v3>; - bgvdd-supply = <&fixedregulator1v8>; - - adi,input-depth = <8>; - adi,input-colorspace = "rgb"; - adi,input-clock = "1x"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - adv7511_in: endpoint { - remote-endpoint = <&lvds0_out>; - }; - }; - - port@1 { - reg = <1>; - adv7511_out: endpoint { - remote-endpoint = <&hdmi_con_out>; - }; - }; + port@1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con_out>; }; + }; }; + }; }; diff --git a/Documentation/devicetree/bindings/i2c/renesas,iic-emev2.yaml b/Documentation/devicetree/bindings/i2c/renesas,iic-emev2.yaml index 17c1102562be..551cfa6f885a 100644 --- a/Documentation/devicetree/bindings/i2c/renesas,iic-emev2.yaml +++ b/Documentation/devicetree/bindings/i2c/renesas,iic-emev2.yaml @@ -44,11 +44,11 @@ examples: #include iic0: i2c@e0070000 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "renesas,iic-emev2"; - reg = <0xe0070000 0x28>; - interrupts = ; - clocks = <&iic0_sclk>; - clock-names = "sclk"; + compatible = "renesas,iic-emev2"; + reg = <0xe0070000 0x28>; + interrupts = ; + clocks = <&iic0_sclk>; + clock-names = "sclk"; + #address-cells = <1>; + #size-cells = <0>; }; diff --git a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml index 51b220da461b..6cc60c3f61cd 100644 --- a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml @@ -153,14 +153,14 @@ examples: #include i2c0: i2c@e6508000 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; - reg = <0xe6508000 0x40>; - interrupts = ; - clock-frequency = <400000>; - clocks = <&cpg CPG_MOD 931>; - power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; - resets = <&cpg 931>; - i2c-scl-internal-delay-ns = <6>; + compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; + reg = <0xe6508000 0x40>; + interrupts = ; + clock-frequency = <400000>; + clocks = <&cpg CPG_MOD 931>; + power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; + resets = <&cpg 931>; + i2c-scl-internal-delay-ns = <6>; + #address-cells = <1>; + #size-cells = <0>; }; diff --git a/Documentation/devicetree/bindings/i2c/renesas,riic.yaml b/Documentation/devicetree/bindings/i2c/renesas,riic.yaml index 91ecf17b7a81..7993fe463c4c 100644 --- a/Documentation/devicetree/bindings/i2c/renesas,riic.yaml +++ b/Documentation/devicetree/bindings/i2c/renesas,riic.yaml @@ -97,21 +97,21 @@ examples: #include i2c0: i2c@fcfee000 { - compatible = "renesas,riic-r7s72100", "renesas,riic-rz"; - reg = <0xfcfee000 0x44>; - interrupts = , - , - , - , - , - , - , - ; - interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", - "tmoi"; - clocks = <&mstp9_clks R7S72100_CLK_I2C0>; - clock-frequency = <100000>; - power-domains = <&cpg_clocks>; - #address-cells = <1>; - #size-cells = <0>; + compatible = "renesas,riic-r7s72100", "renesas,riic-rz"; + reg = <0xfcfee000 0x44>; + interrupts = , + , + , + , + , + , + , + ; + interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", + "tmoi"; + clocks = <&mstp9_clks R7S72100_CLK_I2C0>; + clock-frequency = <100000>; + power-domains = <&cpg_clocks>; + #address-cells = <1>; + #size-cells = <0>; }; diff --git a/Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml b/Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml index 04e4ffd80bc0..ec5222a1224f 100644 --- a/Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml +++ b/Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml @@ -134,16 +134,16 @@ examples: #include iic0: i2c@e6500000 { - compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", - "renesas,rmobile-iic"; - reg = <0xe6500000 0x425>; - interrupts = ; - clocks = <&cpg CPG_MOD 318>; - clock-frequency = <400000>; - dmas = <&dmac0 0x61>, <&dmac0 0x62>, <&dmac1 0x61>, <&dmac1 0x62>; - dma-names = "tx", "rx", "tx", "rx"; - power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; - resets = <&cpg 318>; - #address-cells = <1>; - #size-cells = <0>; + compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", + "renesas,rmobile-iic"; + reg = <0xe6500000 0x425>; + interrupts = ; + clocks = <&cpg CPG_MOD 318>; + clock-frequency = <400000>; + dmas = <&dmac0 0x61>, <&dmac0 0x62>, <&dmac1 0x61>, <&dmac1 0x62>; + dma-names = "tx", "rx", "tx", "rx"; + power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; + resets = <&cpg 318>; + #address-cells = <1>; + #size-cells = <0>; }; diff --git a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml index 8fd8be76875e..457bb0702ed9 100644 --- a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml @@ -145,31 +145,31 @@ examples: #include #include //Example 1 (with st,stm32f4-i2c compatible) - i2c@40005400 { - compatible = "st,stm32f4-i2c"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x40005400 0x400>; - interrupts = <31>, - <32>; - resets = <&rcc 277>; - clocks = <&rcc 0 149>; - }; + i2c@40005400 { + compatible = "st,stm32f4-i2c"; + reg = <0x40005400 0x400>; + interrupts = <31>, + <32>; + resets = <&rcc 277>; + clocks = <&rcc 0 149>; + #address-cells = <1>; + #size-cells = <0>; + }; - | #include #include //Example 2 (with st,stm32f7-i2c compatible) - i2c@40005800 { - compatible = "st,stm32f7-i2c"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x40005800 0x400>; - interrupts = <31>, - <32>; - resets = <&rcc STM32F7_APB1_RESET(I2C1)>; - clocks = <&rcc 1 CLK_I2C1>; - }; + i2c@40005800 { + compatible = "st,stm32f7-i2c"; + reg = <0x40005800 0x400>; + interrupts = <31>, + <32>; + resets = <&rcc STM32F7_APB1_RESET(I2C1)>; + clocks = <&rcc 1 CLK_I2C1>; + #address-cells = <1>; + #size-cells = <0>; + }; - | #include @@ -178,16 +178,16 @@ examples: #include #include #include - i2c@40013000 { - compatible = "st,stm32mp15-i2c"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x40013000 0x400>; - interrupts = , - ; - clocks = <&rcc I2C2_K>; - resets = <&rcc I2C2_R>; - i2c-scl-rising-time-ns = <185>; - i2c-scl-falling-time-ns = <20>; - st,syscfg-fmp = <&syscfg 0x4 0x2>; - }; + i2c@40013000 { + compatible = "st,stm32mp15-i2c"; + reg = <0x40013000 0x400>; + interrupts = , + ; + clocks = <&rcc I2C2_K>; + resets = <&rcc I2C2_R>; + i2c-scl-rising-time-ns = <185>; + i2c-scl-falling-time-ns = <20>; + st,syscfg-fmp = <&syscfg 0x4 0x2>; + #address-cells = <1>; + #size-cells = <0>; + }; diff --git a/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml b/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml index c9d1030e9857..8c2e35fabf5b 100644 --- a/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml @@ -82,9 +82,9 @@ examples: #include main_i2c0: i2c@2000000 { - compatible = "ti,j721e-i2c", "ti,omap4-i2c"; - reg = <0x2000000 0x100>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - }; + compatible = "ti,j721e-i2c", "ti,omap4-i2c"; + reg = <0x2000000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + }; -- cgit v1.2.3 From d5adffc46fde8338ec9264175e789716dc39194a Mon Sep 17 00:00:00 2001 From: Kanak Shilledar Date: Tue, 25 Jun 2024 12:29:32 +0530 Subject: dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema Convert the NXP I2C controller for LPC2xxx/178x/18xx/43xx to newer DT schema. Created DT schema based on the .txt file which had `compatible`, `reg`, `interrupts`, `clocks`, `#address-cells` and `#size-cells` as required properties. Additional changes to the original .txt binding - added maintainer from the MAINTAINERS file. - added resets property required by the corresponding DTS files. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Kanak Shilledar Signed-off-by: Andi Shyti --- .../devicetree/bindings/i2c/i2c-lpc2k.txt | 33 ------------- .../devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml | 54 ++++++++++++++++++++++ MAINTAINERS | 2 +- 3 files changed, 55 insertions(+), 34 deletions(-) delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt create mode 100644 Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt b/Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt deleted file mode 100644 index 4101aa621ad4..000000000000 --- a/Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt +++ /dev/null @@ -1,33 +0,0 @@ -NXP I2C controller for LPC2xxx/178x/18xx/43xx - -Required properties: - - compatible: must be "nxp,lpc1788-i2c" - - reg: physical address and length of the device registers - - interrupts: a single interrupt specifier - - clocks: clock for the device - - #address-cells: should be <1> - - #size-cells: should be <0> - -Optional properties: -- clock-frequency: the desired I2C bus clock frequency in Hz; in - absence of this property the default value is used (100 kHz). - -Example: -i2c0: i2c@400a1000 { - compatible = "nxp,lpc1788-i2c"; - reg = <0x400a1000 0x1000>; - interrupts = <18>; - clocks = <&ccu1 CLK_APB1_I2C0>; - #address-cells = <1>; - #size-cells = <0>; -}; - -&i2c0 { - clock-frequency = <400000>; - - lm75@48 { - compatible = "nxp,lm75"; - reg = <0x48>; - }; -}; - diff --git a/Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml b/Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml new file mode 100644 index 000000000000..9a1b95c2d03c --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/nxp,lpc1788-i2c.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP I2C controller for LPC2xxx/178x/18xx/43xx + +maintainers: + - Vladimir Zapolskiy + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + +properties: + compatible: + const: nxp,lpc1788-i2c + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-frequency: + description: the desired I2C bus clock frequency in Hz + default: 100000 + + resets: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - clocks + +unevaluatedProperties: false + +examples: + - | + #include "dt-bindings/clock/lpc18xx-ccu.h" + + i2c@400a1000 { + compatible = "nxp,lpc1788-i2c"; + reg = <0x400a1000 0x1000>; + interrupts = <18>; + clocks = <&ccu1 CLK_APB1_I2C0>; + #address-cells = <1>; + #size-cells = <0>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index da5352dbd4f3..3e26555e52bf 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2374,7 +2374,7 @@ ARM/LPC18XX ARCHITECTURE M: Vladimir Zapolskiy L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained -F: Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt +F: Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml F: arch/arm/boot/dts/nxp/lpc/lpc43* F: drivers/i2c/busses/i2c-lpc2k.c F: drivers/memory/pl172.c -- cgit v1.2.3 From 00fa2450c11138c1c3171224cd2727a3a6240bae Mon Sep 17 00:00:00 2001 From: Thomas Bonnefille Date: Tue, 18 Jun 2024 09:42:38 +0200 Subject: dt-bindings: i2c: dw: Document compatible thead,th1520-i2c Add documentation for compatible string thead,th1520-i2c which can be used specifically for the TH1520 SoC. Signed-off-by: Thomas Bonnefille Acked-by: Conor Dooley Reviewed-by: Jarkko Nikula Signed-off-by: Andi Shyti --- Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml index d9293c57f573..60035a787e5c 100644 --- a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml @@ -33,6 +33,10 @@ properties: - const: snps,designware-i2c - description: Baikal-T1 SoC System I2C controller const: baikal,bt1-sys-i2c + - description: T-HEAD TH1520 SoCs I2C controller + items: + - const: thead,th1520-i2c + - const: snps,designware-i2c reg: minItems: 1 -- cgit v1.2.3 From 11b1a666c16d29ee9c1ebc954cda3fc9a2575fe3 Mon Sep 17 00:00:00 2001 From: Nicolas Ferre Date: Wed, 10 Jul 2024 18:26:15 +0200 Subject: dt-bindings: i2c: at91: Add sama7d65 compatible string Add compatible string for sama7d65. Like sama7g5, it currently binds to "microchip,sam9x60-i2c" compatible string for this driver. Signed-off-by: Nicolas Ferre Acked-by: Krzysztof Kozlowski Signed-off-by: Andi Shyti --- Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml b/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml index 588478862bd1..e61cdb5b16ef 100644 --- a/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml @@ -26,6 +26,7 @@ properties: - microchip,sam9x60-i2c - items: - enum: + - microchip,sama7d65-i2c - microchip,sama7g5-i2c - microchip,sam9x7-i2c - const: microchip,sam9x60-i2c @@ -78,6 +79,7 @@ allOf: - atmel,sama5d4-i2c - atmel,sama5d2-i2c - microchip,sam9x60-i2c + - microchip,sama7d65-i2c - microchip,sama7g5-i2c then: properties: -- cgit v1.2.3 From ab1c7ea48f6e225aa40eff3be45a47c7d93cb3b8 Mon Sep 17 00:00:00 2001 From: George Stark Date: Thu, 11 Jul 2024 01:32:12 +0300 Subject: dt-bindings: i2c: amlogic,meson6-i2c: add optional power-domains On newer SoCs, the I2C hardware can require a power domain to operate. Since the same compatible is used for older and newer SoCs make power-domains property optional. Signed-off-by: George Stark Reviewed-by: Neil Armstrong Reviewed-by: Rob Herring (Arm) Signed-off-by: Andi Shyti --- Documentation/devicetree/bindings/i2c/amlogic,meson6-i2c.yaml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Documentation/devicetree') diff --git a/Documentation/devicetree/bindings/i2c/amlogic,meson6-i2c.yaml b/Documentation/devicetree/bindings/i2c/amlogic,meson6-i2c.yaml index 26bed558c6b8..c4cc8af18280 100644 --- a/Documentation/devicetree/bindings/i2c/amlogic,meson6-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/amlogic,meson6-i2c.yaml @@ -30,6 +30,9 @@ properties: clocks: minItems: 1 + power-domains: + maxItems: 1 + required: - compatible - reg -- cgit v1.2.3