162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/st,nomadik-i2c.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: ST Microelectronics Nomadik I2C 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: The Nomadik I2C host controller began its life in the ST 1062306a36Sopenharmony_ci Microelectronics STn8800 SoC, and was then inherited into STn8810 and 1162306a36Sopenharmony_ci STn8815. It was part of the prototype STn8500 which then became ST-Ericsson 1262306a36Sopenharmony_ci DB8500 after the merge of these two companies wireless divisions. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cimaintainers: 1562306a36Sopenharmony_ci - Linus Walleij <linus.walleij@linaro.org> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciallOf: 1862306a36Sopenharmony_ci - $ref: /schemas/i2c/i2c-controller.yaml# 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci# Need a custom select here or 'arm,primecell' will match on lots of nodes 2162306a36Sopenharmony_ciselect: 2262306a36Sopenharmony_ci properties: 2362306a36Sopenharmony_ci compatible: 2462306a36Sopenharmony_ci contains: 2562306a36Sopenharmony_ci enum: 2662306a36Sopenharmony_ci - st,nomadik-i2c 2762306a36Sopenharmony_ci required: 2862306a36Sopenharmony_ci - compatible 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciproperties: 3162306a36Sopenharmony_ci compatible: 3262306a36Sopenharmony_ci oneOf: 3362306a36Sopenharmony_ci # The variant found in STn8815 3462306a36Sopenharmony_ci - items: 3562306a36Sopenharmony_ci - const: st,nomadik-i2c 3662306a36Sopenharmony_ci - const: arm,primecell 3762306a36Sopenharmony_ci # The variant found in DB8500 3862306a36Sopenharmony_ci - items: 3962306a36Sopenharmony_ci - const: stericsson,db8500-i2c 4062306a36Sopenharmony_ci - const: st,nomadik-i2c 4162306a36Sopenharmony_ci - const: arm,primecell 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci reg: 4462306a36Sopenharmony_ci maxItems: 1 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci interrupts: 4762306a36Sopenharmony_ci maxItems: 1 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci clocks: 5062306a36Sopenharmony_ci maxItems: 2 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci clock-names: 5362306a36Sopenharmony_ci oneOf: 5462306a36Sopenharmony_ci # Clock name in STn8815 5562306a36Sopenharmony_ci - items: 5662306a36Sopenharmony_ci - const: mclk 5762306a36Sopenharmony_ci - const: apb_pclk 5862306a36Sopenharmony_ci # Clock name in DB8500 5962306a36Sopenharmony_ci - items: 6062306a36Sopenharmony_ci - const: i2cclk 6162306a36Sopenharmony_ci - const: apb_pclk 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci power-domains: 6462306a36Sopenharmony_ci maxItems: 1 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci resets: 6762306a36Sopenharmony_ci maxItems: 1 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci clock-frequency: 7062306a36Sopenharmony_ci minimum: 1 7162306a36Sopenharmony_ci maximum: 400000 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_cirequired: 7462306a36Sopenharmony_ci - compatible 7562306a36Sopenharmony_ci - reg 7662306a36Sopenharmony_ci - interrupts 7762306a36Sopenharmony_ci - clocks 7862306a36Sopenharmony_ci - clock-names 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciunevaluatedProperties: false 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciexamples: 8362306a36Sopenharmony_ci - | 8462306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 8562306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 8662306a36Sopenharmony_ci #include <dt-bindings/reset/stericsson,db8500-prcc-reset.h> 8762306a36Sopenharmony_ci #include <dt-bindings/arm/ux500_pm_domains.h> 8862306a36Sopenharmony_ci i2c@80004000 { 8962306a36Sopenharmony_ci compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 9062306a36Sopenharmony_ci reg = <0x80004000 0x1000>; 9162306a36Sopenharmony_ci interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci #address-cells = <1>; 9462306a36Sopenharmony_ci #size-cells = <0>; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci clock-frequency = <400000>; 9762306a36Sopenharmony_ci clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>; 9862306a36Sopenharmony_ci clock-names = "i2cclk", "apb_pclk"; 9962306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 10062306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_I2C0>; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci i2c@101f8000 { 10462306a36Sopenharmony_ci compatible = "st,nomadik-i2c", "arm,primecell"; 10562306a36Sopenharmony_ci reg = <0x101f8000 0x1000>; 10662306a36Sopenharmony_ci interrupt-parent = <&vica>; 10762306a36Sopenharmony_ci interrupts = <20>; 10862306a36Sopenharmony_ci clock-frequency = <100000>; 10962306a36Sopenharmony_ci #address-cells = <1>; 11062306a36Sopenharmony_ci #size-cells = <0>; 11162306a36Sopenharmony_ci clocks = <&i2c0clk>, <&pclki2c0>; 11262306a36Sopenharmony_ci clock-names = "mclk", "apb_pclk"; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci... 116