1056d3857SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2056d3857SKrzysztof Kozlowski%YAML 1.2 3056d3857SKrzysztof Kozlowski--- 4056d3857SKrzysztof Kozlowski$id: http://devicetree.org/schemas/i2c/samsung,s3c2410-i2c.yaml# 5056d3857SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6056d3857SKrzysztof Kozlowski 7056d3857SKrzysztof Kozlowskititle: Samsung S3C/S5P/Exynos SoC I2C Controller 8056d3857SKrzysztof Kozlowski 9056d3857SKrzysztof Kozlowskimaintainers: 10056d3857SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 11056d3857SKrzysztof Kozlowski 12056d3857SKrzysztof Kozlowskiproperties: 13056d3857SKrzysztof Kozlowski compatible: 14056d3857SKrzysztof Kozlowski enum: 15056d3857SKrzysztof Kozlowski - samsung,s3c2410-i2c 16056d3857SKrzysztof Kozlowski - samsung,s3c2440-i2c 17056d3857SKrzysztof Kozlowski # For s3c2440-like I2C used inside HDMIPHY block found on several SoCs: 18056d3857SKrzysztof Kozlowski - samsung,s3c2440-hdmiphy-i2c 19056d3857SKrzysztof Kozlowski # For s3c2440-like I2C used as a host to SATA PHY controller on an 20056d3857SKrzysztof Kozlowski # internal bus: 21056d3857SKrzysztof Kozlowski - samsung,exynos5-sata-phy-i2c 22056d3857SKrzysztof Kozlowski 23056d3857SKrzysztof Kozlowski '#address-cells': 24056d3857SKrzysztof Kozlowski const: 1 25056d3857SKrzysztof Kozlowski 26056d3857SKrzysztof Kozlowski clocks: 27056d3857SKrzysztof Kozlowski maxItems: 1 28056d3857SKrzysztof Kozlowski 29056d3857SKrzysztof Kozlowski clock-names: 30056d3857SKrzysztof Kozlowski items: 31056d3857SKrzysztof Kozlowski - const: i2c 32056d3857SKrzysztof Kozlowski 33056d3857SKrzysztof Kozlowski gpios: 34056d3857SKrzysztof Kozlowski description: | 35056d3857SKrzysztof Kozlowski The order of the GPIOs should be the following:: <SDA, SCL>. The GPIO 36056d3857SKrzysztof Kozlowski specifier depends on the gpio controller. Required in all cases except 37056d3857SKrzysztof Kozlowski for "samsung,s3c2440-hdmiphy-i2c" whose input/output lines are 38056d3857SKrzysztof Kozlowski permanently wired to the respective client. 39056d3857SKrzysztof Kozlowski This property is deprecated. Use "pinctrl-0" and "pinctrl-names" instead. 40056d3857SKrzysztof Kozlowski deprecated: yes 41056d3857SKrzysztof Kozlowski 42056d3857SKrzysztof Kozlowski interrupts: 43056d3857SKrzysztof Kozlowski maxItems: 1 44056d3857SKrzysztof Kozlowski 45056d3857SKrzysztof Kozlowski reg: 46056d3857SKrzysztof Kozlowski maxItems: 1 47056d3857SKrzysztof Kozlowski 48056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq: 49056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 50056d3857SKrzysztof Kozlowski description: 51056d3857SKrzysztof Kozlowski Desired frequency in Hz of the bus. 52056d3857SKrzysztof Kozlowski default: 100000 53056d3857SKrzysztof Kozlowski 54056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay: 55056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 56056d3857SKrzysztof Kozlowski description: 57056d3857SKrzysztof Kozlowski Delay (in ns) applied to data line (SDA) edges. 58056d3857SKrzysztof Kozlowski default: 0 59056d3857SKrzysztof Kozlowski 60056d3857SKrzysztof Kozlowski samsung,i2c-slave-addr: 61056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 62056d3857SKrzysztof Kozlowski description: 63056d3857SKrzysztof Kozlowski Slave address in multi-master environment. 64056d3857SKrzysztof Kozlowski default: 0 65056d3857SKrzysztof Kozlowski 66056d3857SKrzysztof Kozlowski samsung,sysreg-phandle: 67056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 68056d3857SKrzysztof Kozlowski description: Pandle to syscon used to control the system registers. 69056d3857SKrzysztof Kozlowski 70056d3857SKrzysztof Kozlowski '#size-cells': 71056d3857SKrzysztof Kozlowski const: 0 72056d3857SKrzysztof Kozlowski 73056d3857SKrzysztof Kozlowskirequired: 74056d3857SKrzysztof Kozlowski - compatible 75056d3857SKrzysztof Kozlowski - reg 76056d3857SKrzysztof Kozlowski 77056d3857SKrzysztof KozlowskiallOf: 78056d3857SKrzysztof Kozlowski - $ref: /schemas/i2c/i2c-controller.yaml# 79056d3857SKrzysztof Kozlowski - if: 80056d3857SKrzysztof Kozlowski properties: 81056d3857SKrzysztof Kozlowski compatible: 82056d3857SKrzysztof Kozlowski contains: 83056d3857SKrzysztof Kozlowski enum: 84056d3857SKrzysztof Kozlowski - samsung,s3c2440-hdmiphy-i2c 85056d3857SKrzysztof Kozlowski - samsung,exynos5-sata-phy-i2c 86056d3857SKrzysztof Kozlowski then: 87056d3857SKrzysztof Kozlowski properties: 88056d3857SKrzysztof Kozlowski gpios: false 89056d3857SKrzysztof Kozlowski 90056d3857SKrzysztof Kozlowski - if: 91056d3857SKrzysztof Kozlowski properties: 92056d3857SKrzysztof Kozlowski compatible: 93056d3857SKrzysztof Kozlowski contains: 94056d3857SKrzysztof Kozlowski enum: 95056d3857SKrzysztof Kozlowski - samsung,s3c2410-i2c 96056d3857SKrzysztof Kozlowski - samsung,s3c2440-i2c 97056d3857SKrzysztof Kozlowski - samsung,s3c2440-hdmiphy-i2c 98056d3857SKrzysztof Kozlowski then: 99056d3857SKrzysztof Kozlowski required: 100056d3857SKrzysztof Kozlowski - interrupts 101056d3857SKrzysztof Kozlowski 102056d3857SKrzysztof KozlowskiunevaluatedProperties: false 103056d3857SKrzysztof Kozlowski 104056d3857SKrzysztof Kozlowskiexamples: 105056d3857SKrzysztof Kozlowski - | 106056d3857SKrzysztof Kozlowski #include <dt-bindings/clock/exynos5250.h> 107056d3857SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 108056d3857SKrzysztof Kozlowski 109056d3857SKrzysztof Kozlowski i2c@12c60000 { 110056d3857SKrzysztof Kozlowski compatible = "samsung,s3c2440-i2c"; 111056d3857SKrzysztof Kozlowski reg = <0x12C60000 0x100>; 112056d3857SKrzysztof Kozlowski interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 113056d3857SKrzysztof Kozlowski #address-cells = <1>; 114056d3857SKrzysztof Kozlowski #size-cells = <0>; 115056d3857SKrzysztof Kozlowski clocks = <&clock CLK_I2C0>; 116056d3857SKrzysztof Kozlowski clock-names = "i2c"; 117056d3857SKrzysztof Kozlowski pinctrl-names = "default"; 118056d3857SKrzysztof Kozlowski pinctrl-0 = <&i2c0_bus>; 119056d3857SKrzysztof Kozlowski 120056d3857SKrzysztof Kozlowski samsung,sysreg-phandle = <&sysreg_system_controller>; 121056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay = <100>; 122056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq = <20000>; 123056d3857SKrzysztof Kozlowski samsung,i2c-slave-addr = <0x66>; 124056d3857SKrzysztof Kozlowski 125056d3857SKrzysztof Kozlowski eeprom@50 { 126*dedf10f4SRob Herring compatible = "samsung,s524ad0xd1", "atmel,24c128"; 127056d3857SKrzysztof Kozlowski reg = <0x50>; 128056d3857SKrzysztof Kozlowski }; 129056d3857SKrzysztof Kozlowski }; 130056d3857SKrzysztof Kozlowski 131056d3857SKrzysztof Kozlowski i2c@12ce0000 { 132056d3857SKrzysztof Kozlowski compatible = "samsung,s3c2440-hdmiphy-i2c"; 133056d3857SKrzysztof Kozlowski reg = <0x12CE0000 0x1000>; 134056d3857SKrzysztof Kozlowski interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 135056d3857SKrzysztof Kozlowski #address-cells = <1>; 136056d3857SKrzysztof Kozlowski #size-cells = <0>; 137056d3857SKrzysztof Kozlowski clocks = <&clock CLK_I2C_HDMI>; 138056d3857SKrzysztof Kozlowski clock-names = "i2c"; 139056d3857SKrzysztof Kozlowski 140056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay = <100>; 141056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq = <66000>; 142056d3857SKrzysztof Kozlowski 143056d3857SKrzysztof Kozlowski phy-i2c@38 { 144056d3857SKrzysztof Kozlowski compatible = "samsung,exynos4212-hdmiphy"; 145056d3857SKrzysztof Kozlowski reg = <0x38>; 146056d3857SKrzysztof Kozlowski }; 147056d3857SKrzysztof Kozlowski }; 148056d3857SKrzysztof Kozlowski 149056d3857SKrzysztof Kozlowski i2c@121d0000 { 150056d3857SKrzysztof Kozlowski compatible = "samsung,exynos5-sata-phy-i2c"; 151056d3857SKrzysztof Kozlowski reg = <0x121D0000 0x100>; 152056d3857SKrzysztof Kozlowski #address-cells = <1>; 153056d3857SKrzysztof Kozlowski #size-cells = <0>; 154056d3857SKrzysztof Kozlowski clocks = <&clock CLK_SATA_PHYI2C>; 155056d3857SKrzysztof Kozlowski clock-names = "i2c"; 156056d3857SKrzysztof Kozlowski 157056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay = <100>; 158056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq = <40000>; 159056d3857SKrzysztof Kozlowski 160056d3857SKrzysztof Kozlowski phy-i2c@38 { 161056d3857SKrzysztof Kozlowski compatible = "samsung,exynos-sataphy-i2c"; 162056d3857SKrzysztof Kozlowski reg = <0x38>; 163056d3857SKrzysztof Kozlowski }; 164056d3857SKrzysztof Kozlowski }; 165