Hi Sebastiano,
I have managed finally to spend some time on this.
Using the latest Freescale Yocto (3.10.17) and from reading the documentation included in the fsl-L3.10.17_1.0.0_iMX6qdls_Bundle.tar.gz download I have managed to finally get my Marsboard booting, with some issues still.
For some reason my on board eMMC is not working. I tried to update it originally using the Freescale MFG tool but it kept failing, so I am not sure if I have damaged it in some way or I am missing some configuration options.
I have the LVDS display from Embest and although uboot (latest from git) can initialise it and put a logo on it, I am not getting anything from Linux, but it could be a dts issue.
I am also trying out the Wayland/Weston build, which could also be the problem. May just be missing some backlight control, need to check the scehemtics.
The dts I am using is far from complete and probably has bits in it that are not needed.
my imx6q-marsboard.dts file contains the following.
/dts-v1/;
#include "imx6q.dtsi"
/ {
model = "Marsboard i.MX6 Dual Board";
compatible = "embest,imx6q-marsboard", "fsl,imx6q";
aliases {
mxcfb0 = &mxcfb1;
mxcfb1 = &mxcfb2;
mxcfb2 = &mxcfb3;
mxcfb3 = &mxcfb4;
};
memory {
reg = <0x10000000 0x40000000>;
};
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB666";
mode_str ="LDB-XGA";
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};
mxcfb2: fb@1 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "hdmi";
interface_pix_fmt = "RGB24";
mode_str ="1920x1080M@60";
default_bpp = <24>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};
mxcfb3: fb@2 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "lcd";
interface_pix_fmt = "RGB565";
mode_str ="CLAA-WVGA";
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};
mxcfb4: fb@3 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB666";
mode_str ="LDB-XGA";
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};
v4l2_cap_0 {
compatible = "fsl,imx6q-v4l2-capture";
ipu_id = <0>;
csi_id = <0>;
mclk_source = <0>;
status = "disabled";
};
v4l2_cap_1 {
compatible = "fsl,imx6q-v4l2-capture";
ipu_id = <0>;
csi_id = <1>;
mclk_source = <0>;
status = "disabled";
};
v4l2_out {
compatible = "fsl,mxc_v4l2_output";
status = "disabled";
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
hog {
pinctrl_hog: hoggrp {
fsl,pins = < /* RIoT board */
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* SD2 WP */
MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000 /* SD2 CD */
>;
};
};
};
&cpu0 {
arm-supply = <®_arm>;
soc-supply = <®_soc>;
pu-supply = <®_pu>; /* use pu_dummy if VDDSOC share with VDDPU */
};
&gpc {
fsl,ldo-bypass = <0>; /* use ldo-bypass, u-boot will check it and configure */
fsl,wdog-reset = <1>; /* watchdog select of reset source */
pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
};
&gpu {
pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
};
&vpu {
pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet_1>;
phy-mode = "rgmii";
status = "okay";
};
&mxcfb1 {
status = "okay";
};
&ldb {
ipu_id = <1>;
disp_id = <1>;
ext_ref = <1>;
mode = "sep1";
sec_ipu_id = <1>;
sec_disp_id = <0>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1_1>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2_1>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3_1>;
status = "okay";
};
&usbh1 {
status = "okay";
};
&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2_1>;
cd-gpios = <&gpio1 4 0>;
wp-gpios = <&gpio1 2 0>;
status = "okay";
};
&usdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc3_2>;
non-removable;
status = "okay";
};