h1. GMSL Camera Setup h2. Details on system configuration [[GMSL Configuration]] h2. Open issues and testing [[GMSL Cameras Open Issues and testing]] h2. Software support h3. External Patches: h4. Cogent Patches: https://github.com/CogentEmbedded/meta-rcar/blob/v2.23.0/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0030-Gen3-LVDS-cameras.patch h4. NXP Patches: https://community.nxp.com/docs/DOC-158531 h3. Linux kernel A base branch is available at * git://jmondi.org/linux-gen3#gmsl/base The base branch includes VIN and mux support from Niklas' branch git://git.ragnatech.se/linux#vin/mux+gmsl with the ""max9286: More cleanups and fixes" series from Laurent on top. vin/mux+gmsl contains the GMSL link stabilization series from Niklas: [PATCH 0/4] GMSL link stabilization. On top of this branch, some developers branch are available: * git://jmondi.org/linux-gen3#gmsl/devel/jacopo Fixes sent out as "[PATCH v2 0/5] v4l: max9286: Additional fixes" + sensor configuration + link status monitoring * git://jmondi.org/linux-gen3#gmsl/devel/jacopo-i2c-bcast gmsl/devel/jacopo branch with on top implementation of broadcast transmission of SEREN command to max9271 serializers h3. Config Configuration file for Linux-v4.13-rc5 available here: ("linux-v4.13-max9286.config":../../wiki/GMSL_Camera_Setup/linux-v4.13-max9286.config) h1. I2C configuration * The MAX9271 does appear to expose all traffic received across the GMSL link on it's I2C bus pins. * There does not appear to be any cross-talk traffic currently. * 'Bit-errors' have been seen ... most evidently when an address write incorrectly wrote to register 0x00 instead and 'forcefully' changed the MAX9271 address. All following writes were then 'NACKed'. * This shows that auto-ack from the MAX9286 (which was enabled at that time) *does not* traverse the GMSL link. * If the delays between bus configuration writes are not long enough - the following write/read can be corrupted with bit errors, or not be present on the bus at all. ** This shows that the delay after configuration writes must be conservative, and therefore at least 5 ms (recommended by the MAX9286 data sheet) rather than 3 ms or less (as suggested by the MAX9271 DS. h1. I2C address space allocations h2. The GMSL camera set up uses the I2C-4 bus on the RCar platform. This has the following pre-existing address assignments: | Address | Physical | Part | SCL | SDA | Description | | | CN29 | EXIO-Connector C | 51 | 53 | MIPI CSI-2 Zebax Connector | | 0x20 | U6 | PCA9654EDTR2G | 14 | 15 | 8 bit IO Expander | | 0x68 | U11 | 9FGV0841AKILF | 10 | 11 | Salvator-X Page 11 : 8 Output PCIe Clock Gen | | 0x6a | U61 | 5P49V5923A | 9 | 8 | Salvator-X Page 3 : Versaclock5 | | 0x70 | U31 | ADV7482WBBCZ | J8 | K8 | Salvator-X Page 19 : ADV7482 HDMI Receiver | | 0x7C | U58 | MAX9611AUB+ | 6 | 7 | Salvator-X Page 25 : Current Sense Amplifier with ADC | | 0x7F | U59 | MAX9611AUB+ | 6 | 7 | Salvator-X Page 25 : Current Sense Amplifier with ADC | h2. Maxim Expansion Board | Address | Physical | Part | SCL | SDA | Description | | 0x4c | U1 | MAX9286GTN/V+ | 8 | 7 | MAX9286 GMSL De-serialiser (MAX9286 A) | | 0x6c | U3 | MAX9286GTN/V+ | 8 | 7 | MAX9286 GMSL De-serialiser (MAX9286 A) | | | | | | | | | 0x30 | RDACM20 | OV10635 Default | | | OV10635 Default address | | 0x40 | RDACM20 | MAX9271 Default | | | MAX9271 Default address | | 0x50 | RDACM20 | Microcontroller | | | Microcontroller (MCU) Default address |