brintos

brintos / linux-shallow public Read only

0
0
Text · 4.2 KiB · bbc5684 Raw
165 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/i2c/samsung,s3c2410-i2c.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Samsung S3C/S5P/Exynos SoC I2C Controller8 9maintainers:10  - Krzysztof Kozlowski <krzk@kernel.org>11 12properties:13  compatible:14    oneOf:15      - enum:16          - samsung,s3c2410-i2c17          - samsung,s3c2440-i2c18            # For s3c2440-like I2C used inside HDMIPHY block found on several SoCs:19          - samsung,s3c2440-hdmiphy-i2c20            # For s3c2440-like I2C used as a host to SATA PHY controller on an21            # internal bus:22          - samsung,exynos5-sata-phy-i2c23      - items:24          - enum:25              - samsung,exynos7885-i2c26              - samsung,exynos850-i2c27          - const: samsung,s3c2440-i2c28 29  clocks:30    maxItems: 131 32  clock-names:33    items:34      - const: i2c35 36  gpios:37    description: |38      The order of the GPIOs should be the following:: <SDA, SCL>.  The GPIO39      specifier depends on the gpio controller. Required in all cases except40      for "samsung,s3c2440-hdmiphy-i2c" whose input/output lines are41      permanently wired to the respective client.42      This property is deprecated. Use "pinctrl-0" and "pinctrl-names" instead.43    deprecated: true44 45  interrupts:46    maxItems: 147 48  reg:49    maxItems: 150 51  samsung,i2c-max-bus-freq:52    $ref: /schemas/types.yaml#/definitions/uint3253    description:54      Desired frequency in Hz of the bus.55    default: 10000056 57  samsung,i2c-sda-delay:58    $ref: /schemas/types.yaml#/definitions/uint3259    description:60      Delay (in ns) applied to data line (SDA) edges.61    default: 062 63  samsung,i2c-slave-addr:64    $ref: /schemas/types.yaml#/definitions/uint3265    description:66      Slave address in multi-master environment.67    default: 068 69  samsung,sysreg-phandle:70    $ref: /schemas/types.yaml#/definitions/phandle71    description: Pandle to syscon used to control the system registers.72 73required:74  - compatible75  - reg76 77allOf:78  - $ref: /schemas/i2c/i2c-controller.yaml#79  - if:80      properties:81        compatible:82          contains:83            enum:84              - samsung,s3c2440-hdmiphy-i2c85              - samsung,exynos5-sata-phy-i2c86    then:87      properties:88        gpios: false89 90  - if:91      properties:92        compatible:93          contains:94            enum:95              - samsung,s3c2410-i2c96              - samsung,s3c2440-i2c97              - samsung,s3c2440-hdmiphy-i2c98    then:99      required:100        - interrupts101 102unevaluatedProperties: false103 104examples:105  - |106    #include <dt-bindings/clock/exynos5250.h>107    #include <dt-bindings/interrupt-controller/arm-gic.h>108 109    i2c@12c60000 {110        compatible = "samsung,s3c2440-i2c";111        reg = <0x12C60000 0x100>;112        interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;113        #address-cells = <1>;114        #size-cells = <0>;115        clocks = <&clock CLK_I2C0>;116        clock-names = "i2c";117        pinctrl-names = "default";118        pinctrl-0 = <&i2c0_bus>;119 120        samsung,sysreg-phandle = <&sysreg_system_controller>;121        samsung,i2c-sda-delay = <100>;122        samsung,i2c-max-bus-freq = <20000>;123        samsung,i2c-slave-addr = <0x66>;124 125        eeprom@50 {126            compatible = "samsung,s524ad0xd1", "atmel,24c128";127            reg = <0x50>;128        };129    };130 131    i2c@12ce0000 {132        compatible = "samsung,s3c2440-hdmiphy-i2c";133        reg = <0x12CE0000 0x1000>;134        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;135        #address-cells = <1>;136        #size-cells = <0>;137        clocks = <&clock CLK_I2C_HDMI>;138        clock-names = "i2c";139 140        samsung,i2c-sda-delay = <100>;141        samsung,i2c-max-bus-freq = <66000>;142 143        phy-i2c@38 {144            compatible = "samsung,exynos4212-hdmiphy";145            reg = <0x38>;146        };147    };148 149    i2c@121d0000 {150        compatible = "samsung,exynos5-sata-phy-i2c";151        reg = <0x121D0000 0x100>;152        #address-cells = <1>;153        #size-cells = <0>;154        clocks = <&clock CLK_SATA_PHYI2C>;155        clock-names = "i2c";156 157        samsung,i2c-sda-delay = <100>;158        samsung,i2c-max-bus-freq = <40000>;159 160        phy-i2c@38 {161            compatible = "samsung,exynos-sataphy-i2c";162            reg = <0x38>;163        };164    };165