~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/i2c/i2c-rk3x.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/i2c/i2c-rk3x.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Rockchip RK3xxx I2C controller
  8 
  9 description:
 10   This driver interfaces with the native I2C controller present in Rockchip
 11   RK3xxx SoCs.
 12 
 13 allOf:
 14   - $ref: /schemas/i2c/i2c-controller.yaml#
 15 
 16 maintainers:
 17   - Heiko Stuebner <heiko@sntech.de>
 18 
 19 # Everything else is described in the common file
 20 properties:
 21   compatible:
 22     oneOf:
 23       - const: rockchip,rv1108-i2c
 24       - const: rockchip,rk3066-i2c
 25       - const: rockchip,rk3188-i2c
 26       - const: rockchip,rk3228-i2c
 27       - const: rockchip,rk3288-i2c
 28       - const: rockchip,rk3399-i2c
 29       - items:
 30           - enum:
 31               - rockchip,rk3036-i2c
 32               - rockchip,rk3128-i2c
 33               - rockchip,rk3368-i2c
 34           - const: rockchip,rk3288-i2c
 35       - items:
 36           - enum:
 37               - rockchip,px30-i2c
 38               - rockchip,rk3308-i2c
 39               - rockchip,rk3328-i2c
 40               - rockchip,rk3568-i2c
 41               - rockchip,rk3576-i2c
 42               - rockchip,rk3588-i2c
 43               - rockchip,rv1126-i2c
 44           - const: rockchip,rk3399-i2c
 45 
 46   reg:
 47     maxItems: 1
 48 
 49   interrupts:
 50     maxItems: 1
 51 
 52   clocks:
 53     minItems: 1
 54     items:
 55       - description:
 56           For older hardware (rk3066, rk3188, rk3228, rk3288)
 57           there is one clock that is used both to derive the functional clock
 58           for the device and as the bus clock.
 59           For newer hardware (rk3399) this clock is used to derive
 60           the functional clock
 61       - description:
 62           For newer hardware (rk3399) this is the bus clock
 63 
 64   clock-names:
 65     minItems: 1
 66     items:
 67       - const: i2c
 68       - const: pclk
 69 
 70   rockchip,grf:
 71     $ref: /schemas/types.yaml#/definitions/phandle
 72     description:
 73       Required on RK3066, RK3188 the phandle of the syscon node for
 74       the general register file (GRF)
 75       On those SoCs an alias with the correct I2C bus ID
 76       (bit offset in the GRF) is also required.
 77 
 78   clock-frequency:
 79     default: 100000
 80     description:
 81       SCL frequency to use (in Hz). If omitted, 100kHz is used.
 82 
 83   i2c-scl-rising-time-ns:
 84     default: 1000
 85     description:
 86       Number of nanoseconds the SCL signal takes to rise
 87       (t(r) in I2C specification). If not specified this is assumed to be
 88       the maximum the specification allows(1000 ns for Standard-mode,
 89       300 ns for Fast-mode) which might cause slightly slower communication.
 90 
 91   i2c-scl-falling-time-ns:
 92     default: 300
 93     description:
 94       Number of nanoseconds the SCL signal takes to fall
 95       (t(f) in the I2C specification). If not specified this is assumed to
 96       be the maximum the specification allows (300 ns) which might cause
 97       slightly slower communication.
 98 
 99   i2c-sda-falling-time-ns:
100     default: 300
101     description:
102       Number of nanoseconds the SDA signal takes to fall
103       (t(f) in the I2C specification). If not specified we will use the SCL
104       value since they are the same in nearly all cases.
105 
106 required:
107   - compatible
108   - reg
109   - interrupts
110   - clocks
111   - clock-names
112 
113 if:
114   properties:
115     compatible:
116       contains:
117         enum:
118           - rockchip,rk3066-i2c
119           - rockchip,rk3188-i2c
120 
121 then:
122   required:
123     - rockchip,grf
124 
125 unevaluatedProperties: false
126 
127 examples:
128   - |
129     #include <dt-bindings/clock/rk3188-cru-common.h>
130     #include <dt-bindings/interrupt-controller/arm-gic.h>
131     #include <dt-bindings/interrupt-controller/irq.h>
132     i2c0: i2c@2002d000 {
133       compatible = "rockchip,rk3188-i2c";
134       reg = <0x2002d000 0x1000>;
135       interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
136       clocks = <&cru PCLK_I2C0>;
137       clock-names = "i2c";
138       rockchip,grf = <&grf>;
139       i2c-scl-falling-time-ns = <100>;
140       i2c-scl-rising-time-ns = <800>;
141       #address-cells = <1>;
142       #size-cells = <0>;
143     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php