From 0e685e6f99571e82dc9f7d245e84b9ede4b0cb84 Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Thu, 5 Dec 2019 17:35:40 +0900 Subject: wiki: Porting MAXIM camera board Signed-off-by: Kuninori Morimoto --- wiki/Salvator-X_MAXIM_camera_board.wiki | 88 +++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 wiki/Salvator-X_MAXIM_camera_board.wiki (limited to 'wiki/Salvator-X_MAXIM_camera_board.wiki') diff --git a/wiki/Salvator-X_MAXIM_camera_board.wiki b/wiki/Salvator-X_MAXIM_camera_board.wiki new file mode 100644 index 0000000..d2ed221 --- /dev/null +++ b/wiki/Salvator-X_MAXIM_camera_board.wiki @@ -0,0 +1,88 @@ +h1. Salvator-X MAXIM camera board + +| J18, J19 | J17, J9 | +| !Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg! | !Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg! | +| !Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg! | !Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg! | + +h1. 8ch Camera WorkAround + +{J1, J2, J3, J4} and {J5, J10, J12, J13} are connected to each MAX9271, but these will get *%{color:#0000ff}same base address%* (= 0x80) if *%{color:#0000ff}J19%* jumper was connected when boot time. see "vin camera board2":../../wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx +If this happen, MAX9286 can't control it correctly. Thus, we need to shift Power ON timing for MAX9271. see "Poer ON order (with 8ch WorkAround)" +This WorkAround is needed if you use each MAX9271 chip in the same time. + +h1. Power ON order (with 8ch WorkAround if needed) + +# Start Salvator-X and Camera Board with Powered OFF +# (Remove Power Jumper (J19)) +# Power on Salvator-X +# Power on Camera Board +# (Reapply Power Jumper (J19)) + +h1. Note + +* Reset +** both Salvator-X and Camera Board in the same time. Here, Camera board doesn't have reset button, thus Remove/Reapply power cable for it +* Power Cable +** We can use Salvator-X / Lager power for camera board +* Salvator board SW settings +** SW29 {ON, ON} => {OFF, OFF} +** see "quick setting guide":../../wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx + +h1. 8ch camera demo + +Morimoto is keeping 8ch camera demo, but can't attach it to this Wiki, because of its file size. +So, you need to contact to Renesas guy if you want to receive it. +For Renesas guy's information. You can get it from "here":https://renesasgroup-my.sharepoint.com/personal/kuninori_morimoto_gx_renesas_com/Documents/OSD2/Linux-NDA/2017-04-14-8ch_camera_Environment (From Renesas only), and use HDE for them. + +h1. VIN issue + +* On *R-Car H3 (ES2.0)*, HDMI input with 640x480@60H will be blackout +* On *R-Car M3 (ES1.x)*, when CSI40 module is used as 1-Lane or 2-Lane, VIN captures incorrect data. +** This bug was caused by the ECO modification of 4Lane highest bit rate input for M3W ES1.0. CSI40 Link module violated the interface protocol with VIN. So VIN was changed to delay 1 cycle capturing timing to solve above issue because CSI40 Link holds its output 4 bytes data for 1 cycle. However, it was not true when CSI40-Phy used 1- or 2-Lane connection. This phenomenon occurs only in M3W(ES1.0 and ES1.1). +** "detail 1":../../wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx +** "detail 2":../../wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT (English page p10 - p14) + +h1. Maxim board power reset automation + +We can adapt the MAXIM board to be reset at the same time as the Salvator-X using an Arduino, and powering the Arduino from the Salvator-X + +* Use a molex connector to take power from the Salvator-X CN7:ATA_PWR (red is 5v, black is GND) +* Use a data pin from the arduino connected to the center pin of J17 (The example code uses D6 on the arduino) +* Connect the Data pin connection with a *pull down* resistor. around 2kΩ should be fine. +* Use the GSML-Control.ino software delay loop to control the EN signal on the MAX16951AUE/V+ (U23) via J17 + +Hardware used: +* https://store.arduino.cc/usa/arduino-nano +** A clone is suitable (Arduino original ~ $25, Clone ~ $3, I used a clone) +* Breadboard +* 1.9k Ω resistor +* Molex connector ("I used one like this":https://www.uk.insight.com/en-gb/productinfo/system-and-power-cables/0002646789-00000001?gclid=CjwKCAjwzMbLBRBzEiwAfFz4geenUnvYI4d3sz0A_cvqo-CoReOwop3T_CzAVBbOsLuFZPcTEQyGnhoClbgQAvD_BwE) + +Software Used: +* Arduino code available at "GSML-Control.ino":../../wiki/Salvator-X_MAXIM_camera_board/GSML-Control.ino + +Overview: +* "Images of the Arduino configuration":https://photos.app.goo.gl/dpFk0CzAZS5G0Fec2 + + +h1. *%{color:#ff0000}NDA information%* + +*%{color:#ff0000}CAUTION!!%* + +"MAX9286":../../wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdf +"MAX9286 programing guide":../../wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdf +"board schematic":../../wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdf +"R-CARH3_Rev P2_BOM":../../wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSX +"RDACM20 camera schematic":../../wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf +"RDAMC20 camera datasheet":../../wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdf +"OV10635 datasheet":../../wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdf + +h1. datasheet / off-tree-driver + +"OV10635 camera driver":http://git.ti.com/android-sdk/kernel-omap/blobs/eb15176df1e988393d12a2b8c2becd30078edbd8/drivers/media/i2c/ov10635.c +"Ov10635 camera driver":https://patchwork.linuxtv.org/patch/18768/ +"MAX9286 driver":https://github.com/CogentEmbedded/meta-rcar/blob/v2.12.0/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0040-H3-MAX9286-TI964-support-add-10635-10640-cameras.patch +"MAX9271 datasheet":http://datasheets.maximintegrated.com/en/ds/MAX9271.pdf +"quick setting guide":../../wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx +"vin camera board1":../../wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsx +"vin camera board2":../../wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx -- cgit v1.2.3