diff options
author | Vladimir Barinov <vladimir.barinov@cogentembedded.com> | 2018-01-15 21:55:32 +0300 |
---|---|---|
committer | Vladimir Barinov <vladimir.barinov@cogentembedded.com> | 2018-01-15 21:55:32 +0300 |
commit | f1c2968f89db559dfd7ef530871ec91069d370e6 (patch) | |
tree | 0a8842a53eb0b78b75269bb8a9f2e887a007a103 /meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch | |
parent | 8013faa6027998cc2e3b3462eddf437175e7d2bf (diff) |
LVDS/VIN update:
1) support AP0101+AR014x cameras
2) support DVP bus reverse inside VIN:
using kernel parameter "rcar_vin.lut_reverse=1"
This is needed for cameras that can't do bus reverse.
MAX9286 does DVP reverse and send data via CSI2.
Some cameras can't do reverse back, hence we can do revers in RCAR VIN.
This is applciable only for 8bit buses: raw8, yuyv8, rgb888
3) support serializers in HIGH-Immunity mode alighend with legacy mode.
MAX96705 can do legacy and HIM modes.
MAX9271 can do only leagacy mode.
4) support crossbar feature for MAX96705
This is DVP bus reordering in serilizer.
5) support passing kernel parameters to max9286 driver.
This allows to conect all supported cameras to ADAS boards without
changing DTS file, but add only parameters to kernel command line in uboot bootargs
F.e.:
max9286.him=1 max9286.vsync=0 max9286.fsync_period=3200000
or
max9286.vsync=0 max9286.fsync_period=2500000 rcar_vin.lut_reverse=1
The default setup (no changes needed) is for IMI RDCAM20/21 cameras.
6) change name of max9286 driver, since max96705 is also supported by
this driver:
max9286-max9271 -> max9286
Diffstat (limited to 'meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch')
-rw-r--r-- | meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch | 159 |
1 files changed, 80 insertions, 79 deletions
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch index 8603c0b..017dc68 100644 --- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch @@ -66,11 +66,11 @@ Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com> arch/arm64/boot/dts/renesas/ulcb-kf-cn11.dtsi | 545 ++++++ arch/arm64/boot/dts/renesas/ulcb-kf-most.dtsi | 30 + arch/arm64/boot/dts/renesas/ulcb-kf-sd3.dtsi | 46 + - arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 1541 +++++++++++++++++ + arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 1542 +++++++++++++++++ arch/arm64/boot/dts/renesas/ulcb-vb-cn12.dtsi | 515 ++++++ arch/arm64/boot/dts/renesas/ulcb-vb.dtsi | 1726 ++++++++++++++++++++ arch/arm64/boot/dts/renesas/ulcb-vbm.dtsi | 578 +++++++ - 43 files changed, 17233 insertions(+) + 43 files changed, 17234 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/legacy/Makefile create mode 100644 arch/arm64/boot/dts/renesas/legacy/r8a7795-es1-h3ulcb-kf-v0.dts create mode 100644 arch/arm64/boot/dts/renesas/legacy/r8a7795-es1-h3ulcb-kf-v1.dts @@ -159,7 +159,7 @@ index 0000000..7f25079 +clean-files := *.dtb diff --git a/arch/arm64/boot/dts/renesas/legacy/r8a7795-es1-h3ulcb-kf-v0.dts b/arch/arm64/boot/dts/renesas/legacy/r8a7795-es1-h3ulcb-kf-v0.dts new file mode 100644 -index 0000000..2fee788 +index 0000000..fe07e22 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/legacy/r8a7795-es1-h3ulcb-kf-v0.dts @@ -0,0 +1,1710 @@ @@ -898,8 +898,8 @@ index 0000000..2fee788 + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -1107,8 +1107,8 @@ index 0000000..2fee788 + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -2322,7 +2322,7 @@ index 0000000..ac6a12b +}; diff --git a/arch/arm64/boot/dts/renesas/legacy/r8a7795-h3ulcb-kf-v0.dts b/arch/arm64/boot/dts/renesas/legacy/r8a7795-h3ulcb-kf-v0.dts new file mode 100644 -index 0000000..78c766b +index 0000000..c19bc58 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/legacy/r8a7795-h3ulcb-kf-v0.dts @@ -0,0 +1,1724 @@ @@ -3061,8 +3061,8 @@ index 0000000..78c766b + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -3270,8 +3270,8 @@ index 0000000..78c766b + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -4523,7 +4523,7 @@ index 0000000..14b6f52 +}; diff --git a/arch/arm64/boot/dts/renesas/legacy/r8a7796-m3ulcb-kf-v0.dts b/arch/arm64/boot/dts/renesas/legacy/r8a7796-m3ulcb-kf-v0.dts new file mode 100644 -index 0000000..ffa1879 +index 0000000..8e7de0f --- /dev/null +++ b/arch/arm64/boot/dts/renesas/legacy/r8a7796-m3ulcb-kf-v0.dts @@ -0,0 +1,1214 @@ @@ -5262,8 +5262,8 @@ index 0000000..ffa1879 + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -6902,7 +6902,7 @@ index 0000000..323722c +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-view.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-view.dts new file mode 100644 -index 0000000..de56fa4 +index 0000000..6eb7cac --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-view.dts @@ -0,0 +1,546 @@ @@ -7068,8 +7068,8 @@ index 0000000..de56fa4 + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x4c>; + gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; + maxim,sensor_delay = <0>; @@ -7110,8 +7110,8 @@ index 0000000..de56fa4 + }; + }; + -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x6c>; + gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>; + maxim,sensor_delay = <0>; @@ -7454,7 +7454,7 @@ index 0000000..de56fa4 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x-view.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x-view.dts new file mode 100644 -index 0000000..3f3d66a +index 0000000..d4caf46 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x-view.dts @@ -0,0 +1,552 @@ @@ -7635,8 +7635,8 @@ index 0000000..3f3d66a + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x4c>; + gpios = <&gpio6 30 GPIO_ACTIVE_LOW>; + maxim,sensor_delay = <0>; @@ -7677,8 +7677,8 @@ index 0000000..3f3d66a + }; + }; + -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x6c>; + maxim,sensor_delay = <0>; + maxim,links = <4>; @@ -8441,7 +8441,7 @@ index 0000000..87f1889 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-view.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-view.dts new file mode 100644 -index 0000000..2c24b85 +index 0000000..8541518 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-view.dts @@ -0,0 +1,546 @@ @@ -8607,8 +8607,8 @@ index 0000000..2c24b85 + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x4c>; + gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; + maxim,sensor_delay = <0>; @@ -8649,8 +8649,8 @@ index 0000000..2c24b85 + }; + }; + -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x6c>; + gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>; + maxim,sensor_delay = <0>; @@ -8993,7 +8993,7 @@ index 0000000..2c24b85 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x-view.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x-view.dts new file mode 100644 -index 0000000..fb12a39f3 +index 0000000..14539ea --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x-view.dts @@ -0,0 +1,552 @@ @@ -9174,8 +9174,8 @@ index 0000000..fb12a39f3 + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x4c>; + gpios = <&gpio6 30 GPIO_ACTIVE_LOW>; + maxim,sensor_delay = <0>; @@ -9216,8 +9216,8 @@ index 0000000..fb12a39f3 + }; + }; + -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x6c>; + maxim,sensor_delay = <0>; + maxim,links = <4>; @@ -9597,7 +9597,7 @@ index 0000000..a409402 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-view.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-view.dts new file mode 100644 -index 0000000..1ac0041 +index 0000000..ea7f378 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-view.dts @@ -0,0 +1,287 @@ @@ -9691,8 +9691,8 @@ index 0000000..1ac0041 + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x4c>; + gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; + maxim,sensor_delay = <0>; @@ -9890,7 +9890,7 @@ index 0000000..1ac0041 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x-view.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x-view.dts new file mode 100644 -index 0000000..cc6866c +index 0000000..319120f --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x-view.dts @@ -0,0 +1,318 @@ @@ -9999,8 +9999,8 @@ index 0000000..cc6866c + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x4c>; + gpios = <&gpio6 30 GPIO_ACTIVE_LOW>; + maxim,sensor_delay = <0>; @@ -10282,7 +10282,7 @@ index 0000000..82d6513 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7797-eagle.dts b/arch/arm64/boot/dts/renesas/r8a7797-eagle.dts new file mode 100644 -index 0000000..3fb3bf1 +index 0000000..c896fe0 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7797-eagle.dts @@ -0,0 +1,560 @@ @@ -10626,8 +10626,8 @@ index 0000000..3fb3bf1 + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x48>; + gpios = <&gpio_ext 0 GPIO_ACTIVE_LOW>; /* CSI0 DE_PDn */ + maxim,gpio0 = <0>; @@ -10848,7 +10848,7 @@ index 0000000..3fb3bf1 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7797-v3msk-kf.dts b/arch/arm64/boot/dts/renesas/r8a7797-v3msk-kf.dts new file mode 100644 -index 0000000..979cebe +index 0000000..b92fe83 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7797-v3msk-kf.dts @@ -0,0 +1,578 @@ @@ -11104,8 +11104,8 @@ index 0000000..979cebe + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -11432,7 +11432,7 @@ index 0000000..979cebe +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7797-v3msk-vbm.dts b/arch/arm64/boot/dts/renesas/r8a7797-v3msk-vbm.dts new file mode 100644 -index 0000000..4292b7b +index 0000000..26f8c70 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7797-v3msk-vbm.dts @@ -0,0 +1,518 @@ @@ -11643,8 +11643,8 @@ index 0000000..4292b7b + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -11956,7 +11956,7 @@ index 0000000..4292b7b +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7797-v3msk-view.dts b/arch/arm64/boot/dts/renesas/r8a7797-v3msk-view.dts new file mode 100644 -index 0000000..573e2bc +index 0000000..6f82385 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7797-v3msk-view.dts @@ -0,0 +1,298 @@ @@ -12089,8 +12089,8 @@ index 0000000..573e2bc + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x6c>; + gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; + maxim,sensor_delay = <0>; @@ -12580,7 +12580,7 @@ index 0000000..91d10c5 +}; diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf-cn11.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf-cn11.dtsi new file mode 100644 -index 0000000..589a774 +index 0000000..b469ca6 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/ulcb-kf-cn11.dtsi @@ -0,0 +1,545 @@ @@ -12810,8 +12810,8 @@ index 0000000..589a774 + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -12819,10 +12819,10 @@ index 0000000..589a774 + maxim,resetb-gpio = <1>; + maxim,fsync-mode = "automatic"; + maxim,timeout = <100>; -+ POC0-supply = <&pwr0B>; -+ POC1-supply = <&pwr1B>; -+ POC2-supply = <&pwr2B>; -+ POC3-supply = <&pwr3B>; ++ POC0-supply = <&pwr1B>; ++ POC1-supply = <&pwr0B>; ++ POC2-supply = <&pwr3B>; ++ POC3-supply = <&pwr2B>; + + port@0 { + max9286_des1ep0: endpoint@0 { @@ -13219,10 +13219,10 @@ index 0000000..b854216 +}; diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi new file mode 100644 -index 0000000..5958450 +index 0000000..d7ffd79 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi -@@ -0,0 +1,1541 @@ +@@ -0,0 +1,1542 @@ +/* + * Device Tree Source for the ULCB Kingfisher board + * @@ -14193,19 +14193,20 @@ index 0000000..5958450 + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; + maxim,lanes = <4>; + maxim,resetb-gpio = <1>; + maxim,fsync-mode = "automatic"; ++ + maxim,timeout = <100>; -+ POC0-supply = <&pwr0A>; -+ POC1-supply = <&pwr1A>; -+ POC2-supply = <&pwr2A>; -+ POC3-supply = <&pwr3A>; ++ POC0-supply = <&pwr1A>; ++ POC1-supply = <&pwr0A>; ++ POC2-supply = <&pwr3A>; ++ POC3-supply = <&pwr2A>; + + port@0 { + max9286_des0ep0: endpoint@0 { @@ -14766,7 +14767,7 @@ index 0000000..5958450 + diff --git a/arch/arm64/boot/dts/renesas/ulcb-vb-cn12.dtsi b/arch/arm64/boot/dts/renesas/ulcb-vb-cn12.dtsi new file mode 100644 -index 0000000..92ed4a4 +index 0000000..d5c4f46 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/ulcb-vb-cn12.dtsi @@ -0,0 +1,515 @@ @@ -14951,8 +14952,8 @@ index 0000000..92ed4a4 + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@2 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@2 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -15287,7 +15288,7 @@ index 0000000..92ed4a4 +}; diff --git a/arch/arm64/boot/dts/renesas/ulcb-vb.dtsi b/arch/arm64/boot/dts/renesas/ulcb-vb.dtsi new file mode 100644 -index 0000000..193153e +index 0000000..4fcb320 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/ulcb-vb.dtsi @@ -0,0 +1,1726 @@ @@ -15894,8 +15895,8 @@ index 0000000..193153e + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -16103,8 +16104,8 @@ index 0000000..193153e + }; + + /* MAX9286 @ 0x2c */ -+ max9286-max9271@1 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@1 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; @@ -17019,7 +17020,7 @@ index 0000000..193153e +//#include "ulcb-vb-cn12.dtsi" diff --git a/arch/arm64/boot/dts/renesas/ulcb-vbm.dtsi b/arch/arm64/boot/dts/renesas/ulcb-vbm.dtsi new file mode 100644 -index 0000000..beb52e9 +index 0000000..7728bdd --- /dev/null +++ b/arch/arm64/boot/dts/renesas/ulcb-vbm.dtsi @@ -0,0 +1,578 @@ @@ -17286,8 +17287,8 @@ index 0000000..beb52e9 + }; + }; + -+ max9286-max9271@0 { -+ compatible = "maxim,max9286-max9271"; ++ max9286@0 { ++ compatible = "maxim,max9286"; + reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; |