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 +++++++++++++++++++++ .../Salvator-X_MAXIM_camera_board/GSML-Control.ino | 48 +++++++++++ .../Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT | Bin 0 -> 271122 bytes .../MAX9286-DS-1.Renesas.pdf | Bin 0 -> 2379596 bytes .../MAX9286_Programming_Guide_2_10.pdf | Bin 0 -> 314783 bytes wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg | Bin 0 -> 73806 bytes wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg | Bin 0 -> 66874 bytes wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg | Bin 0 -> 69041 bytes wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg | Bin 0 -> 70214 bytes .../MC_RDACM20-01_DataSheet_02.pdf | Bin 0 -> 933074 bytes ...ation-a-CSP_Version-2-4_Renesas-Electronics.pdf | Bin 0 -> 4577839 bytes .../R-CARH3_Rev_P2_BOM.XLSX | Bin 0 -> 28023 bytes .../R-CAR_H3_Rev_P2.pdf | Bin 0 -> 1036187 bytes .../R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx | Bin 0 -> 67608 bytes .../RCARH3_camera_quick_setting_20151201.xlsx | Bin 0 -> 2945852 bytes .../RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf | Bin 0 -> 117127 bytes .../vin_camera_board_1.xlsx | Bin 0 -> 18658 bytes .../vin_camera_board_20160606.xlsx | Bin 0 -> 514015 bytes 18 files changed, 136 insertions(+) create mode 100644 wiki/Salvator-X_MAXIM_camera_board.wiki create mode 100644 wiki/Salvator-X_MAXIM_camera_board/GSML-Control.ino create mode 100644 wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdf create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdf create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg create mode 100644 wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdf create mode 100644 wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdf create mode 100644 wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSX create mode 100644 wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdf create mode 100644 wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx create mode 100644 wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx create mode 100644 wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf create mode 100644 wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsx create mode 100644 wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx (limited to '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 diff --git a/wiki/Salvator-X_MAXIM_camera_board/GSML-Control.ino b/wiki/Salvator-X_MAXIM_camera_board/GSML-Control.ino new file mode 100644 index 0000000..1837025 --- /dev/null +++ b/wiki/Salvator-X_MAXIM_camera_board/GSML-Control.ino @@ -0,0 +1,48 @@ + + +// GMSL Configuration +const int MAX16951_EN = 6; + +void set_EN(int onoff) +{ + digitalWrite(MAX16951_EN, onoff); + + if (onoff) + Serial.print("Pin High\n"); + else + Serial.print("Pin Low\n"); +} + +void setup() { + pinMode(MAX16951_EN, OUTPUT); + set_EN(LOW); + + Serial.begin(115200); + Serial.print("\n"); + //Serial.setDebugOutput(true); +} + +void loop() { + int i; + // configure power-on state before delay + + set_EN(LOW); + + // blink a bit + for (i=0; i<10; i++) { + digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) + delay(50); // wait for 50 ms + digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW + delay(50); // wait for 50 ms + } + + // configure final state after delay + set_EN(HIGH); + + digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) + + while(1) { + delay(1000); + // Serial.print("Spinning\n"); + } +} diff --git a/wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT b/wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT new file mode 100644 index 0000000..02b86cf Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdf b/wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdf new file mode 100644 index 0000000..213d43e Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdf differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdf b/wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdf new file mode 100644 index 0000000..cb3f373 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdf differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg new file mode 100644 index 0000000..913e2c9 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg new file mode 100644 index 0000000..689d393 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg new file mode 100644 index 0000000..8929877 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg new file mode 100644 index 0000000..1c2841c Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdf b/wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdf new file mode 100644 index 0000000..20dd7f2 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdf differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdf b/wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdf new file mode 100644 index 0000000..e1563c9 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdf differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSX b/wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSX new file mode 100644 index 0000000..ac71da6 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSX differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdf b/wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdf new file mode 100644 index 0000000..9bc6300 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdf differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx b/wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx new file mode 100644 index 0000000..216a36a Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx b/wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx new file mode 100644 index 0000000..0702d89 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf b/wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf new file mode 100644 index 0000000..f8e2724 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsx b/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsx new file mode 100644 index 0000000..ee64843 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsx differ diff --git a/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx b/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx new file mode 100644 index 0000000..0a6d654 Binary files /dev/null and b/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx differ -- cgit v1.2.3