1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*b97ee269SEmmanuel Vadot%YAML 1.2 3*b97ee269SEmmanuel Vadot--- 4*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/st,nomadik-i2c.yaml# 5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b97ee269SEmmanuel Vadot 7*b97ee269SEmmanuel Vadottitle: ST Microelectronics Nomadik I2C Bindings 8*b97ee269SEmmanuel Vadot 9*b97ee269SEmmanuel Vadotdescription: The Nomadik I2C host controller began its life in the ST 10*b97ee269SEmmanuel Vadot Microelectronics STn8800 SoC, and was then inherited into STn8810 and 11*b97ee269SEmmanuel Vadot STn8815. It was part of the prototype STn8500 which then became ST-Ericsson 12*b97ee269SEmmanuel Vadot DB8500 after the merge of these two companies wireless divisions. 13*b97ee269SEmmanuel Vadot 14*b97ee269SEmmanuel Vadotmaintainers: 15*b97ee269SEmmanuel Vadot - Linus Walleij <linus.walleij@linaro.org> 16*b97ee269SEmmanuel Vadot 17*b97ee269SEmmanuel VadotallOf: 18*b97ee269SEmmanuel Vadot - $ref: /schemas/i2c/i2c-controller.yaml# 19*b97ee269SEmmanuel Vadot 20*b97ee269SEmmanuel Vadot# Need a custom select here or 'arm,primecell' will match on lots of nodes 21*b97ee269SEmmanuel Vadotselect: 22*b97ee269SEmmanuel Vadot properties: 23*b97ee269SEmmanuel Vadot compatible: 24*b97ee269SEmmanuel Vadot contains: 25*b97ee269SEmmanuel Vadot enum: 26*b97ee269SEmmanuel Vadot - st,nomadik-i2c 27*b97ee269SEmmanuel Vadot required: 28*b97ee269SEmmanuel Vadot - compatible 29*b97ee269SEmmanuel Vadot 30*b97ee269SEmmanuel Vadotproperties: 31*b97ee269SEmmanuel Vadot compatible: 32*b97ee269SEmmanuel Vadot oneOf: 33*b97ee269SEmmanuel Vadot # The variant found in STn8815 34*b97ee269SEmmanuel Vadot - items: 35*b97ee269SEmmanuel Vadot - const: st,nomadik-i2c 36*b97ee269SEmmanuel Vadot - const: arm,primecell 37*b97ee269SEmmanuel Vadot # The variant found in DB8500 38*b97ee269SEmmanuel Vadot - items: 39*b97ee269SEmmanuel Vadot - const: stericsson,db8500-i2c 40*b97ee269SEmmanuel Vadot - const: st,nomadik-i2c 41*b97ee269SEmmanuel Vadot - const: arm,primecell 42*b97ee269SEmmanuel Vadot 43*b97ee269SEmmanuel Vadot reg: 44*b97ee269SEmmanuel Vadot maxItems: 1 45*b97ee269SEmmanuel Vadot 46*b97ee269SEmmanuel Vadot interrupts: 47*b97ee269SEmmanuel Vadot maxItems: 1 48*b97ee269SEmmanuel Vadot 49*b97ee269SEmmanuel Vadot clocks: 50*b97ee269SEmmanuel Vadot maxItems: 2 51*b97ee269SEmmanuel Vadot 52*b97ee269SEmmanuel Vadot clock-names: 53*b97ee269SEmmanuel Vadot oneOf: 54*b97ee269SEmmanuel Vadot # Clock name in STn8815 55*b97ee269SEmmanuel Vadot - items: 56*b97ee269SEmmanuel Vadot - const: mclk 57*b97ee269SEmmanuel Vadot - const: apb_pclk 58*b97ee269SEmmanuel Vadot # Clock name in DB8500 59*b97ee269SEmmanuel Vadot - items: 60*b97ee269SEmmanuel Vadot - const: i2cclk 61*b97ee269SEmmanuel Vadot - const: apb_pclk 62*b97ee269SEmmanuel Vadot 63*b97ee269SEmmanuel Vadot power-domains: 64*b97ee269SEmmanuel Vadot maxItems: 1 65*b97ee269SEmmanuel Vadot 66*b97ee269SEmmanuel Vadot resets: 67*b97ee269SEmmanuel Vadot maxItems: 1 68*b97ee269SEmmanuel Vadot 69*b97ee269SEmmanuel Vadot clock-frequency: 70*b97ee269SEmmanuel Vadot minimum: 1 71*b97ee269SEmmanuel Vadot maximum: 400000 72*b97ee269SEmmanuel Vadot 73*b97ee269SEmmanuel Vadotrequired: 74*b97ee269SEmmanuel Vadot - compatible 75*b97ee269SEmmanuel Vadot - reg 76*b97ee269SEmmanuel Vadot - interrupts 77*b97ee269SEmmanuel Vadot - clocks 78*b97ee269SEmmanuel Vadot - clock-names 79*b97ee269SEmmanuel Vadot 80*b97ee269SEmmanuel VadotunevaluatedProperties: false 81*b97ee269SEmmanuel Vadot 82*b97ee269SEmmanuel Vadotexamples: 83*b97ee269SEmmanuel Vadot - | 84*b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 85*b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 86*b97ee269SEmmanuel Vadot #include <dt-bindings/reset/stericsson,db8500-prcc-reset.h> 87*b97ee269SEmmanuel Vadot #include <dt-bindings/arm/ux500_pm_domains.h> 88*b97ee269SEmmanuel Vadot i2c@80004000 { 89*b97ee269SEmmanuel Vadot compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 90*b97ee269SEmmanuel Vadot reg = <0x80004000 0x1000>; 91*b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 92*b97ee269SEmmanuel Vadot 93*b97ee269SEmmanuel Vadot #address-cells = <1>; 94*b97ee269SEmmanuel Vadot #size-cells = <0>; 95*b97ee269SEmmanuel Vadot 96*b97ee269SEmmanuel Vadot clock-frequency = <400000>; 97*b97ee269SEmmanuel Vadot clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>; 98*b97ee269SEmmanuel Vadot clock-names = "i2cclk", "apb_pclk"; 99*b97ee269SEmmanuel Vadot power-domains = <&pm_domains DOMAIN_VAPE>; 100*b97ee269SEmmanuel Vadot resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_I2C0>; 101*b97ee269SEmmanuel Vadot }; 102*b97ee269SEmmanuel Vadot 103*b97ee269SEmmanuel Vadot i2c@101f8000 { 104*b97ee269SEmmanuel Vadot compatible = "st,nomadik-i2c", "arm,primecell"; 105*b97ee269SEmmanuel Vadot reg = <0x101f8000 0x1000>; 106*b97ee269SEmmanuel Vadot interrupt-parent = <&vica>; 107*b97ee269SEmmanuel Vadot interrupts = <20>; 108*b97ee269SEmmanuel Vadot clock-frequency = <100000>; 109*b97ee269SEmmanuel Vadot #address-cells = <1>; 110*b97ee269SEmmanuel Vadot #size-cells = <0>; 111*b97ee269SEmmanuel Vadot clocks = <&i2c0clk>, <&pclki2c0>; 112*b97ee269SEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 113*b97ee269SEmmanuel Vadot }; 114*b97ee269SEmmanuel Vadot 115*b97ee269SEmmanuel Vadot... 116