157758458SLinus Walleij# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 257758458SLinus Walleij%YAML 1.2 357758458SLinus Walleij--- 457758458SLinus Walleij$id: http://devicetree.org/schemas/i2c/st,nomadik-i2c.yaml# 557758458SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 657758458SLinus Walleij 7*84e85359SKrzysztof Kozlowskititle: ST Microelectronics Nomadik I2C 857758458SLinus Walleij 957758458SLinus Walleijdescription: The Nomadik I2C host controller began its life in the ST 1057758458SLinus Walleij Microelectronics STn8800 SoC, and was then inherited into STn8810 and 1157758458SLinus Walleij STn8815. It was part of the prototype STn8500 which then became ST-Ericsson 1257758458SLinus Walleij DB8500 after the merge of these two companies wireless divisions. 1357758458SLinus Walleij 1457758458SLinus Walleijmaintainers: 1557758458SLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 1657758458SLinus Walleij 1757758458SLinus WalleijallOf: 1857758458SLinus Walleij - $ref: /schemas/i2c/i2c-controller.yaml# 1957758458SLinus Walleij 2057758458SLinus Walleij# Need a custom select here or 'arm,primecell' will match on lots of nodes 2157758458SLinus Walleijselect: 2257758458SLinus Walleij properties: 2357758458SLinus Walleij compatible: 2457758458SLinus Walleij contains: 2557758458SLinus Walleij enum: 2657758458SLinus Walleij - st,nomadik-i2c 2757758458SLinus Walleij required: 2857758458SLinus Walleij - compatible 2957758458SLinus Walleij 3057758458SLinus Walleijproperties: 3157758458SLinus Walleij compatible: 3257758458SLinus Walleij oneOf: 3357758458SLinus Walleij # The variant found in STn8815 3457758458SLinus Walleij - items: 3557758458SLinus Walleij - const: st,nomadik-i2c 3657758458SLinus Walleij - const: arm,primecell 3757758458SLinus Walleij # The variant found in DB8500 3857758458SLinus Walleij - items: 3957758458SLinus Walleij - const: stericsson,db8500-i2c 4057758458SLinus Walleij - const: st,nomadik-i2c 4157758458SLinus Walleij - const: arm,primecell 4257758458SLinus Walleij 4357758458SLinus Walleij reg: 4457758458SLinus Walleij maxItems: 1 4557758458SLinus Walleij 4657758458SLinus Walleij interrupts: 4757758458SLinus Walleij maxItems: 1 4857758458SLinus Walleij 4957758458SLinus Walleij clocks: 5057758458SLinus Walleij maxItems: 2 5157758458SLinus Walleij 5257758458SLinus Walleij clock-names: 5357758458SLinus Walleij oneOf: 5457758458SLinus Walleij # Clock name in STn8815 5557758458SLinus Walleij - items: 5657758458SLinus Walleij - const: mclk 5757758458SLinus Walleij - const: apb_pclk 5857758458SLinus Walleij # Clock name in DB8500 5957758458SLinus Walleij - items: 6057758458SLinus Walleij - const: i2cclk 6157758458SLinus Walleij - const: apb_pclk 6257758458SLinus Walleij 63faa60f18SLinus Walleij power-domains: 64faa60f18SLinus Walleij maxItems: 1 65faa60f18SLinus Walleij 6657758458SLinus Walleij resets: 6757758458SLinus Walleij maxItems: 1 6857758458SLinus Walleij 6957758458SLinus Walleij clock-frequency: 7057758458SLinus Walleij minimum: 1 7157758458SLinus Walleij maximum: 400000 7257758458SLinus Walleij 7357758458SLinus Walleijrequired: 7457758458SLinus Walleij - compatible 7557758458SLinus Walleij - reg 7657758458SLinus Walleij - interrupts 7757758458SLinus Walleij - clocks 7857758458SLinus Walleij - clock-names 7957758458SLinus Walleij 8057758458SLinus WalleijunevaluatedProperties: false 8157758458SLinus Walleij 8257758458SLinus Walleijexamples: 8357758458SLinus Walleij - | 8457758458SLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 8557758458SLinus Walleij #include <dt-bindings/interrupt-controller/arm-gic.h> 8657758458SLinus Walleij #include <dt-bindings/reset/stericsson,db8500-prcc-reset.h> 8757758458SLinus Walleij #include <dt-bindings/arm/ux500_pm_domains.h> 8857758458SLinus Walleij i2c@80004000 { 8957758458SLinus Walleij compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 9057758458SLinus Walleij reg = <0x80004000 0x1000>; 9157758458SLinus Walleij interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 9257758458SLinus Walleij 9357758458SLinus Walleij #address-cells = <1>; 9457758458SLinus Walleij #size-cells = <0>; 9557758458SLinus Walleij 9657758458SLinus Walleij clock-frequency = <400000>; 9757758458SLinus Walleij clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>; 9857758458SLinus Walleij clock-names = "i2cclk", "apb_pclk"; 9957758458SLinus Walleij power-domains = <&pm_domains DOMAIN_VAPE>; 10057758458SLinus Walleij resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_I2C0>; 10157758458SLinus Walleij }; 10257758458SLinus Walleij 10357758458SLinus Walleij i2c@101f8000 { 10457758458SLinus Walleij compatible = "st,nomadik-i2c", "arm,primecell"; 10557758458SLinus Walleij reg = <0x101f8000 0x1000>; 10657758458SLinus Walleij interrupt-parent = <&vica>; 10757758458SLinus Walleij interrupts = <20>; 10857758458SLinus Walleij clock-frequency = <100000>; 10957758458SLinus Walleij #address-cells = <1>; 11057758458SLinus Walleij #size-cells = <0>; 11157758458SLinus Walleij clocks = <&i2c0clk>, <&pclki2c0>; 11257758458SLinus Walleij clock-names = "mclk", "apb_pclk"; 11357758458SLinus Walleij }; 11457758458SLinus Walleij 11557758458SLinus Walleij... 116