1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2aa1a8ff2SEmmanuel Vadot%YAML 1.2 3aa1a8ff2SEmmanuel Vadot--- 4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub960.yaml# 5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6aa1a8ff2SEmmanuel Vadot 7aa1a8ff2SEmmanuel Vadottitle: Texas Instruments DS90UB9XX Family FPD-Link Deserializer Hubs 8aa1a8ff2SEmmanuel Vadot 9aa1a8ff2SEmmanuel Vadotmaintainers: 10aa1a8ff2SEmmanuel Vadot - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> 11aa1a8ff2SEmmanuel Vadot 12aa1a8ff2SEmmanuel Vadotdescription: 13aa1a8ff2SEmmanuel Vadot The TI DS90UB9XX devices are FPD-Link video deserializers with I2C and GPIO 14aa1a8ff2SEmmanuel Vadot forwarding. 15aa1a8ff2SEmmanuel Vadot 16aa1a8ff2SEmmanuel VadotallOf: 17aa1a8ff2SEmmanuel Vadot - $ref: /schemas/i2c/i2c-atr.yaml# 18aa1a8ff2SEmmanuel Vadot 19aa1a8ff2SEmmanuel Vadotproperties: 20aa1a8ff2SEmmanuel Vadot compatible: 21aa1a8ff2SEmmanuel Vadot enum: 22aa1a8ff2SEmmanuel Vadot - ti,ds90ub960-q1 23aa1a8ff2SEmmanuel Vadot - ti,ds90ub9702-q1 24aa1a8ff2SEmmanuel Vadot 25aa1a8ff2SEmmanuel Vadot reg: 26aa1a8ff2SEmmanuel Vadot maxItems: 1 27aa1a8ff2SEmmanuel Vadot 28aa1a8ff2SEmmanuel Vadot clocks: 29aa1a8ff2SEmmanuel Vadot maxItems: 1 30aa1a8ff2SEmmanuel Vadot description: 31aa1a8ff2SEmmanuel Vadot Reference clock connected to the REFCLK pin. 32aa1a8ff2SEmmanuel Vadot 33aa1a8ff2SEmmanuel Vadot clock-names: 34aa1a8ff2SEmmanuel Vadot items: 35aa1a8ff2SEmmanuel Vadot - const: refclk 36aa1a8ff2SEmmanuel Vadot 37aa1a8ff2SEmmanuel Vadot powerdown-gpios: 38aa1a8ff2SEmmanuel Vadot maxItems: 1 39aa1a8ff2SEmmanuel Vadot description: 40aa1a8ff2SEmmanuel Vadot Specifier for the GPIO connected to the PDB pin. 41aa1a8ff2SEmmanuel Vadot 42aa1a8ff2SEmmanuel Vadot i2c-alias-pool: 43aa1a8ff2SEmmanuel Vadot minItems: 1 44aa1a8ff2SEmmanuel Vadot maxItems: 32 45aa1a8ff2SEmmanuel Vadot 46aa1a8ff2SEmmanuel Vadot links: 47aa1a8ff2SEmmanuel Vadot type: object 48aa1a8ff2SEmmanuel Vadot additionalProperties: false 49aa1a8ff2SEmmanuel Vadot 50aa1a8ff2SEmmanuel Vadot properties: 51aa1a8ff2SEmmanuel Vadot '#address-cells': 52aa1a8ff2SEmmanuel Vadot const: 1 53aa1a8ff2SEmmanuel Vadot 54aa1a8ff2SEmmanuel Vadot '#size-cells': 55aa1a8ff2SEmmanuel Vadot const: 0 56aa1a8ff2SEmmanuel Vadot 57aa1a8ff2SEmmanuel Vadot ti,manual-strobe: 58aa1a8ff2SEmmanuel Vadot type: boolean 59aa1a8ff2SEmmanuel Vadot description: 60aa1a8ff2SEmmanuel Vadot Enable manual strobe position and EQ level 61aa1a8ff2SEmmanuel Vadot 62aa1a8ff2SEmmanuel Vadot patternProperties: 63aa1a8ff2SEmmanuel Vadot '^link@[0-3]$': 64aa1a8ff2SEmmanuel Vadot type: object 65aa1a8ff2SEmmanuel Vadot additionalProperties: false 66aa1a8ff2SEmmanuel Vadot properties: 67aa1a8ff2SEmmanuel Vadot reg: 68aa1a8ff2SEmmanuel Vadot description: The link number 69aa1a8ff2SEmmanuel Vadot maxItems: 1 70aa1a8ff2SEmmanuel Vadot 71aa1a8ff2SEmmanuel Vadot i2c-alias: 72*84943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 73aa1a8ff2SEmmanuel Vadot description: 74aa1a8ff2SEmmanuel Vadot The I2C address used for the serializer. Transactions to this 75aa1a8ff2SEmmanuel Vadot address on the I2C bus where the deserializer resides are 76aa1a8ff2SEmmanuel Vadot forwarded to the serializer. 77aa1a8ff2SEmmanuel Vadot 78aa1a8ff2SEmmanuel Vadot ti,rx-mode: 79aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 80aa1a8ff2SEmmanuel Vadot enum: 81aa1a8ff2SEmmanuel Vadot - 0 # RAW10 82aa1a8ff2SEmmanuel Vadot - 1 # RAW12 HF 83aa1a8ff2SEmmanuel Vadot - 2 # RAW12 LF 84aa1a8ff2SEmmanuel Vadot - 3 # CSI2 SYNC 85aa1a8ff2SEmmanuel Vadot - 4 # CSI2 NON-SYNC 86aa1a8ff2SEmmanuel Vadot description: 87aa1a8ff2SEmmanuel Vadot FPD-Link Input Mode. This should reflect the hardware and the 88aa1a8ff2SEmmanuel Vadot default mode of the connected device. 89aa1a8ff2SEmmanuel Vadot 90aa1a8ff2SEmmanuel Vadot ti,cdr-mode: 91aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 92aa1a8ff2SEmmanuel Vadot enum: 93aa1a8ff2SEmmanuel Vadot - 0 # FPD-Link III 94aa1a8ff2SEmmanuel Vadot - 1 # FPD-Link IV 95aa1a8ff2SEmmanuel Vadot description: 96aa1a8ff2SEmmanuel Vadot FPD-Link CDR Mode. This should reflect the hardware and the 97aa1a8ff2SEmmanuel Vadot default mode of the connected device. 98aa1a8ff2SEmmanuel Vadot 99aa1a8ff2SEmmanuel Vadot ti,strobe-pos: 100aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/int32 101aa1a8ff2SEmmanuel Vadot minimum: -13 102aa1a8ff2SEmmanuel Vadot maximum: 13 103aa1a8ff2SEmmanuel Vadot description: Manual strobe position 104aa1a8ff2SEmmanuel Vadot 105aa1a8ff2SEmmanuel Vadot ti,eq-level: 106aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 107aa1a8ff2SEmmanuel Vadot maximum: 14 108aa1a8ff2SEmmanuel Vadot description: Manual EQ level 109aa1a8ff2SEmmanuel Vadot 110aa1a8ff2SEmmanuel Vadot serializer: 111aa1a8ff2SEmmanuel Vadot type: object 112aa1a8ff2SEmmanuel Vadot description: FPD-Link Serializer node 113aa1a8ff2SEmmanuel Vadot 114aa1a8ff2SEmmanuel Vadot required: 115aa1a8ff2SEmmanuel Vadot - reg 116aa1a8ff2SEmmanuel Vadot - i2c-alias 117aa1a8ff2SEmmanuel Vadot - ti,rx-mode 118aa1a8ff2SEmmanuel Vadot - serializer 119aa1a8ff2SEmmanuel Vadot 120aa1a8ff2SEmmanuel Vadot ports: 121aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 122aa1a8ff2SEmmanuel Vadot 123aa1a8ff2SEmmanuel Vadot properties: 124aa1a8ff2SEmmanuel Vadot port@0: 125aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 126aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 127aa1a8ff2SEmmanuel Vadot description: FPD-Link input 0 128aa1a8ff2SEmmanuel Vadot 129aa1a8ff2SEmmanuel Vadot properties: 130aa1a8ff2SEmmanuel Vadot endpoint: 131aa1a8ff2SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 132aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 133aa1a8ff2SEmmanuel Vadot description: 134aa1a8ff2SEmmanuel Vadot Endpoint for FPD-Link port. If the RX mode for this port is RAW, 135aa1a8ff2SEmmanuel Vadot hsync-active and vsync-active must be defined. 136aa1a8ff2SEmmanuel Vadot 137aa1a8ff2SEmmanuel Vadot port@1: 138aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 139aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 140aa1a8ff2SEmmanuel Vadot description: FPD-Link input 1 141aa1a8ff2SEmmanuel Vadot 142aa1a8ff2SEmmanuel Vadot properties: 143aa1a8ff2SEmmanuel Vadot endpoint: 144aa1a8ff2SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 145aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 146aa1a8ff2SEmmanuel Vadot description: 147aa1a8ff2SEmmanuel Vadot Endpoint for FPD-Link port. If the RX mode for this port is RAW, 148aa1a8ff2SEmmanuel Vadot hsync-active and vsync-active must be defined. 149aa1a8ff2SEmmanuel Vadot 150aa1a8ff2SEmmanuel Vadot port@2: 151aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 152aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 153aa1a8ff2SEmmanuel Vadot description: FPD-Link input 2 154aa1a8ff2SEmmanuel Vadot 155aa1a8ff2SEmmanuel Vadot properties: 156aa1a8ff2SEmmanuel Vadot endpoint: 157aa1a8ff2SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 158aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 159aa1a8ff2SEmmanuel Vadot description: 160aa1a8ff2SEmmanuel Vadot Endpoint for FPD-Link port. If the RX mode for this port is RAW, 161aa1a8ff2SEmmanuel Vadot hsync-active and vsync-active must be defined. 162aa1a8ff2SEmmanuel Vadot 163aa1a8ff2SEmmanuel Vadot port@3: 164aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 165aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 166aa1a8ff2SEmmanuel Vadot description: FPD-Link input 3 167aa1a8ff2SEmmanuel Vadot 168aa1a8ff2SEmmanuel Vadot properties: 169aa1a8ff2SEmmanuel Vadot endpoint: 170aa1a8ff2SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 171aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 172aa1a8ff2SEmmanuel Vadot description: 173aa1a8ff2SEmmanuel Vadot Endpoint for FPD-Link port. If the RX mode for this port is RAW, 174aa1a8ff2SEmmanuel Vadot hsync-active and vsync-active must be defined. 175aa1a8ff2SEmmanuel Vadot 176aa1a8ff2SEmmanuel Vadot port@4: 177aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 178aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 179aa1a8ff2SEmmanuel Vadot description: CSI-2 Output 0 180aa1a8ff2SEmmanuel Vadot 181aa1a8ff2SEmmanuel Vadot properties: 182aa1a8ff2SEmmanuel Vadot endpoint: 183aa1a8ff2SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 184aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 185aa1a8ff2SEmmanuel Vadot 186aa1a8ff2SEmmanuel Vadot properties: 187aa1a8ff2SEmmanuel Vadot data-lanes: 188aa1a8ff2SEmmanuel Vadot minItems: 1 189aa1a8ff2SEmmanuel Vadot maxItems: 4 190aa1a8ff2SEmmanuel Vadot link-frequencies: 191aa1a8ff2SEmmanuel Vadot maxItems: 1 192aa1a8ff2SEmmanuel Vadot 193aa1a8ff2SEmmanuel Vadot required: 194aa1a8ff2SEmmanuel Vadot - data-lanes 195aa1a8ff2SEmmanuel Vadot - link-frequencies 196aa1a8ff2SEmmanuel Vadot 197aa1a8ff2SEmmanuel Vadot port@5: 198aa1a8ff2SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 199aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 200aa1a8ff2SEmmanuel Vadot description: CSI-2 Output 1 201aa1a8ff2SEmmanuel Vadot 202aa1a8ff2SEmmanuel Vadot properties: 203aa1a8ff2SEmmanuel Vadot endpoint: 204aa1a8ff2SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 205aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 206aa1a8ff2SEmmanuel Vadot 207aa1a8ff2SEmmanuel Vadot properties: 208aa1a8ff2SEmmanuel Vadot data-lanes: 209aa1a8ff2SEmmanuel Vadot minItems: 1 210aa1a8ff2SEmmanuel Vadot maxItems: 4 211aa1a8ff2SEmmanuel Vadot link-frequencies: 212aa1a8ff2SEmmanuel Vadot maxItems: 1 213aa1a8ff2SEmmanuel Vadot 214aa1a8ff2SEmmanuel Vadot required: 215aa1a8ff2SEmmanuel Vadot - data-lanes 216aa1a8ff2SEmmanuel Vadot - link-frequencies 217aa1a8ff2SEmmanuel Vadot 218aa1a8ff2SEmmanuel Vadot required: 219aa1a8ff2SEmmanuel Vadot - port@0 220aa1a8ff2SEmmanuel Vadot - port@1 221aa1a8ff2SEmmanuel Vadot - port@2 222aa1a8ff2SEmmanuel Vadot - port@3 223aa1a8ff2SEmmanuel Vadot - port@4 224aa1a8ff2SEmmanuel Vadot - port@5 225aa1a8ff2SEmmanuel Vadot 226aa1a8ff2SEmmanuel Vadotrequired: 227aa1a8ff2SEmmanuel Vadot - compatible 228aa1a8ff2SEmmanuel Vadot - reg 229aa1a8ff2SEmmanuel Vadot - clocks 230aa1a8ff2SEmmanuel Vadot - clock-names 231aa1a8ff2SEmmanuel Vadot - ports 232aa1a8ff2SEmmanuel Vadot 233aa1a8ff2SEmmanuel VadotunevaluatedProperties: false 234aa1a8ff2SEmmanuel Vadot 235aa1a8ff2SEmmanuel Vadotexamples: 236aa1a8ff2SEmmanuel Vadot - | 237aa1a8ff2SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 238aa1a8ff2SEmmanuel Vadot 239aa1a8ff2SEmmanuel Vadot i2c { 240aa1a8ff2SEmmanuel Vadot clock-frequency = <400000>; 241aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 242aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 243aa1a8ff2SEmmanuel Vadot 244aa1a8ff2SEmmanuel Vadot deser@3d { 245aa1a8ff2SEmmanuel Vadot compatible = "ti,ds90ub960-q1"; 246aa1a8ff2SEmmanuel Vadot reg = <0x3d>; 247aa1a8ff2SEmmanuel Vadot 248aa1a8ff2SEmmanuel Vadot clock-names = "refclk"; 249aa1a8ff2SEmmanuel Vadot clocks = <&fixed_clock>; 250aa1a8ff2SEmmanuel Vadot 251aa1a8ff2SEmmanuel Vadot powerdown-gpios = <&pca9555 7 GPIO_ACTIVE_LOW>; 252aa1a8ff2SEmmanuel Vadot 253aa1a8ff2SEmmanuel Vadot i2c-alias-pool = <0x4a 0x4b 0x4c 0x4d 0x4e 0x4f>; 254aa1a8ff2SEmmanuel Vadot 255aa1a8ff2SEmmanuel Vadot ports { 256aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 257aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 258aa1a8ff2SEmmanuel Vadot 259aa1a8ff2SEmmanuel Vadot /* Port 0, Camera 0 */ 260aa1a8ff2SEmmanuel Vadot port@0 { 261aa1a8ff2SEmmanuel Vadot reg = <0>; 262aa1a8ff2SEmmanuel Vadot 263aa1a8ff2SEmmanuel Vadot ub960_fpd3_1_in: endpoint { 264aa1a8ff2SEmmanuel Vadot remote-endpoint = <&ub953_1_out>; 265aa1a8ff2SEmmanuel Vadot }; 266aa1a8ff2SEmmanuel Vadot }; 267aa1a8ff2SEmmanuel Vadot 268aa1a8ff2SEmmanuel Vadot /* Port 1, Camera 1 */ 269aa1a8ff2SEmmanuel Vadot port@1 { 270aa1a8ff2SEmmanuel Vadot reg = <1>; 271aa1a8ff2SEmmanuel Vadot 272aa1a8ff2SEmmanuel Vadot ub960_fpd3_2_in: endpoint { 273aa1a8ff2SEmmanuel Vadot remote-endpoint = <&ub913_2_out>; 274aa1a8ff2SEmmanuel Vadot hsync-active = <0>; 275aa1a8ff2SEmmanuel Vadot vsync-active = <1>; 276aa1a8ff2SEmmanuel Vadot }; 277aa1a8ff2SEmmanuel Vadot }; 278aa1a8ff2SEmmanuel Vadot 279aa1a8ff2SEmmanuel Vadot /* Port 2, unconnected */ 280aa1a8ff2SEmmanuel Vadot port@2 { 281aa1a8ff2SEmmanuel Vadot reg = <2>; 282aa1a8ff2SEmmanuel Vadot }; 283aa1a8ff2SEmmanuel Vadot 284aa1a8ff2SEmmanuel Vadot /* Port 3, unconnected */ 285aa1a8ff2SEmmanuel Vadot port@3 { 286aa1a8ff2SEmmanuel Vadot reg = <3>; 287aa1a8ff2SEmmanuel Vadot }; 288aa1a8ff2SEmmanuel Vadot 289aa1a8ff2SEmmanuel Vadot /* Port 4, CSI-2 TX */ 290aa1a8ff2SEmmanuel Vadot port@4 { 291aa1a8ff2SEmmanuel Vadot reg = <4>; 292aa1a8ff2SEmmanuel Vadot ds90ub960_0_csi_out: endpoint { 293aa1a8ff2SEmmanuel Vadot data-lanes = <1 2 3 4>; 294aa1a8ff2SEmmanuel Vadot link-frequencies = /bits/ 64 <800000000>; 295aa1a8ff2SEmmanuel Vadot remote-endpoint = <&csi2_phy0>; 296aa1a8ff2SEmmanuel Vadot }; 297aa1a8ff2SEmmanuel Vadot }; 298aa1a8ff2SEmmanuel Vadot 299aa1a8ff2SEmmanuel Vadot /* Port 5, unconnected */ 300aa1a8ff2SEmmanuel Vadot port@5 { 301aa1a8ff2SEmmanuel Vadot reg = <5>; 302aa1a8ff2SEmmanuel Vadot }; 303aa1a8ff2SEmmanuel Vadot }; 304aa1a8ff2SEmmanuel Vadot 305aa1a8ff2SEmmanuel Vadot links { 306aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 307aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 308aa1a8ff2SEmmanuel Vadot 309aa1a8ff2SEmmanuel Vadot /* Link 0 has DS90UB953 serializer and IMX274 sensor */ 310aa1a8ff2SEmmanuel Vadot 311aa1a8ff2SEmmanuel Vadot link@0 { 312aa1a8ff2SEmmanuel Vadot reg = <0>; 313aa1a8ff2SEmmanuel Vadot i2c-alias = <0x44>; 314aa1a8ff2SEmmanuel Vadot 315aa1a8ff2SEmmanuel Vadot ti,rx-mode = <3>; 316aa1a8ff2SEmmanuel Vadot 317aa1a8ff2SEmmanuel Vadot serializer1: serializer { 318aa1a8ff2SEmmanuel Vadot compatible = "ti,ds90ub953-q1"; 319aa1a8ff2SEmmanuel Vadot 320aa1a8ff2SEmmanuel Vadot gpio-controller; 321aa1a8ff2SEmmanuel Vadot #gpio-cells = <2>; 322aa1a8ff2SEmmanuel Vadot 323aa1a8ff2SEmmanuel Vadot #clock-cells = <0>; 324aa1a8ff2SEmmanuel Vadot 325aa1a8ff2SEmmanuel Vadot ports { 326aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 327aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 328aa1a8ff2SEmmanuel Vadot 329aa1a8ff2SEmmanuel Vadot port@0 { 330aa1a8ff2SEmmanuel Vadot reg = <0>; 331aa1a8ff2SEmmanuel Vadot ub953_1_in: endpoint { 332aa1a8ff2SEmmanuel Vadot data-lanes = <1 2 3 4>; 333aa1a8ff2SEmmanuel Vadot remote-endpoint = <&sensor_1_out>; 334aa1a8ff2SEmmanuel Vadot }; 335aa1a8ff2SEmmanuel Vadot }; 336aa1a8ff2SEmmanuel Vadot 337aa1a8ff2SEmmanuel Vadot port@1 { 338aa1a8ff2SEmmanuel Vadot reg = <1>; 339aa1a8ff2SEmmanuel Vadot 340aa1a8ff2SEmmanuel Vadot ub953_1_out: endpoint { 341aa1a8ff2SEmmanuel Vadot remote-endpoint = <&ub960_fpd3_1_in>; 342aa1a8ff2SEmmanuel Vadot }; 343aa1a8ff2SEmmanuel Vadot }; 344aa1a8ff2SEmmanuel Vadot }; 345aa1a8ff2SEmmanuel Vadot 346aa1a8ff2SEmmanuel Vadot i2c { 347aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 348aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 349aa1a8ff2SEmmanuel Vadot 350aa1a8ff2SEmmanuel Vadot sensor@1a { 351aa1a8ff2SEmmanuel Vadot compatible = "sony,imx274"; 352aa1a8ff2SEmmanuel Vadot reg = <0x1a>; 353aa1a8ff2SEmmanuel Vadot 354aa1a8ff2SEmmanuel Vadot reset-gpios = <&serializer1 0 GPIO_ACTIVE_LOW>; 355aa1a8ff2SEmmanuel Vadot 356aa1a8ff2SEmmanuel Vadot port { 357aa1a8ff2SEmmanuel Vadot sensor_1_out: endpoint { 358aa1a8ff2SEmmanuel Vadot remote-endpoint = <&ub953_1_in>; 359aa1a8ff2SEmmanuel Vadot }; 360aa1a8ff2SEmmanuel Vadot }; 361aa1a8ff2SEmmanuel Vadot }; 362aa1a8ff2SEmmanuel Vadot }; 363aa1a8ff2SEmmanuel Vadot }; 364aa1a8ff2SEmmanuel Vadot }; /* End of link@0 */ 365aa1a8ff2SEmmanuel Vadot 366aa1a8ff2SEmmanuel Vadot /* Link 1 has DS90UB913 serializer and MT9V111 sensor */ 367aa1a8ff2SEmmanuel Vadot 368aa1a8ff2SEmmanuel Vadot link@1 { 369aa1a8ff2SEmmanuel Vadot reg = <1>; 370aa1a8ff2SEmmanuel Vadot i2c-alias = <0x45>; 371aa1a8ff2SEmmanuel Vadot 372aa1a8ff2SEmmanuel Vadot ti,rx-mode = <0>; 373aa1a8ff2SEmmanuel Vadot 374aa1a8ff2SEmmanuel Vadot serializer2: serializer { 375aa1a8ff2SEmmanuel Vadot compatible = "ti,ds90ub913a-q1"; 376aa1a8ff2SEmmanuel Vadot 377aa1a8ff2SEmmanuel Vadot gpio-controller; 378aa1a8ff2SEmmanuel Vadot #gpio-cells = <2>; 379aa1a8ff2SEmmanuel Vadot 380aa1a8ff2SEmmanuel Vadot clocks = <&clk_cam_48M>; 381aa1a8ff2SEmmanuel Vadot clock-names = "clkin"; 382aa1a8ff2SEmmanuel Vadot 383aa1a8ff2SEmmanuel Vadot #clock-cells = <0>; 384aa1a8ff2SEmmanuel Vadot 385aa1a8ff2SEmmanuel Vadot ports { 386aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 387aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 388aa1a8ff2SEmmanuel Vadot 389aa1a8ff2SEmmanuel Vadot port@0 { 390aa1a8ff2SEmmanuel Vadot reg = <0>; 391aa1a8ff2SEmmanuel Vadot ub913_2_in: endpoint { 392aa1a8ff2SEmmanuel Vadot remote-endpoint = <&sensor_2_out>; 393aa1a8ff2SEmmanuel Vadot pclk-sample = <1>; 394aa1a8ff2SEmmanuel Vadot }; 395aa1a8ff2SEmmanuel Vadot }; 396aa1a8ff2SEmmanuel Vadot 397aa1a8ff2SEmmanuel Vadot port@1 { 398aa1a8ff2SEmmanuel Vadot reg = <1>; 399aa1a8ff2SEmmanuel Vadot 400aa1a8ff2SEmmanuel Vadot ub913_2_out: endpoint { 401aa1a8ff2SEmmanuel Vadot remote-endpoint = <&ub960_fpd3_2_in>; 402aa1a8ff2SEmmanuel Vadot }; 403aa1a8ff2SEmmanuel Vadot }; 404aa1a8ff2SEmmanuel Vadot }; 405aa1a8ff2SEmmanuel Vadot 406aa1a8ff2SEmmanuel Vadot i2c { 407aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 408aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 409aa1a8ff2SEmmanuel Vadot 410aa1a8ff2SEmmanuel Vadot sensor@48 { 411aa1a8ff2SEmmanuel Vadot compatible = "aptina,mt9v111"; 412aa1a8ff2SEmmanuel Vadot reg = <0x48>; 413aa1a8ff2SEmmanuel Vadot 414aa1a8ff2SEmmanuel Vadot clocks = <&serializer2>; 415aa1a8ff2SEmmanuel Vadot 416aa1a8ff2SEmmanuel Vadot port { 417aa1a8ff2SEmmanuel Vadot sensor_2_out: endpoint { 418aa1a8ff2SEmmanuel Vadot remote-endpoint = <&ub913_2_in>; 419aa1a8ff2SEmmanuel Vadot }; 420aa1a8ff2SEmmanuel Vadot }; 421aa1a8ff2SEmmanuel Vadot }; 422aa1a8ff2SEmmanuel Vadot }; 423aa1a8ff2SEmmanuel Vadot }; 424aa1a8ff2SEmmanuel Vadot }; /* End of link@1 */ 425aa1a8ff2SEmmanuel Vadot }; 426aa1a8ff2SEmmanuel Vadot }; 427aa1a8ff2SEmmanuel Vadot }; 428aa1a8ff2SEmmanuel Vadot... 429