summaryrefslogtreecommitdiff
path: root/wiki
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-12-05 17:35:40 +0900
committerKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-12-09 11:46:03 +0900
commit0e685e6f99571e82dc9f7d245e84b9ede4b0cb84 (patch)
treeff749845c0ebda1c70f3346be81e50977478e1f1 /wiki
parentfad61965b2d81b92e53f1c7182e2734c02dfb044 (diff)
wiki: Porting MAXIM camera board
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Diffstat (limited to 'wiki')
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board.wiki88
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/GSML-Control.ino48
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPTbin0 -> 271122 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdfbin0 -> 2379596 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdfbin0 -> 314783 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpgbin0 -> 73806 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpgbin0 -> 66874 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpgbin0 -> 69041 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpgbin0 -> 70214 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdfbin0 -> 933074 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdfbin0 -> 4577839 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSXbin0 -> 28023 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdfbin0 -> 1036187 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptxbin0 -> 67608 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsxbin0 -> 2945852 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdfbin0 -> 117127 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsxbin0 -> 18658 bytes
-rw-r--r--wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsxbin0 -> 514015 bytes
18 files changed, 136 insertions, 0 deletions
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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/Gen3_limit_RCM3W_CSI2_VIN_IF_BUG.PPT
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MAX9286-DS-1.Renesas.pdf
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MAX9286_Programming_Guide_2_10.pdf
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img1.jpg
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img2.jpg
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img3.jpg
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MAXIM_img4.jpg
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/MC_RDACM20-01_DataSheet_02.pdf
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/OV10635-OV10135-Product-Specification-a-CSP_Version-2-4_Renesas-Electronics.pdf
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/R-CARH3_Rev_P2_BOM.XLSX
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/R-CAR_H3_Rev_P2.pdf
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/R-CarM3W_CSI2_VIN_Interface_Bug_20170410.pptx
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/RCARH3_camera_quick_setting_20151201.xlsx
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/RDACM20_SCHEMATIC_DIAGRAM-20151110.pdf
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_1.xlsx
Binary files 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
--- /dev/null
+++ b/wiki/Salvator-X_MAXIM_camera_board/vin_camera_board_20160606.xlsx
Binary files differ