1*056d3857SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*056d3857SKrzysztof Kozlowski%YAML 1.2 3*056d3857SKrzysztof Kozlowski--- 4*056d3857SKrzysztof Kozlowski$id: http://devicetree.org/schemas/i2c/samsung,s3c2410-i2c.yaml# 5*056d3857SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*056d3857SKrzysztof Kozlowski 7*056d3857SKrzysztof Kozlowskititle: Samsung S3C/S5P/Exynos SoC I2C Controller 8*056d3857SKrzysztof Kozlowski 9*056d3857SKrzysztof Kozlowskimaintainers: 10*056d3857SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 11*056d3857SKrzysztof Kozlowski 12*056d3857SKrzysztof Kozlowskiproperties: 13*056d3857SKrzysztof Kozlowski compatible: 14*056d3857SKrzysztof Kozlowski enum: 15*056d3857SKrzysztof Kozlowski - samsung,s3c2410-i2c 16*056d3857SKrzysztof Kozlowski - samsung,s3c2440-i2c 17*056d3857SKrzysztof Kozlowski # For s3c2440-like I2C used inside HDMIPHY block found on several SoCs: 18*056d3857SKrzysztof Kozlowski - samsung,s3c2440-hdmiphy-i2c 19*056d3857SKrzysztof Kozlowski # For s3c2440-like I2C used as a host to SATA PHY controller on an 20*056d3857SKrzysztof Kozlowski # internal bus: 21*056d3857SKrzysztof Kozlowski - samsung,exynos5-sata-phy-i2c 22*056d3857SKrzysztof Kozlowski 23*056d3857SKrzysztof Kozlowski '#address-cells': 24*056d3857SKrzysztof Kozlowski const: 1 25*056d3857SKrzysztof Kozlowski 26*056d3857SKrzysztof Kozlowski clocks: 27*056d3857SKrzysztof Kozlowski maxItems: 1 28*056d3857SKrzysztof Kozlowski 29*056d3857SKrzysztof Kozlowski clock-names: 30*056d3857SKrzysztof Kozlowski items: 31*056d3857SKrzysztof Kozlowski - const: i2c 32*056d3857SKrzysztof Kozlowski 33*056d3857SKrzysztof Kozlowski gpios: 34*056d3857SKrzysztof Kozlowski description: | 35*056d3857SKrzysztof Kozlowski The order of the GPIOs should be the following:: <SDA, SCL>. The GPIO 36*056d3857SKrzysztof Kozlowski specifier depends on the gpio controller. Required in all cases except 37*056d3857SKrzysztof Kozlowski for "samsung,s3c2440-hdmiphy-i2c" whose input/output lines are 38*056d3857SKrzysztof Kozlowski permanently wired to the respective client. 39*056d3857SKrzysztof Kozlowski This property is deprecated. Use "pinctrl-0" and "pinctrl-names" instead. 40*056d3857SKrzysztof Kozlowski deprecated: yes 41*056d3857SKrzysztof Kozlowski 42*056d3857SKrzysztof Kozlowski interrupts: 43*056d3857SKrzysztof Kozlowski maxItems: 1 44*056d3857SKrzysztof Kozlowski 45*056d3857SKrzysztof Kozlowski reg: 46*056d3857SKrzysztof Kozlowski maxItems: 1 47*056d3857SKrzysztof Kozlowski 48*056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq: 49*056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 50*056d3857SKrzysztof Kozlowski description: 51*056d3857SKrzysztof Kozlowski Desired frequency in Hz of the bus. 52*056d3857SKrzysztof Kozlowski default: 100000 53*056d3857SKrzysztof Kozlowski 54*056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay: 55*056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 56*056d3857SKrzysztof Kozlowski description: 57*056d3857SKrzysztof Kozlowski Delay (in ns) applied to data line (SDA) edges. 58*056d3857SKrzysztof Kozlowski default: 0 59*056d3857SKrzysztof Kozlowski 60*056d3857SKrzysztof Kozlowski samsung,i2c-slave-addr: 61*056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 62*056d3857SKrzysztof Kozlowski description: 63*056d3857SKrzysztof Kozlowski Slave address in multi-master environment. 64*056d3857SKrzysztof Kozlowski default: 0 65*056d3857SKrzysztof Kozlowski 66*056d3857SKrzysztof Kozlowski samsung,sysreg-phandle: 67*056d3857SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 68*056d3857SKrzysztof Kozlowski description: Pandle to syscon used to control the system registers. 69*056d3857SKrzysztof Kozlowski 70*056d3857SKrzysztof Kozlowski '#size-cells': 71*056d3857SKrzysztof Kozlowski const: 0 72*056d3857SKrzysztof Kozlowski 73*056d3857SKrzysztof Kozlowskirequired: 74*056d3857SKrzysztof Kozlowski - compatible 75*056d3857SKrzysztof Kozlowski - reg 76*056d3857SKrzysztof Kozlowski 77*056d3857SKrzysztof KozlowskiallOf: 78*056d3857SKrzysztof Kozlowski - $ref: /schemas/i2c/i2c-controller.yaml# 79*056d3857SKrzysztof Kozlowski - if: 80*056d3857SKrzysztof Kozlowski properties: 81*056d3857SKrzysztof Kozlowski compatible: 82*056d3857SKrzysztof Kozlowski contains: 83*056d3857SKrzysztof Kozlowski enum: 84*056d3857SKrzysztof Kozlowski - samsung,s3c2440-hdmiphy-i2c 85*056d3857SKrzysztof Kozlowski - samsung,exynos5-sata-phy-i2c 86*056d3857SKrzysztof Kozlowski then: 87*056d3857SKrzysztof Kozlowski properties: 88*056d3857SKrzysztof Kozlowski gpios: false 89*056d3857SKrzysztof Kozlowski 90*056d3857SKrzysztof Kozlowski - if: 91*056d3857SKrzysztof Kozlowski properties: 92*056d3857SKrzysztof Kozlowski compatible: 93*056d3857SKrzysztof Kozlowski contains: 94*056d3857SKrzysztof Kozlowski enum: 95*056d3857SKrzysztof Kozlowski - samsung,s3c2410-i2c 96*056d3857SKrzysztof Kozlowski - samsung,s3c2440-i2c 97*056d3857SKrzysztof Kozlowski - samsung,s3c2440-hdmiphy-i2c 98*056d3857SKrzysztof Kozlowski then: 99*056d3857SKrzysztof Kozlowski required: 100*056d3857SKrzysztof Kozlowski - interrupts 101*056d3857SKrzysztof Kozlowski 102*056d3857SKrzysztof KozlowskiunevaluatedProperties: false 103*056d3857SKrzysztof Kozlowski 104*056d3857SKrzysztof Kozlowskiexamples: 105*056d3857SKrzysztof Kozlowski - | 106*056d3857SKrzysztof Kozlowski #include <dt-bindings/clock/exynos5250.h> 107*056d3857SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 108*056d3857SKrzysztof Kozlowski 109*056d3857SKrzysztof Kozlowski i2c@12c60000 { 110*056d3857SKrzysztof Kozlowski compatible = "samsung,s3c2440-i2c"; 111*056d3857SKrzysztof Kozlowski reg = <0x12C60000 0x100>; 112*056d3857SKrzysztof Kozlowski interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 113*056d3857SKrzysztof Kozlowski #address-cells = <1>; 114*056d3857SKrzysztof Kozlowski #size-cells = <0>; 115*056d3857SKrzysztof Kozlowski clocks = <&clock CLK_I2C0>; 116*056d3857SKrzysztof Kozlowski clock-names = "i2c"; 117*056d3857SKrzysztof Kozlowski pinctrl-names = "default"; 118*056d3857SKrzysztof Kozlowski pinctrl-0 = <&i2c0_bus>; 119*056d3857SKrzysztof Kozlowski 120*056d3857SKrzysztof Kozlowski samsung,sysreg-phandle = <&sysreg_system_controller>; 121*056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay = <100>; 122*056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq = <20000>; 123*056d3857SKrzysztof Kozlowski samsung,i2c-slave-addr = <0x66>; 124*056d3857SKrzysztof Kozlowski 125*056d3857SKrzysztof Kozlowski eeprom@50 { 126*056d3857SKrzysztof Kozlowski compatible = "samsung,s524ad0xd1"; 127*056d3857SKrzysztof Kozlowski reg = <0x50>; 128*056d3857SKrzysztof Kozlowski }; 129*056d3857SKrzysztof Kozlowski }; 130*056d3857SKrzysztof Kozlowski 131*056d3857SKrzysztof Kozlowski i2c@12ce0000 { 132*056d3857SKrzysztof Kozlowski compatible = "samsung,s3c2440-hdmiphy-i2c"; 133*056d3857SKrzysztof Kozlowski reg = <0x12CE0000 0x1000>; 134*056d3857SKrzysztof Kozlowski interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 135*056d3857SKrzysztof Kozlowski #address-cells = <1>; 136*056d3857SKrzysztof Kozlowski #size-cells = <0>; 137*056d3857SKrzysztof Kozlowski clocks = <&clock CLK_I2C_HDMI>; 138*056d3857SKrzysztof Kozlowski clock-names = "i2c"; 139*056d3857SKrzysztof Kozlowski 140*056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay = <100>; 141*056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq = <66000>; 142*056d3857SKrzysztof Kozlowski 143*056d3857SKrzysztof Kozlowski phy-i2c@38 { 144*056d3857SKrzysztof Kozlowski compatible = "samsung,exynos4212-hdmiphy"; 145*056d3857SKrzysztof Kozlowski reg = <0x38>; 146*056d3857SKrzysztof Kozlowski }; 147*056d3857SKrzysztof Kozlowski }; 148*056d3857SKrzysztof Kozlowski 149*056d3857SKrzysztof Kozlowski i2c@121d0000 { 150*056d3857SKrzysztof Kozlowski compatible = "samsung,exynos5-sata-phy-i2c"; 151*056d3857SKrzysztof Kozlowski reg = <0x121D0000 0x100>; 152*056d3857SKrzysztof Kozlowski #address-cells = <1>; 153*056d3857SKrzysztof Kozlowski #size-cells = <0>; 154*056d3857SKrzysztof Kozlowski clocks = <&clock CLK_SATA_PHYI2C>; 155*056d3857SKrzysztof Kozlowski clock-names = "i2c"; 156*056d3857SKrzysztof Kozlowski 157*056d3857SKrzysztof Kozlowski samsung,i2c-sda-delay = <100>; 158*056d3857SKrzysztof Kozlowski samsung,i2c-max-bus-freq = <40000>; 159*056d3857SKrzysztof Kozlowski 160*056d3857SKrzysztof Kozlowski phy-i2c@38 { 161*056d3857SKrzysztof Kozlowski compatible = "samsung,exynos-sataphy-i2c"; 162*056d3857SKrzysztof Kozlowski reg = <0x38>; 163*056d3857SKrzysztof Kozlowski }; 164*056d3857SKrzysztof Kozlowski }; 165