Lines Matching +full:i2c +full:- +full:gpio
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 ---
5 $id: http://devicetree.org/schemas/media/i2c/maxim,max9286.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
11 - Jacopo Mondi <jacopo+renesas@jmondi.org>
12 - Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
13 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
14 - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
18 Serial Links (GMSL) and outputs them on a CSI-2 D-PHY port using up to 4 data
22 channel that encapsulates I2C messages. The MAX9286 forwards all I2C traffic
24 serializer will output it on a local I2C bus. In the other direction all I2C
25 traffic received over GMSL by the MAX9286 is output on the local I2C bus.
28 '#address-cells':
31 '#size-cells':
38 description: I2C device address
41 poc-supply:
44 enable-gpios:
45 description: GPIO connected to the \#PWDN pin with inverted polarity
48 gpio-controller: true
50 '#gpio-cells':
53 maxim,reverse-channel-microvolt:
63 Some camera modules (for example RDACM20) include an on-board MCU that
64 pre-programs the embedded serializer with power supply noise immunity
65 (high-threshold) enabled. A typical value of the deserializer's reverse
66 channel amplitude to communicate with pre-programmed serializers is
70 a remote serializer whose high-threshold noise immunity is not enabled
73 maxim,gpio-poc:
74 $ref: '/schemas/types.yaml#/definitions/uint32-array'
78 Index of the MAX9286 gpio output line (0 or 1) that controls Power over
82 the gpio line index (0 or 1) and the second being the gpio line polarity
84 <include/dt-bindings/gpio/gpio.h>.
86 When the remote cameras power is controlled by one of the MAX9286 gpio
90 When this property is used it is not possible to register a gpio
91 controller as the gpio lines are controlled directly by the MAX9286 and
92 not available for consumers, nor the 'poc-supply' property should be
116 $ref: /schemas/graph.yaml#/$defs/port-base
118 description: CSI-2 Output
122 $ref: /schemas/media/video-interfaces.yaml#
126 data-lanes: true
129 - data-lanes
132 - port@4
134 i2c-mux:
136 $ref: /schemas/i2c/i2c-mux.yaml#
139 Each GMSL link is modelled as a child bus of an i2c bus multiplexer/switch.
142 "^i2c@[0-3]$":
145 Child node of the i2c bus multiplexer which represents a GMSL link.
147 an i2c-mux child node. The MAX9286 chip supports up to 4 GMSL
156 "^camera@[a-f0-9]+$":
170 The I2C addresses to be assigned to the remote devices through
179 - compatible
180 - reg
181 - port
186 - compatible
187 - reg
188 - ports
189 - i2c-mux
191 # If 'maxim,gpio-poc' is present, then 'poc-supply' and 'gpio-controller'
195 - maxim,gpio-poc
198 poc-supply: false
199 gpio-controller: false
204 - |
205 #include <dt-bindings/gpio/gpio.h>
207 i2c@e66d8000 {
208 #address-cells = <1>;
209 #size-cells = <0>;
213 gmsl-deserializer@2c {
216 poc-supply = <&camera_poc_12v>;
217 enable-gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
219 gpio-controller;
220 #gpio-cells = <2>;
222 maxim,reverse-channel-microvolt = <170000>;
225 #address-cells = <1>;
226 #size-cells = <0>;
232 remote-endpoint = <&rdacm20_out0>;
240 remote-endpoint = <&rdacm20_out1>;
248 remote-endpoint = <&rdacm20_out2>;
256 remote-endpoint = <&rdacm20_out3>;
264 data-lanes = <1 2 3 4>;
265 remote-endpoint = <&csi40_in>;
270 i2c-mux {
271 #address-cells = <1>;
272 #size-cells = <0>;
274 i2c@0 {
275 #address-cells = <1>;
276 #size-cells = <0>;
285 remote-endpoint = <&max9286_in0>;
292 i2c@1 {
293 #address-cells = <1>;
294 #size-cells = <0>;
303 remote-endpoint = <&max9286_in1>;
309 i2c@2 {
310 #address-cells = <1>;
311 #size-cells = <0>;
320 remote-endpoint = <&max9286_in2>;
326 i2c@3 {
327 #address-cells = <1>;
328 #size-cells = <0>;
337 remote-endpoint = <&max9286_in3>;
347 * through one of its gpio lines.
349 gmsl-deserializer@6c {
352 enable-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
355 * The remote camera power is controlled by MAX9286 GPIO line #0.
356 * No 'poc-supply' nor 'gpio-controller' are specified.
358 maxim,gpio-poc = <0 GPIO_ACTIVE_LOW>;
365 #address-cells = <1>;
366 #size-cells = <0>;
373 i2c-mux {
374 #address-cells = <1>;
375 #size-cells = <0>;