Hi Jacopo,
Thank you for the patches.
On Wednesday, 5 September 2018 18:29:37 EEST Jacopo Mondi wrote:
> Hello renesas list,
> this series add supports for the HDMI and CVBS input to R-Car E3 R8A77990
> Ebisu board.
>
> It's an RFT, as I don't have an Ebisu to test with :(
>
> The series adds supports for the following items:
>
> - PFC: add VIN groups and functions
> - R-Car VIN and R-Car CSI-2: add support for R8A77990
> - R8A77990: Add I2C, VIN and CSI-2 nodes (v1 re-sent by Laurent in D3 DU
> series) - Ebisu: describe HDMI and CVBS inputs
>
> Laurent has tested v1 and confirmed that the current mainline implementation
> of the adv748x driver does not work in the configuration used by the Ebisu
> board.
I've now tested v2 on Ebisu, and there's definitely progress after numbering
the VIN endpoints correctly as mentioned in my review of patch 6/8.
I've added (or rather hacked) Ebisu support to the VIN tests, and I can
capture frames:
# ./set-edid
EDID set successfully.
# ./yavta-hdmi 4
format: RGB888_1X24 size: 800x600/800x600 field: none/none vdev: /dev/video2
Device /dev/video2 opened.
Device `R_Car_VIN' on `platform:e6ef4000.video' (driver 'rcar_vin') supports
video, capture, without mplanes.
Video format set: RGB565 (50424752) 800x600 (stride 1600) field none buffer
size 960000
Video format: RGB565 (50424752) 800x600 (stride 1600) field none buffer size
960000
Device /dev/video2 opened.
Device `R_Car_VIN' on `platform:e6ef4000.video' (driver 'rcar_vin') supports
video, capture, without mplanes.
Video format: RGB565 (50424752) 800x600 (stride 1600) field none buffer size
960000
4 buffers requested.
length: 960000 offset: 0 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f81323000.
length: 960000 offset: 962560 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f81238000.
length: 960000 offset: 1925120 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f8114d000.
length: 960000 offset: 2887680 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f81062000.
0 (0) [-] none 0 960000 B 123.674468 123.676485 75.740 fps ts mono/EoF
1 (2) [-] none 1 960000 B 123.675610 123.700566 875.657 fps ts mono/EoF
2 (3) [-] none 2 960000 B 123.675637 123.718865 37037.037 fps ts mono/EoF
3 (1) [-] none 3 960000 B 123.675693 123.737100 17857.143 fps ts mono/EoF
4 (0) [-] none 252 960000 B 123.700914 123.755378 39.649 fps ts mono/EoF
5 (2) [-] none 417 960000 B 123.719047 123.773609 55.148 fps ts mono/EoF
6 (3) [-] none 600 960000 B 123.737330 123.791760 54.696 fps ts mono/EoF
7 (1) [-] none 789 960000 B 123.757476 123.810198 49.638 fps ts mono/EoF
8 (0) [-] none 951 960000 B 123.774199 123.828604 59.798 fps ts mono/EoF
9 (2) [-] none 1128 960000 B 123.792089 123.846743 55.897 fps ts mono/EoF
Captured 10 frames in 0.185478 seconds (53.914726 fps, 51758136.836038 B/s).
4 buffers released.
The frames are however all black.
I've applied the following modifications to the VIN test scripts (on top of
your D3 patches-. Please feel free to include them in your next version.
diff --git a/scripts/boards.sh b/scripts/boards.sh
index 82806c6e56eb..a29d87918cf2 100644
--- a/scripts/boards.sh
+++ b/scripts/boards.sh
@@ -36,6 +36,11 @@ case $info in
# FIXME: This is a hackfor D3, but results in an image.
parallelformat="YUYV8_1X16"
;;
+ "Renesas Ebisu board based on r8a77990")
+ gen="gen3"
+ vins="4 5"
+ csis="40"
+ ;;
"Renesas H3ULCB Kingfisher board based on r8a7795 ES2.0+")
gen="gen3"
vins="0 1 2 3 4 5 6 7"
@@ -76,19 +81,22 @@ if [[ "$gen" == "gen3" ]]; then
esac
done
- if [[ "$info" == "Renesas Eagle board based on r8a77970" ]]; then
- cvbsname="adv748x 0-0070 afe"
- hdminame="adv748x 0-0070 hdmi"
-
- txaname="adv748x 0-0070 txa"
- txbname="adv748x 0-0070 txb"
- elif [[ "$info" == "Renesas Draak board based on r8a77995" ]]; then
- hdminame="adv7612 0-004c"
- else
- cvbsname="adv748x 4-0070 afe"
- hdminame="adv748x 4-0070 hdmi"
-
- txaname="adv748x 4-0070 txa"
- txbname="adv748x 4-0070 txb"
- fi
+ case $info in
+ "Renesas Eagle board based on r8a77970" | \
+ "Renesas Ebisu board based on r8a77990")
+ cvbsname="adv748x 0-0070 afe"
+ hdminame="adv748x 0-0070 hdmi"
+ txaname="adv748x 0-0070 txa"
+ txbname="adv748x 0-0070 txb"
+ ;;
+ "Renesas Draak board based on r8a77995")
+ hdminame="adv7612 0-004c"
+ ;;
+ *)
+ cvbsname="adv748x 4-0070 afe"
+ hdminame="adv748x 4-0070 hdmi"
+ txaname="adv748x 4-0070 txa"
+ txbname="adv748x 4-0070 txb"
+ ;;
+ esac
fi
diff --git a/yavta-hdmi b/yavta-hdmi
index 2e3b625978fe..7f9e10b42d94 100755
--- a/yavta-hdmi
+++ b/yavta-hdmi
@@ -36,6 +36,7 @@ case $vc in
4)
vinname=$vinname4
dev=/dev/$vin4
+ csipad=1
;;
*)
echo "Unkown VC '$vc'"
> This series should then be applied on top of the just sent:
> [PATCH v2 0/5] media: adv748x: Allow probe with a single output endpoint
> To allow the adv7482 to probe with a single output port enabled.
>
> This series, based on v4.19-rc2 with adv748x series on top, is available at:
> git://jmondi.org/linux ebisu/linus-master/hdmi_cvbs_v2
>
> Thanks
> j
>
> Jacopo Mondi (6):
> media: dt-bindings: rcar-vin: Add R8A77990 support
> media: rcar-vin: Add support for R-Car R8A77990
> media: dt-bindings: rcar-csi2: Add R8A77990
> media: rcar-csi2: Add R8A77990 support
> pinctrl: sh-pfc: r8a77990: Add VIN pins, groups and functions
> arm64: dts: renesas: ebisu: Add HDMI and CVBS input
>
> Koji Matsuoka (1):
> arm64: dts: r8a77990: Add VIN and CSI-2 device nodes
>
> Takeshi Kihara (1):
> arm64: dts: r8a77990: Add I2C device nodes
>
> .../devicetree/bindings/media/rcar_vin.txt | 1 +
> .../bindings/media/renesas,rcar-csi2.txt | 1 +
> arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts | 86 +++++++
> arch/arm64/boot/dts/renesas/r8a77990.dtsi | 202 +++++++++++++++++
> drivers/media/platform/rcar-vin/rcar-core.c | 20 ++
> drivers/media/platform/rcar-vin/rcar-csi2.c | 9 +
> drivers/pinctrl/sh-pfc/pfc-r8a77990.c | 250 ++++++++++++++++++
> 7 files changed, 569 insertions(+)
--
Regards,
Laurent Pinchart