mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* Using LVDS in a iMX6Q/D from Barebox
@ 2017-02-09 14:37 gianluca
  2017-02-10  7:35 ` Sascha Hauer
  0 siblings, 1 reply; 17+ messages in thread
From: gianluca @ 2017-02-09 14:37 UTC (permalink / raw)
  To: barebox

Hello,
I would like to know if there is a clear way on using the lvds pins to 
drive a LVDS display in a custom made board, based on iMX6Q (in the near 
future the iMX6Dual).

Actually it boots using Barebox 2017.01 and if there is a HDMI display 
it uses without hassle.

My init scripts are loading a splash screen, then boot into linux:

> 	echo "Load splash.png from filesystem..."
> 	splash -f /dev/fb0 -b 0 $bootconfig_path/splash.png
> 	fb0.enable=1

But now, we are looking for a clear way to activate the LVDS signals in 
the LCD Controller when an eeprom chip is found in the I2C bus (more or 
less like EDID stuff) during bootup.

In my bootup script (or specific board initcall code [board.c]) if no 
EEPROM is found, then it will boot naturally with the HDMI port LCD 
Display (if any) or completely BLIND board if no lcd is present.

If it easy to activate the i2c bus and check for some chip addresses, I 
do not know on how to activate the lvds within code.

In my iMX28 based board, I was used the:

> 	add_generic_device("stmfb", 0, NULL, IMX_FB_BASE, 0x2000,
> 			   IORESOURCE_MEM, &board_fb_pdata);

system call to activate a specific videomode defined in the board_fb_data.

Which is the correct way to enable LVDS stuff? Maybe in the device tree 
stuff?

Best regards for any example or any help, hint or clue you will give me
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-09 14:37 Using LVDS in a iMX6Q/D from Barebox gianluca
@ 2017-02-10  7:35 ` Sascha Hauer
  2017-02-14 10:32   ` gianluca
  0 siblings, 1 reply; 17+ messages in thread
From: Sascha Hauer @ 2017-02-10  7:35 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

Hi Gianluca,

On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
> Hello,
> I would like to know if there is a clear way on using the lvds pins to drive
> a LVDS display in a custom made board, based on iMX6Q (in the near future
> the iMX6Dual).
> 
> Actually it boots using Barebox 2017.01 and if there is a HDMI display it
> uses without hassle.
> 
> My init scripts are loading a splash screen, then boot into linux:
> 
> > 	echo "Load splash.png from filesystem..."
> > 	splash -f /dev/fb0 -b 0 $bootconfig_path/splash.png
> > 	fb0.enable=1
> 
> But now, we are looking for a clear way to activate the LVDS signals in the
> LCD Controller when an eeprom chip is found in the I2C bus (more or less
> like EDID stuff) during bootup.
> 
> In my bootup script (or specific board initcall code [board.c]) if no EEPROM
> is found, then it will boot naturally with the HDMI port LCD Display (if
> any) or completely BLIND board if no lcd is present.
> 
> If it easy to activate the i2c bus and check for some chip addresses, I do
> not know on how to activate the lvds within code.

I think what you are looking for is of_device_enable_and_register() or
of_device_enable_and_register_by_name(). You can call it on either the
lvds device node or the hdmi device node, depending on whether you found
an EEPROM or not.

Sascha



-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-10  7:35 ` Sascha Hauer
@ 2017-02-14 10:32   ` gianluca
  2017-02-14 10:59     ` gianluca
  2017-02-15 11:51     ` Sascha Hauer
  0 siblings, 2 replies; 17+ messages in thread
From: gianluca @ 2017-02-14 10:32 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 02/10/2017 08:35 AM, Sascha Hauer wrote:
> Hi Gianluca,
>
> On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
>> Hello,
>> I would like to know if there is a clear way on using the lvds pins to drive
>> a LVDS display in a custom made board, based on iMX6Q (in the near future
>> the iMX6Dual).
>
> I think what you are looking for is of_device_enable_and_register() or
> of_device_enable_and_register_by_name(). You can call it on either the
> lvds device node or the hdmi device node, depending on whether you found
> an EEPROM or not.
>

I think this is not necessary as during boot I can see clearly:

> imx-ipuv3 2400000.ipu: IPUv3H probed
> imx-ipuv3 2800000.ipu: IPUv3H probed
> imx-ldb ldb.10: probe failed: Invalid argument
> imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1

So barebox is trying to bring-up the imx-ldb but fails.

So I suppose something is wrong in my device tree structure.

The LVDS port is connected to LVDS0_... pins of the iMX6Q SoC.

Here is the snippet of .dts file:

> &ldb {
> 	status = "okay";
>
> 	lvds0: lvds-channel@0 {
> 		fsl,data-mapping = "spwg";
> 		fsl,data-width = <16>;
> 		status = "okay";
>
> 		display-timings {
> 			native-mode = <&am128080n3tz>;
> 			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
> 			am128080n3tz: am1280800n3tz {
> 				clock-frequency = <71000000>;
> 				hactive = <1280>;
> 				vactive = <800>;
> 				hback-porch = <50>;
> 				hfront-porch = <50>;
> 				vback-porch = <5>;
> 				vfront-porch = <5>;
> 				hsync-len = <60>;
> 				vsync-len = <13>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <1>;
> 			};
> 			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
> 			am1024600l: am1024600l {
> 				clock-frequency = <51200000>;
> 				hactive = <1024>;
> 				vactive = <600>;
> 				hback-porch = <0>;
> 				hfront-porch = <320>;
> 				vback-porch = <0>;
> 				vfront-porch = <35>;
> 				hsync-len = <1>;
> 				vsync-len = <1>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 			/* DISPLAY 800x480 */
> 			ph800480t013: ph800480t013 {
> 				clock-frequency = <33300000>;
> 				hactive = <800>;
> 				vactive = <480>;
> 				hback-porch = <46>;
> 				hfront-porch = <210>;
> 				vback-porch = <23>;
> 				vfront-porch = <22>;
> 				hsync-len = <1>;
> 				vsync-len = <1>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 		};
>
> 		port@4 {
> 			reg = <4>;
> 			lvds0_out: endpoint {
> 				remote-endpoint = <&panel_in_lvds0>;
> 			};
> 		};
>
> 	};
> };
>

I was thinking of changing the node 'native-mode' in the init scripts 
depending on the data read from a special eeprom (like EDID stuff).
Is this correct?

Here is the panel section:

> 	panel_lvds0 {
> 		backlight = <&backlight_lvds>;
> 		port {
> 			panel_in_lvds0: endpoint {
> 				remote-endpoint = <&lvds0_out>;
> 			};
> 		};
> 	};

And finally the backlight_lvds section:

> 	backlight_lvds: backlight-lvds {
> 		pinctrl-names = "default";
> 		pinctrl-0 = <&pinctrl_backlight>;
> 		compatible = "pwm-backlight";
> 		pwms = <&pwm1 0 5000000>;
> 		brightness-levels = <0 4 8 16 32 64 128 255>;
> 		default-brightness-level = <6>;
> 		power-supply = <&reg_3p3v>;
> 		status = "okay";
> 	};

With the pinctrl_backlight defined as:

> 		pinctrl_backlight: backlightgrp {
> 			fsl,pins = <
> 				MX6QDL_PAD_SD1_DAT3__PWM1_OUT			0x80000000
> 			>;
> 		};

How to proceed further? I would like to have some useful debug 
information (if any) on device driver probing...

Best Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-14 10:32   ` gianluca
@ 2017-02-14 10:59     ` gianluca
  2017-02-15 10:07       ` gianluca
  2017-02-15 11:51     ` Sascha Hauer
  1 sibling, 1 reply; 17+ messages in thread
From: gianluca @ 2017-02-14 10:59 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 02/14/2017 11:32 AM, gianluca wrote:
> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
>> Hi Gianluca,
>>
>> On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
>>> Hello,
>>> I would like to know if there is a clear way on using the lvds pins
>>> to drive
>>> a LVDS display in a custom made board, based on iMX6Q (in the near
>>> future
>>> the iMX6Dual).
>>
>> I think what you are looking for is of_device_enable_and_register() or
>> of_device_enable_and_register_by_name(). You can call it on either the
>> lvds device node or the hdmi device node, depending on whether you found
>> an EEPROM or not.
>>
>
> I think this is not necessary as during boot I can see clearly:
>
>> imx-ipuv3 2400000.ipu: IPUv3H probed
>> imx-ipuv3 2800000.ipu: IPUv3H probed
>> imx-ldb ldb.10: probe failed: Invalid argument
>> imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
>

I had a wrong configuration:

>
>> &ldb {
>>     status = "okay";
>>
>>     lvds0: lvds-channel@0 {
>>         fsl,data-mapping = "spwg";
>>         fsl,data-width = <16>;
>>         status = "okay";
>>

fsl,data-width = must be <18> or <24>

Now boots without error, but the framebuffer device is not registered. 
Why? I need something more??


-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-14 10:59     ` gianluca
@ 2017-02-15 10:07       ` gianluca
  0 siblings, 0 replies; 17+ messages in thread
From: gianluca @ 2017-02-15 10:07 UTC (permalink / raw)
  To: barebox

On 02/14/2017 11:59 AM, gianluca wrote:
> On 02/14/2017 11:32 AM, gianluca wrote:
>> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
>>> Hi Gianluca,
>>>
>>> On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
>>>> Hello,
>>>> I would like to know if there is a clear way on using the lvds pins
>>>> to drive
>>>> a LVDS display in a custom made board, based on iMX6Q (in the near
>>>> future
>>>> the iMX6Dual).
>>>
>>> I think what you are looking for is of_device_enable_and_register() or
>>> of_device_enable_and_register_by_name(). You can call it on either the
>>> lvds device node or the hdmi device node, depending on whether you found
>>> an EEPROM or not.
>>>
>>
>> I think this is not necessary as during boot I can see clearly:
>>
>>> imx-ipuv3 2400000.ipu: IPUv3H probed
>>> imx-ipuv3 2800000.ipu: IPUv3H probed
>>> imx-ldb ldb.10: probe failed: Invalid argument
>>> imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
>>
>
> I had a wrong configuration:
>
>>
>>> &ldb {
>>>     status = "okay";
>>>
>>>     lvds0: lvds-channel@0 {
>>>         fsl,data-mapping = "spwg";
>>>         fsl,data-width = <16>;
>>>         status = "okay";
>>>
>
> fsl,data-width = must be <18> or <24>
>
> Now boots without error, but the framebuffer device is not registered.
> Why? I need something more??
>
>

Now I did a little step forward. Using the DEBUG_VERBOSE #define 
somewhere in the hdmi, ldb and pb device drivers I can see what is 
happening:

>
>
> barebox 2017.02.0 #20 Tue Feb 14 17:24:52 CET 2017
>
>
> Board: Eurek EK360 i.MX6Q/D
> detected i.MX6 Quad revision 1.5
> mdio_bus: miibus0: probed
> imx-usb 2184000.usb: Cannot get phy: Function not implemented
> imx-usb 2184000.usb: probe failed: Function not implemented
> imx-usb 2184200.usb: Cannot get phy: Function not implemented
> imx-usb 2184200.usb: probe failed: Function not implemented

Not a problem here as I am running from usb device with no 
flash-programmed-on-board. ;-)

> imx-esdhc 2194000.usdhc: registered as 2194000.usdhc
> imx-esdhc 2198000.usdhc: registered as 2198000.usdhc
> imx-esdhc 219c000.usdhc: registered as 219c000.usdhc
> imx-ipuv3 2400000.ipu: IPUv3H probed
> imx-ipuv3 2800000.ipu: IPUv3H probed
> VPL: vpl_register: /soc/aips-bus@02000000/ldb@020e0008/lvds-channel@0
> imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1

> VPL: vpl_register: /soc/hdmi@0120000

Which driver is calling this vpl_register? I can not clue by the 
previous outputs... :-/


> netconsole: registered as netconsole-1
> malloc space: 0x2ff7b640 -> 0x4fef6c7f (size 511.5 MiB)

> imx-ipuv3-crtc imx-ipuv3-crtc0: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc0: register vpl for /soc/ipu@02400000
> VPL: vpl_register: /soc/ipu@02400000
> VPL: vpl_ioctl: /soc/ipu@02400000 port 2
> VPL: vpl_ioctl: no remote for endpoint /soc/ipu@02400000/port@2/disp0-endpoint
> imx-ipuv3-crtc imx-ipuv3-crtc0: failed to get modes: Invalid argument
> imx-ipuv3-crtc imx-ipuv3-crtc0: probe failed: Invalid argument

CRTC0 - Now the vpl_ioctl is failing because of no modes (or no 
disp0-endpoint).
Why? In the dts there the video-timings in the ldb section

> imx-ipuv3-crtc imx-ipuv3-crtc1: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc1: register vpl for /soc/ipu@02400000
> VPL: vpl_register: /soc/ipu@02400000
> VPL: vpl_ioctl: /soc/ipu@02400000 port 3
> VPL: vpl_ioctl: no remote for endpoint /soc/ipu@02400000/port@3/disp1-endpoint
> imx-ipuv3-crtc imx-ipuv3-crtc1: failed to get modes: Invalid argument
> imx-ipuv3-crtc imx-ipuv3-crtc1: probe failed: Invalid argument

CRTC1 - Same issue.

> imx-ipuv3-crtc imx-ipuv3-crtc2: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc2: register vpl for /soc/ipu@02800000
> VPL: vpl_register: /soc/ipu@02800000
> VPL: vpl_ioctl: /soc/ipu@02800000 port 2
> VPL: vpl_ioctl: no remote for endpoint /soc/ipu@02800000/port@2/disp0-endpoint
> imx-ipuv3-crtc imx-ipuv3-crtc2: failed to get modes: Invalid argument
> imx-ipuv3-crtc imx-ipuv3-crtc2: probe failed: Invalid argument

CRTC2 - Same issue

> imx-ipuv3-crtc imx-ipuv3-crtc3: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc3: register vpl for /soc/ipu@02800000
> VPL: vpl_register: /soc/ipu@02800000
> VPL: vpl_ioctl: /soc/ipu@02800000 port 3
> imx-ipuv3-crtc imx-ipuv3-crtc3: failed to get modes: Invalid argument
> imx-ipuv3-crtc imx-ipuv3-crtc3: probe failed: Invalid argument

CRTC3 - Not as the others above, as the vpl_ioctl() no checks/fails for 
endpoint here.

> environment load /dev/env0: No such file or directory
> Maybe you have to create the partition.
> running /env/bin/init...
> Running boot from uSD/MMC or USB...
> mmc2: set parameter probe: Connection timed out
> ext4 ext40: probe failed: Invalid argument
> mount: Invalid argument
> Hit CTRL-C key to stop autoboot:  1

No Framebuffer driver registered. No /dev/fb[0-3] device node created.

I found something interesting: if I connect a HDMI display (with a EDID 
EEPROM) the CRTC0-3 is not failing anymore.

> barebox 2017.02.0 #20 Tue Feb 14 17:24:52 CET 2017
>
>
> Board: Eurek EK360 i.MX6Q/D
> detected i.MX6 Quad revision 1.5
> mdio_bus: miibus0: probed
> imx-usb 2184000.usb: Cannot get phy: Function not implemented
> imx-usb 2184000.usb: probe failed: Function not implemented
> imx-usb 2184200.usb: Cannot get phy: Function not implemented
> imx-usb 2184200.usb: probe failed: Function not implemented
> imx-esdhc 2194000.usdhc: registered as 2194000.usdhc
> imx-esdhc 2198000.usdhc: registered as 2198000.usdhc
> imx-esdhc 219c000.usdhc: registered as 219c000.usdhc
> imx-ipuv3 2400000.ipu: IPUv3H probed
> imx-ipuv3 2800000.ipu: IPUv3H probed
> VPL: vpl_register: /soc/aips-bus@02000000/ldb@020e0008/lvds-channel@0
> imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
> VPL: vpl_register: /soc/hdmi@0120000
> netconsole: registered as netconsole-1
> malloc space: 0x2ff7b640 -> 0x4fef6c7f (size 511.5 MiB)
> imx-ipuv3-crtc imx-ipuv3-crtc0: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc0: register vpl for /soc/ipu@02400000
> VPL: vpl_register: /soc/ipu@02400000
> VPL: vpl_ioctl: /soc/ipu@02400000 port 2
> VPL: vpl_ioctl: no remote for endpoint /soc/ipu@02400000/port@2/disp0-endpoint
> registered as fbconsole0

Here it is for CRTC0!!!

> imx-ipuv3-crtc imx-ipuv3-crtc1: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc1: register vpl for /soc/ipu@02400000
> VPL: vpl_register: /soc/ipu@02400000
> VPL: vpl_ioctl: /soc/ipu@02400000 port 3
> VPL: vpl_ioctl: no remote for endpoint /soc/ipu@02400000/port@3/disp1-endpoint
> registered as fbconsole1

Even for CRTC1!

> imx-ipuv3-crtc imx-ipuv3-crtc2: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc2: register vpl for /soc/ipu@02800000
> VPL: vpl_register: /soc/ipu@02800000
> VPL: vpl_ioctl: /soc/ipu@02800000 port 2
> VPL: vpl_ioctl: no remote for endpoint /soc/ipu@02800000/port@2/disp0-endpoint
> registered as fbconsole2

Even for CRTC2

> imx-ipuv3-crtc imx-ipuv3-crtc3: i.MX Framebuffer driver IPU
> imx-ipuv3-crtc imx-ipuv3-crtc3: register vpl for /soc/ipu@02800000
> VPL: vpl_register: /soc/ipu@02800000
> VPL: vpl_ioctl: /soc/ipu@02800000 port 3
> registered as fbconsole3

...and for CRTC3 too.

The display is a 1024x600 7 inches HDMI display.

Here is the devinfo fb[0-3] information:

> barebox@Eurek EK360 i.MX6Q/D:/ devinfo fb0
> Resources:
>   num: 0
>   start: 0x300cd000
>   size: 0x003e8000
> Available modes:
>   am1280800n3tz: 1280x800@0
>   am1024600l: 1024x600@0
>   ph800480t013: 800x480@0
> Parameters:
>   enable: 0
>   mode_name: am1280800n3tz ("am1280800n3tz", "am1024600l", "ph800480t013")
>   register_simplefb: 0
>   shadowfb: 1
> barebox@Eurek EK360 i.MX6Q/D:/ devinfo fb1
> Resources:
>   num: 0
>   start: 0x304b6000
>   size: 0x003e8000
> Available modes:
>   am1280800n3tz: 1280x800@0
>   am1024600l: 1024x600@0
>   ph800480t013: 800x480@0
> Parameters:
>   enable: 0
>   mode_name: am1280800n3tz ("am1280800n3tz", "am1024600l", "ph800480t013")
>   register_simplefb: 0
>   shadowfb: 1
> barebox@Eurek EK360 i.MX6Q/D:/ devinfo fb2
> Resources:
>   num: 0
>   start: 0x308a0000
>   size: 0x003e8000
> Available modes:
>   am1280800n3tz: 1280x800@0
>   am1024600l: 1024x600@0
>   ph800480t013: 800x480@0
> Parameters:
>   enable: 0
>   mode_name: am1280800n3tz ("am1280800n3tz", "am1024600l", "ph800480t013")
>   register_simplefb: 0
>   shadowfb: 1
> barebox@Eurek EK360 i.MX6Q/D:/ devinfo fb3
> Resources:
>   num: 0
>   start: 0x30c89000
>   size: 0x003e8000
> Available modes:
>   am1280800n3tz: 1280x800@0
>   am1024600l: 1024x600@0
>   ph800480t013: 800x480@0
> Parameters:
>   enable: 0
>   mode_name: am1280800n3tz ("am1280800n3tz", "am1024600l", "ph800480t013")
>   register_simplefb: 0
>   shadowfb: 1

It looks like the video-timings/mode are getting from the ldb section of 
the device tree, but activated only when a hdmi display is connected.

Anyway there is a strange value for refresh stuff. It is @0 for every 
display.

In the device tree timing I have those parameters:

> 			native-mode = <&am128080n3tz>;
> 			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
> 			am128080n3tz: am1280800n3tz {
> 				clock-frequency = <71000000>;
> 				hactive = <1280>;
> 				vactive = <800>;
> 				hback-porch = <50>;
> 				hfront-porch = <50>;
> 				vback-porch = <5>;
> 				vfront-porch = <5>;
> 				hsync-len = <60>;
> 				vsync-len = <13>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <1>;
> 			};
> 			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
> 			am1024600l: am1024600l {
> 				clock-frequency = <51200000>;
> 				hactive = <1024>;
> 				vactive = <600>;
> 				hback-porch = <0>;
> 				hfront-porch = <320>;
> 				vback-porch = <0>;
> 				vfront-porch = <35>;
> 				hsync-len = <1>;
> 				vsync-len = <1>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 			/* DISPLAY 800x480 */
> 			ph800480t013: ph800480t013 {
> 				clock-frequency = <33300000>;
> 				hactive = <800>;
> 				vactive = <480>;
> 				hback-porch = <46>;
> 				hfront-porch = <210>;
> 				vback-porch = <23>;
> 				vfront-porch = <22>;
> 				hsync-len = <1>;
> 				vsync-len = <1>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 		};

which more or less is 60Hz every mode.

Can you help me to get out from this situation?

Regards,
Gianluca Renzi
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-14 10:32   ` gianluca
  2017-02-14 10:59     ` gianluca
@ 2017-02-15 11:51     ` Sascha Hauer
  2017-02-15 14:34       ` gianluca
  1 sibling, 1 reply; 17+ messages in thread
From: Sascha Hauer @ 2017-02-15 11:51 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
> > Hi Gianluca,
> > 
> > On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
> > > Hello,
> > > I would like to know if there is a clear way on using the lvds pins to drive
> > > a LVDS display in a custom made board, based on iMX6Q (in the near future
> > > the iMX6Dual).
> > 
> > I think what you are looking for is of_device_enable_and_register() or
> > of_device_enable_and_register_by_name(). You can call it on either the
> > lvds device node or the hdmi device node, depending on whether you found
> > an EEPROM or not.
> > 
> 
> I think this is not necessary as during boot I can see clearly:
> 
> > imx-ipuv3 2400000.ipu: IPUv3H probed
> > imx-ipuv3 2800000.ipu: IPUv3H probed
> > imx-ldb ldb.10: probe failed: Invalid argument
> > imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
> 
> So barebox is trying to bring-up the imx-ldb but fails.
> 
> So I suppose something is wrong in my device tree structure.

Nope, there's everything right.

I can reproduce this here on a GuF Santaro board. LVDS works fine on
current barebox as long as I leave hdmi disabled in the device tree.
When I enable hdmi I also get a "failed to get modes".

Normally when different outputs are available then one would expect
that each one of them is routed to some framebuffer, maybe with some
sane default and configurable during runtime. The current code falls
short here.
What happens is each framebuffer looks around for outputs, all finding
hdmi and lvds. Now the hdmi output may not have a monitor connected
and returns no valid mode. In this case the lvds is not even asked for
modes.
Also in the current code it can happen that the lvds is asked for modes
which are then applied to hdmi.
Where we currently are is that it should work when exactly one output
is enabled. Does lvds work properly when hdmi is disabled? In this
case I would suggest that you manipulate your devicetree so that exactly
one output is enabled.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-15 11:51     ` Sascha Hauer
@ 2017-02-15 14:34       ` gianluca
  2017-02-16  7:28         ` Sascha Hauer
  0 siblings, 1 reply; 17+ messages in thread
From: gianluca @ 2017-02-15 14:34 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 02/15/2017 12:51 PM, Sascha Hauer wrote:
> On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
>> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
>>> Hi Gianluca,
>>>
>>> On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
>>>> Hello,
>>>> I would like to know if there is a clear way on using the lvds pins to drive
>>>> a LVDS display in a custom made board, based on iMX6Q (in the near future
>>>> the iMX6Dual).
>>>
>>> I think what you are looking for is of_device_enable_and_register() or
>>> of_device_enable_and_register_by_name(). You can call it on either the
>>> lvds device node or the hdmi device node, depending on whether you found
>>> an EEPROM or not.
>>>
>>
>> I think this is not necessary as during boot I can see clearly:
>>
>>> imx-ipuv3 2400000.ipu: IPUv3H probed
>>> imx-ipuv3 2800000.ipu: IPUv3H probed
>>> imx-ldb ldb.10: probe failed: Invalid argument
>>> imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
>>
>> So barebox is trying to bring-up the imx-ldb but fails.
>>
>> So I suppose something is wrong in my device tree structure.
>
> Nope, there's everything right.
>
> I can reproduce this here on a GuF Santaro board. LVDS works fine on
> current barebox as long as I leave hdmi disabled in the device tree.
> When I enable hdmi I also get a "failed to get modes".
>
> Normally when different outputs are available then one would expect
> that each one of them is routed to some framebuffer, maybe with some
> sane default and configurable during runtime. The current code falls
> short here.
> What happens is each framebuffer looks around for outputs, all finding
> hdmi and lvds. Now the hdmi output may not have a monitor connected
> and returns no valid mode. In this case the lvds is not even asked for
> modes.
> Also in the current code it can happen that the lvds is asked for modes
> which are then applied to hdmi.
> Where we currently are is that it should work when exactly one output
> is enabled. Does lvds work properly when hdmi is disabled? In this
> case I would suggest that you manipulate your devicetree so that exactly
> one output is enabled.
>


That's works. Thank you!

Now I am planning to adapt the (internal) and external device-tree to 
match the hardware.

First of all hdmi and ldb node are "disabled" by default.

Then I am looking for any eeprom in the lvds connector I have.
If it is found, check the phandle "native-mode" of the display-timings 
node to match the value found in eeprom. If not matches the native-mode, 
it should change the native-mode phandle accordingly with the value 
found. (I was thinking about of_find_node_by_name() and then change its 
value using of_set_property_to_child_phandle(display, "native-mode")). 
And finally change the status of ldb node from "disabled" to "okay". Is 
this the correct way of doing this?

If no eeprom is found activate the status of the hdmi node from 
"disabled" to "okay". So with the same algorithm as above,

Those operations will be done in the coredevice_initcall() level. Is 
this correct?

Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-15 14:34       ` gianluca
@ 2017-02-16  7:28         ` Sascha Hauer
  2017-02-16  9:07           ` gianluca
  2017-02-16 14:43           ` gianluca
  0 siblings, 2 replies; 17+ messages in thread
From: Sascha Hauer @ 2017-02-16  7:28 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
> On 02/15/2017 12:51 PM, Sascha Hauer wrote:
> > On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
> > > On 02/10/2017 08:35 AM, Sascha Hauer wrote:
> > > > Hi Gianluca,
> > > > 
> > > > On Thu, Feb 09, 2017 at 03:37:41PM +0100, gianluca wrote:
> > > > > Hello,
> > > > > I would like to know if there is a clear way on using the lvds pins to drive
> > > > > a LVDS display in a custom made board, based on iMX6Q (in the near future
> > > > > the iMX6Dual).
> > > > 
> > > > I think what you are looking for is of_device_enable_and_register() or
> > > > of_device_enable_and_register_by_name(). You can call it on either the
> > > > lvds device node or the hdmi device node, depending on whether you found
> > > > an EEPROM or not.
> > > > 
> > > 
> > > I think this is not necessary as during boot I can see clearly:
> > > 
> > > > imx-ipuv3 2400000.ipu: IPUv3H probed
> > > > imx-ipuv3 2800000.ipu: IPUv3H probed
> > > > imx-ldb ldb.10: probe failed: Invalid argument
> > > > imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
> > > 
> > > So barebox is trying to bring-up the imx-ldb but fails.
> > > 
> > > So I suppose something is wrong in my device tree structure.
> > 
> > Nope, there's everything right.
> > 
> > I can reproduce this here on a GuF Santaro board. LVDS works fine on
> > current barebox as long as I leave hdmi disabled in the device tree.
> > When I enable hdmi I also get a "failed to get modes".
> > 
> > Normally when different outputs are available then one would expect
> > that each one of them is routed to some framebuffer, maybe with some
> > sane default and configurable during runtime. The current code falls
> > short here.
> > What happens is each framebuffer looks around for outputs, all finding
> > hdmi and lvds. Now the hdmi output may not have a monitor connected
> > and returns no valid mode. In this case the lvds is not even asked for
> > modes.
> > Also in the current code it can happen that the lvds is asked for modes
> > which are then applied to hdmi.
> > Where we currently are is that it should work when exactly one output
> > is enabled. Does lvds work properly when hdmi is disabled? In this
> > case I would suggest that you manipulate your devicetree so that exactly
> > one output is enabled.
> > 
> 
> 
> That's works. Thank you!
> 
> Now I am planning to adapt the (internal) and external device-tree to match
> the hardware.
> 
> First of all hdmi and ldb node are "disabled" by default.
> 
> Then I am looking for any eeprom in the lvds connector I have.
> If it is found, check the phandle "native-mode" of the display-timings node
> to match the value found in eeprom. If not matches the native-mode, it
> should change the native-mode phandle accordingly with the value found. (I
> was thinking about of_find_node_by_name() and then change its value using
> of_set_property_to_child_phandle(display, "native-mode")). And finally
> change the status of ldb node from "disabled" to "okay". Is this the correct
> way of doing this?
> 
> If no eeprom is found activate the status of the hdmi node from "disabled"
> to "okay". So with the same algorithm as above,
> 
> Those operations will be done in the coredevice_initcall() level. Is this
> correct?

Sounds like a plan. I'm not sure though if you find your EEPROM at
coredevice_initcall time.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-16  7:28         ` Sascha Hauer
@ 2017-02-16  9:07           ` gianluca
  2017-02-16 14:43           ` gianluca
  1 sibling, 0 replies; 17+ messages in thread
From: gianluca @ 2017-02-16  9:07 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 02/16/2017 08:28 AM, Sascha Hauer wrote:
> On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
>> First of all hdmi and ldb node are "disabled" by default.
>>
>> Then I am looking for any eeprom in the lvds connector I have.
>> If it is found, check the phandle "native-mode" of the display-timings node
>> to match the value found in eeprom. If not matches the native-mode, it
>>
>> If no eeprom is found activate the status of the hdmi node from "disabled"
>> to "okay". So with the same algorithm as above,
>>
>> Those operations will be done in the coredevice_initcall() level. Is this
>> correct?
>
> Sounds like a plan. I'm not sure though if you find your EEPROM at
> coredevice_initcall time.
>

Now I will check. In the worst case I will do a first-gpio-based (no 
device-tree based) i2c bus access, then when the i2c driver will get 
probed, I will do any other operation.

I will keep you informed.

Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-16  7:28         ` Sascha Hauer
  2017-02-16  9:07           ` gianluca
@ 2017-02-16 14:43           ` gianluca
  2017-02-16 15:50             ` Lucas Stach
  1 sibling, 1 reply; 17+ messages in thread
From: gianluca @ 2017-02-16 14:43 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 02/16/2017 08:28 AM, Sascha Hauer wrote:
> On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
>> On 02/15/2017 12:51 PM, Sascha Hauer wrote:
>>> On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
>>>> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
>> If no eeprom is found activate the status of the hdmi node from "disabled"
>> to "okay". So with the same algorithm as above,
>>
>> Those operations will be done in the coredevice_initcall() level. Is this
>> correct?
>
> Sounds like a plan. I'm not sure though if you find your EEPROM at
> coredevice_initcall time.
>

Nope. Accessing device drivers (enabled in the device-tree) is possible 
in the section: device_initcall() and *NOT* in the coredevice_initcall() 
time.

Anyway I was wondering if looking for a node in the device-tree, it will 
be possible to change the status of that node.

in DTS I have

&hdmi {
	status="disabled";
}

but I need to set the status to "okay" later on the device_initcall() time.

Iterating in the device tree using for_each_node_by_name_from() does not 
show any node like hdmi, but using the same function to look for any 
"display-timing" section it works.

Why? Where I have to look on to change the status of the device driver 
node &hdmi and &ldb?

I see a lot of __fixup() functions but I do not understand it correctly.
Like to change the phandle of the native-mode too..

Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-16 14:43           ` gianluca
@ 2017-02-16 15:50             ` Lucas Stach
  2017-02-17 15:38               ` gianluca
  0 siblings, 1 reply; 17+ messages in thread
From: Lucas Stach @ 2017-02-16 15:50 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

Am Donnerstag, den 16.02.2017, 15:43 +0100 schrieb gianluca:
> On 02/16/2017 08:28 AM, Sascha Hauer wrote:
> > On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
> >> On 02/15/2017 12:51 PM, Sascha Hauer wrote:
> >>> On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
> >>>> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
> >> If no eeprom is found activate the status of the hdmi node from "disabled"
> >> to "okay". So with the same algorithm as above,
> >>
> >> Those operations will be done in the coredevice_initcall() level. Is this
> >> correct?
> >
> > Sounds like a plan. I'm not sure though if you find your EEPROM at
> > coredevice_initcall time.
> >
> 
> Nope. Accessing device drivers (enabled in the device-tree) is possible 
> in the section: device_initcall() and *NOT* in the coredevice_initcall() 
> time.
> 
> Anyway I was wondering if looking for a node in the device-tree, it will 
> be possible to change the status of that node.
> 
> in DTS I have
> 
> &hdmi {
> 	status="disabled";
> }
> 
> but I need to set the status to "okay" later on the device_initcall() time.
> 
> Iterating in the device tree using for_each_node_by_name_from() does not 
> show any node like hdmi, but using the same function to look for any 
> "display-timing" section it works.

The node isn't called just "hdmi", that is just the handle, which may
not even be present in the final DTB if nothing uses it. The nodes name
is "hdmi@0120000".

See "arch/arm/boot/dts/imx6qdl.dtsi".

Regards,
Lucas


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-16 15:50             ` Lucas Stach
@ 2017-02-17 15:38               ` gianluca
  2017-02-22  8:00                 ` Sascha Hauer
  0 siblings, 1 reply; 17+ messages in thread
From: gianluca @ 2017-02-17 15:38 UTC (permalink / raw)
  To: Lucas Stach; +Cc: barebox

On 02/16/2017 04:50 PM, Lucas Stach wrote:
> Am Donnerstag, den 16.02.2017, 15:43 +0100 schrieb gianluca:
>> On 02/16/2017 08:28 AM, Sascha Hauer wrote:
>>> On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
>>>> On 02/15/2017 12:51 PM, Sascha Hauer wrote:
>>>>> On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
>>>>>> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
>>>> If no eeprom is found activate the status of the hdmi node from "disabled"
>>>> to "okay". So with the same algorithm as above,
>>>>
>>>> Those operations will be done in the coredevice_initcall() level. Is this
>>>> correct?
>>>
>>> Sounds like a plan. I'm not sure though if you find your EEPROM at
>>> coredevice_initcall time.
>>>
>>
>> Nope. Accessing device drivers (enabled in the device-tree) is possible
>> in the section: device_initcall() and *NOT* in the coredevice_initcall()
>> time.
>>
>> Anyway I was wondering if looking for a node in the device-tree, it will
>> be possible to change the status of that node.
>>
>> in DTS I have
>>
>> &hdmi {
>> 	status="disabled";
>> }
>>
>> but I need to set the status to "okay" later on the device_initcall() time.
>>
>> Iterating in the device tree using for_each_node_by_name_from() does not
>> show any node like hdmi, but using the same function to look for any
>> "display-timing" section it works.
>
> The node isn't called just "hdmi", that is just the handle, which may
> not even be present in the final DTB if nothing uses it. The nodes name
> is "hdmi@0120000".
>
> See "arch/arm/boot/dts/imx6qdl.dtsi".
>

Ok, thank you for hints.

 From my dts file:

> &hdmi {
> 	ddc-i2c-bus = <&i2c2>;
> 	status = "disabled";
> };
>

It is disabled by default. It will be enabled later by my 
device_initcall() function.

> &ldb {
> 	#address-cells = <1>;
> 	#size-cells = <0>;
> 	status = "disabled";
>

As the hdmi node.

> 	lvds0: lvds-channel@0 {
> 		fsl,data-mapping = "spwg";
> 		fsl,data-width = <24>;
> 		status = "disabled";
>

Just for sure it is disabled too!


> 		display-timings {
> 			native-mode = <&am128080n3tz>;

This is fixed. It will be changed during the device_initcall() functions.

> 			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
> 			am128080n3tz: am1280800n3tz {
> 				clock-frequency = <71000000>;
> 				hactive = <1280>;
> 				vactive = <800>;
> 				hback-porch = <50>;
> 				hfront-porch = <50>;
> 				vback-porch = <5>;
> 				vfront-porch = <5>;
> 				hsync-len = <60>;
> 				vsync-len = <13>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
> 			am1024600l: am1024600l {
> 				clock-frequency = <51200000>;
> 				hactive = <1024>;
> 				vactive = <600>;
> 				hback-porch = <0>;
> 				hfront-porch = <320>;
> 				vback-porch = <0>;
> 				vfront-porch = <35>;
> 				hsync-len = <1>;
> 				vsync-len = <1>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 			/* DISPLAY 800x480 */
> 			ph800480t013: ph800480t013 {
> 				clock-frequency = <33300000>;
> 				hactive = <800>;
> 				vactive = <480>;
> 				hback-porch = <46>;
> 				hfront-porch = <210>;
> 				vback-porch = <23>;
> 				vfront-porch = <22>;
> 				hsync-len = <1>;
> 				vsync-len = <1>;
> 				hsync-active = <0>;
> 				vsync-active = <0>;
> 				de-active = <1>;
> 				pixelclk-active = <0>;
> 			};
> 		};
>
> 		port@4 {
> 			reg = <4>;
> 			lvds0_out: endpoint {
> 				remote-endpoint = <&in_lvds0>;
> 			};
> 		};
>
> 	};
> };

The device_initcall() functions is looking for an eeprom on the lvds 
channel, and if found it will matched against the native-mode phandle.
If it is different from the default, a new native-mode will be placed as 
native-mode, and afterall the lvds-channel@0 and ldb will be flagged in 
status as "okay".

Then the of_device_enable_and_register_by_name("ldb@020e0008") will be 
called.

In the same way if an eeprom is found on the hdmi connector bus, the 
hdmi status will be changed to "okay".

If there is no display (so no eeprom either) connected on the lvds 
connector, the device_initcall() functions will let all ldb stuff as 
default (i.e. disabled) and it will enable the hdmi section if there is 
a hdmi display (and its eeprom EDID) connected.

The problem is the modeset of framebuffer (.num_modes): this list is 
created from the device-tree sequence and the default does not respect 
the native-mode section. i.e. if I have a 800x480 native mode display 
timing in the device tree as a third option, the fb0.modes will have the 
800x480 in the third place.

There is a quick (and dirty) way of calling the fb0.mode_name inside a 
device_initcall()?

Or I have to use the shell script in init to adapt it correctly?

Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-17 15:38               ` gianluca
@ 2017-02-22  8:00                 ` Sascha Hauer
  2017-02-22  8:26                   ` gianluca
  0 siblings, 1 reply; 17+ messages in thread
From: Sascha Hauer @ 2017-02-22  8:00 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Fri, Feb 17, 2017 at 04:38:37PM +0100, gianluca wrote:
> On 02/16/2017 04:50 PM, Lucas Stach wrote:
> > Am Donnerstag, den 16.02.2017, 15:43 +0100 schrieb gianluca:
> > > On 02/16/2017 08:28 AM, Sascha Hauer wrote:
> > > > On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
> > > > > On 02/15/2017 12:51 PM, Sascha Hauer wrote:
> > > > > > On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
> > > > > > > On 02/10/2017 08:35 AM, Sascha Hauer wrote:
> > > > > If no eeprom is found activate the status of the hdmi node from "disabled"
> > > > > to "okay". So with the same algorithm as above,
> > > > > 
> > > > > Those operations will be done in the coredevice_initcall() level. Is this
> > > > > correct?
> > > > 
> > > > Sounds like a plan. I'm not sure though if you find your EEPROM at
> > > > coredevice_initcall time.
> > > > 
> > > 
> > > Nope. Accessing device drivers (enabled in the device-tree) is possible
> > > in the section: device_initcall() and *NOT* in the coredevice_initcall()
> > > time.
> > > 
> > > Anyway I was wondering if looking for a node in the device-tree, it will
> > > be possible to change the status of that node.
> > > 
> > > in DTS I have
> > > 
> > > &hdmi {
> > > 	status="disabled";
> > > }
> > > 
> > > but I need to set the status to "okay" later on the device_initcall() time.
> > > 
> > > Iterating in the device tree using for_each_node_by_name_from() does not
> > > show any node like hdmi, but using the same function to look for any
> > > "display-timing" section it works.
> > 
> > The node isn't called just "hdmi", that is just the handle, which may
> > not even be present in the final DTB if nothing uses it. The nodes name
> > is "hdmi@0120000".
> > 
> > See "arch/arm/boot/dts/imx6qdl.dtsi".
> > 
> 
> Ok, thank you for hints.
> 
> From my dts file:
> 
> > &hdmi {
> > 	ddc-i2c-bus = <&i2c2>;
> > 	status = "disabled";
> > };
> > 
> 
> It is disabled by default. It will be enabled later by my device_initcall()
> function.
> 
> > &ldb {
> > 	#address-cells = <1>;
> > 	#size-cells = <0>;
> > 	status = "disabled";
> > 
> 
> As the hdmi node.
> 
> > 	lvds0: lvds-channel@0 {
> > 		fsl,data-mapping = "spwg";
> > 		fsl,data-width = <24>;
> > 		status = "disabled";
> > 
> 
> Just for sure it is disabled too!
> 
> 
> > 		display-timings {
> > 			native-mode = <&am128080n3tz>;
> 
> This is fixed. It will be changed during the device_initcall() functions.
> 
> > 			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
> > 			am128080n3tz: am1280800n3tz {
> > 				clock-frequency = <71000000>;
> > 				hactive = <1280>;
> > 				vactive = <800>;
> > 				hback-porch = <50>;
> > 				hfront-porch = <50>;
> > 				vback-porch = <5>;
> > 				vfront-porch = <5>;
> > 				hsync-len = <60>;
> > 				vsync-len = <13>;
> > 				hsync-active = <0>;
> > 				vsync-active = <0>;
> > 				de-active = <1>;
> > 				pixelclk-active = <0>;
> > 			};
> > 			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
> > 			am1024600l: am1024600l {
> > 				clock-frequency = <51200000>;
> > 				hactive = <1024>;
> > 				vactive = <600>;
> > 				hback-porch = <0>;
> > 				hfront-porch = <320>;
> > 				vback-porch = <0>;
> > 				vfront-porch = <35>;
> > 				hsync-len = <1>;
> > 				vsync-len = <1>;
> > 				hsync-active = <0>;
> > 				vsync-active = <0>;
> > 				de-active = <1>;
> > 				pixelclk-active = <0>;
> > 			};
> > 			/* DISPLAY 800x480 */
> > 			ph800480t013: ph800480t013 {
> > 				clock-frequency = <33300000>;
> > 				hactive = <800>;
> > 				vactive = <480>;
> > 				hback-porch = <46>;
> > 				hfront-porch = <210>;
> > 				vback-porch = <23>;
> > 				vfront-porch = <22>;
> > 				hsync-len = <1>;
> > 				vsync-len = <1>;
> > 				hsync-active = <0>;
> > 				vsync-active = <0>;
> > 				de-active = <1>;
> > 				pixelclk-active = <0>;
> > 			};
> > 		};
> > 
> > 		port@4 {
> > 			reg = <4>;
> > 			lvds0_out: endpoint {
> > 				remote-endpoint = <&in_lvds0>;
> > 			};
> > 		};
> > 
> > 	};
> > };
> 
> The device_initcall() functions is looking for an eeprom on the lvds
> channel, and if found it will matched against the native-mode phandle.
> If it is different from the default, a new native-mode will be placed as
> native-mode, and afterall the lvds-channel@0 and ldb will be flagged in
> status as "okay".
> 
> Then the of_device_enable_and_register_by_name("ldb@020e0008") will be
> called.
> 
> In the same way if an eeprom is found on the hdmi connector bus, the hdmi
> status will be changed to "okay".
> 
> If there is no display (so no eeprom either) connected on the lvds
> connector, the device_initcall() functions will let all ldb stuff as default
> (i.e. disabled) and it will enable the hdmi section if there is a hdmi
> display (and its eeprom EDID) connected.
> 
> The problem is the modeset of framebuffer (.num_modes): this list is created
> from the device-tree sequence and the default does not respect the
> native-mode section. i.e. if I have a 800x480 native mode display timing in
> the device tree as a third option, the fb0.modes will have the 800x480 in
> the third place.
> 
> There is a quick (and dirty) way of calling the fb0.mode_name inside a
> device_initcall()?

You can do a setenv("fb0.mode_name", "800x480");

However, it would be nicer to make the native mode the default. struct
display_timings already has a native_mode field, but currently noone is
interested in its value.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-22  8:00                 ` Sascha Hauer
@ 2017-02-22  8:26                   ` gianluca
  2017-02-22  9:05                     ` gianluca
  2017-02-22  9:40                     ` Sascha Hauer
  0 siblings, 2 replies; 17+ messages in thread
From: gianluca @ 2017-02-22  8:26 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 02/22/2017 09:00 AM, Sascha Hauer wrote:
> On Fri, Feb 17, 2017 at 04:38:37PM +0100, gianluca wrote:
>> On 02/16/2017 04:50 PM, Lucas Stach wrote:
>>> Am Donnerstag, den 16.02.2017, 15:43 +0100 schrieb gianluca:
>>>> On 02/16/2017 08:28 AM, Sascha Hauer wrote:
>>>>> On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
>>>>>> On 02/15/2017 12:51 PM, Sascha Hauer wrote:
>>>>>>> On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
>>>>>>>> On 02/10/2017 08:35 AM, Sascha Hauer wrote:
>>>>>> If no eeprom is found activate the status of the hdmi node from "disabled"
>>>>>> to "okay". So with the same algorithm as above,
>>>>>>
>>>>>> Those operations will be done in the coredevice_initcall() level. Is this
>>>>>> correct?
>>>>>
>>>>> Sounds like a plan. I'm not sure though if you find your EEPROM at
>>>>> coredevice_initcall time.
>>>>>
>>>>
>>>> Nope. Accessing device drivers (enabled in the device-tree) is possible
>>>> in the section: device_initcall() and *NOT* in the coredevice_initcall()
>>>> time.
>>>>
>>>> Anyway I was wondering if looking for a node in the device-tree, it will
>>>> be possible to change the status of that node.
>>>>
>>>> in DTS I have
>>>>
>>>> &hdmi {
>>>> 	status="disabled";
>>>> }
>>>>
>>>> but I need to set the status to "okay" later on the device_initcall() time.
>>>>
>>>> Iterating in the device tree using for_each_node_by_name_from() does not
>>>> show any node like hdmi, but using the same function to look for any
>>>> "display-timing" section it works.
>>>
>>> The node isn't called just "hdmi", that is just the handle, which may
>>> not even be present in the final DTB if nothing uses it. The nodes name
>>> is "hdmi@0120000".
>>>
>>> See "arch/arm/boot/dts/imx6qdl.dtsi".
>>>
>>
>> Ok, thank you for hints.
>>
>> From my dts file:
>>
>>> &hdmi {
>>> 	ddc-i2c-bus = <&i2c2>;
>>> 	status = "disabled";
>>> };
>>>
>>
>> It is disabled by default. It will be enabled later by my device_initcall()
>> function.
>>
>>> &ldb {
>>> 	#address-cells = <1>;
>>> 	#size-cells = <0>;
>>> 	status = "disabled";
>>>
>>
>> As the hdmi node.
>>
>>> 	lvds0: lvds-channel@0 {
>>> 		fsl,data-mapping = "spwg";
>>> 		fsl,data-width = <24>;
>>> 		status = "disabled";
>>>
>>
>> Just for sure it is disabled too!
>>
>>
>>> 		display-timings {
>>> 			native-mode = <&am128080n3tz>;
>>
>> This is fixed. It will be changed during the device_initcall() functions.
>>
>>> 			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
>>> 			am128080n3tz: am1280800n3tz {
>>> 				clock-frequency = <71000000>;
>>> 				hactive = <1280>;
>>> 				vactive = <800>;
>>> 				hback-porch = <50>;
>>> 				hfront-porch = <50>;
>>> 				vback-porch = <5>;
>>> 				vfront-porch = <5>;
>>> 				hsync-len = <60>;
>>> 				vsync-len = <13>;
>>> 				hsync-active = <0>;
>>> 				vsync-active = <0>;
>>> 				de-active = <1>;
>>> 				pixelclk-active = <0>;
>>> 			};
>>> 			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
>>> 			am1024600l: am1024600l {
>>> 				clock-frequency = <51200000>;
>>> 				hactive = <1024>;
>>> 				vactive = <600>;
>>> 				hback-porch = <0>;
>>> 				hfront-porch = <320>;
>>> 				vback-porch = <0>;
>>> 				vfront-porch = <35>;
>>> 				hsync-len = <1>;
>>> 				vsync-len = <1>;
>>> 				hsync-active = <0>;
>>> 				vsync-active = <0>;
>>> 				de-active = <1>;
>>> 				pixelclk-active = <0>;
>>> 			};
>>> 			/* DISPLAY 800x480 */
>>> 			ph800480t013: ph800480t013 {
>>> 				clock-frequency = <33300000>;
>>> 				hactive = <800>;
>>> 				vactive = <480>;
>>> 				hback-porch = <46>;
>>> 				hfront-porch = <210>;
>>> 				vback-porch = <23>;
>>> 				vfront-porch = <22>;
>>> 				hsync-len = <1>;
>>> 				vsync-len = <1>;
>>> 				hsync-active = <0>;
>>> 				vsync-active = <0>;
>>> 				de-active = <1>;
>>> 				pixelclk-active = <0>;
>>> 			};
>>> 		};
>>>
>>> 		port@4 {
>>> 			reg = <4>;
>>> 			lvds0_out: endpoint {
>>> 				remote-endpoint = <&in_lvds0>;
>>> 			};
>>> 		};
>>>
>>> 	};
>>> };
>>
>> The device_initcall() functions is looking for an eeprom on the lvds
>> channel, and if found it will matched against the native-mode phandle.
>> If it is different from the default, a new native-mode will be placed as
>> native-mode, and afterall the lvds-channel@0 and ldb will be flagged in
>> status as "okay".
>>
>> Then the of_device_enable_and_register_by_name("ldb@020e0008") will be
>> called.
>>
>> In the same way if an eeprom is found on the hdmi connector bus, the hdmi
>> status will be changed to "okay".
>>
>> If there is no display (so no eeprom either) connected on the lvds
>> connector, the device_initcall() functions will let all ldb stuff as default
>> (i.e. disabled) and it will enable the hdmi section if there is a hdmi
>> display (and its eeprom EDID) connected.
>>
>> The problem is the modeset of framebuffer (.num_modes): this list is created
>> from the device-tree sequence and the default does not respect the
>> native-mode section. i.e. if I have a 800x480 native mode display timing in
>> the device tree as a third option, the fb0.modes will have the 800x480 in
>> the third place.
>>
>> There is a quick (and dirty) way of calling the fb0.mode_name inside a
>> device_initcall()?
>
> You can do a setenv("fb0.mode_name", "800x480");
>

Yep. I supposed. But putting it inside a C code, need a recompilation. I 
opted for calling explicity in the init script shell to do this kinda stuff.

> However, it would be nicer to make the native mode the default. struct
> display_timings already has a native_mode field, but currently noone is
> interested in its value.
>

Actually in my code I do:

> static int of_display_timing_set(const char *name)
> {
> 	int ret = -1;
> 	struct device_node *root = NULL;
> 	struct device_node *display = NULL;
> 	struct device_node *timing = NULL;
> 	const char *node = "display-timings";
>
> 	pr_debug("%s Enter with: ACTIVATING %s as NATIVE-MODE\n", __func__, name);
>
> 	root = of_get_root_node();
>
> 	for_each_node_by_name_from(display, root, node) {
> 		if (display != NULL) {
> 			for_each_node_by_name_from(display, root, name) {
> 				timing = display;
> 				if (timing != NULL) {
> 					pr_debug("%s Node: %s PTR: 0x%p\n",
> 						__func__, timing->full_name, timing);
> 					break;
> 				}
> 			}
> 		} else {
> 			continue;
> 		}
> 	}
>
> 	if (name != NULL && timing != NULL) {
> 		pr_debug("%s Activating native-mode %s\n", __func__, name);
> 		/*
> 		 * Now we have the correct phandle ptr for the correct timing
> 		 * to point to. Now change the native-mode property to that phandle
> 		 */
> 		ret = of_set_property_to_child_phandle(timing, "native-mode");
> 		if (ret) {
> 			pr_err("%s Error on setting native-mode to %s\n", __func__, name);
> 		}
> 	} else {
> 		pr_debug("%s Some ptr are NULL! name: %p -- timing: %p\n",
> 			__func__, name, timing);
> 	}
> 	pr_debug("%s Exit with: %d\n", __func__, ret);
> 	return ret;

In this way I set as default native-mode the name of the timings passed 
to the function. Is there something better?

Anyway, now I am doing the same stuff for compatibile property of the 
panel, because Linux wants to have a timing hardcoded in the 
panel-simple instead of getting them from the timing section of the 
device-tree.

This is a very lack of feature to me. But now, it is quicker to use the 
bootloader to compile the correctness of the compatible property to a 
almost-identical-timings found in the panel-simple.c...

The other way is to add a edid chip (@ 0x50) for every panel I add, so 
to let the EDID stuff to discover what is connected or not to the lvds 
board.

This issue can not simply solved in this board, because I do have an 
internal eeprom at address 0x50, but it can not be usable for EDID stuff.

So I have two options:

1- let the imx-ldb.c code in the kernel to probe (simple-panel and edid) 
and *add* a way to parse the device-tree for adding mode timing property 
using the display-timing stuff. (this means kernel patch)

2- look for a common timings from an existing displays in simple-panel.c 
and pass them to the compatibile property of the panel in the 
device-tree via bootloader.

The step no.2 is the quickest to me. But the ugliest too. ;-)

Any hint?
Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-22  8:26                   ` gianluca
@ 2017-02-22  9:05                     ` gianluca
  2017-02-22  9:40                     ` Sascha Hauer
  1 sibling, 0 replies; 17+ messages in thread
From: gianluca @ 2017-02-22  9:05 UTC (permalink / raw)
  To: barebox

>>>
>>>>             /* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
>>>>             am128080n3tz: am1280800n3tz {
>>>>                 clock-frequency = <71000000>;
>>>>                 hactive = <1280>;
>>>>                 vactive = <800>;
>>>>                 hback-porch = <50>;
>>>>                 hfront-porch = <50>;
>>>>                 vback-porch = <5>;
>>>>                 vfront-porch = <5>;
>>>>                 hsync-len = <60>;
>>>>                 vsync-len = <13>;
>>>>                 hsync-active = <0>;
>>>>                 vsync-active = <0>;
>>>>                 de-active = <1>;
>>>>                 pixelclk-active = <0>;
>>>>             };
>>>>             /* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
>>>>             am1024600l: am1024600l {
>>>>                 clock-frequency = <51200000>;
>>>>                 hactive = <1024>;
>>>>                 vactive = <600>;
>>>>                 hback-porch = <0>;
>>>>                 hfront-porch = <320>;
>>>>                 vback-porch = <0>;
>>>>                 vfront-porch = <35>;
>>>>                 hsync-len = <1>;
>>>>                 vsync-len = <1>;
>>>>                 hsync-active = <0>;
>>>>                 vsync-active = <0>;
>>>>                 de-active = <1>;
>>>>                 pixelclk-active = <0>;
>>>>             };
>>>>             /* DISPLAY 800x480 */
>>>>             ph800480t013: ph800480t013 {
>>>>                 clock-frequency = <33300000>;
>>>>                 hactive = <800>;
>>>>                 vactive = <480>;
>>>>                 hback-porch = <46>;
>>>>                 hfront-porch = <210>;
>>>>                 vback-porch = <23>;
>>>>                 vfront-porch = <22>;
>>>>                 hsync-len = <1>;
>>>>                 vsync-len = <1>;
>>>>                 hsync-active = <0>;
>>>>                 vsync-active = <0>;
>>>>                 de-active = <1>;
>>>>                 pixelclk-active = <0>;
>>>>             };
>>>>         };
>>>>
>>>>         port@4 {
>>>>             reg = <4>;
>>>>             lvds0_out: endpoint {
>>>>                 remote-endpoint = <&in_lvds0>;
>>>>             };
>>>>         };
>>>>
>>>>     };
>>>> };
>>>

> Anyway, now I am doing the same stuff for compatibile property of the
> panel, because Linux wants to have a timing hardcoded in the
> panel-simple instead of getting them from the timing section of the
> device-tree.
>
> This is a very lack of feature to me. But now, it is quicker to use the
> bootloader to compile the correctness of the compatible property to a
> almost-identical-timings found in the panel-simple.c...
>
> The other way is to add a edid chip (@ 0x50) for every panel I add, so
> to let the EDID stuff to discover what is connected or not to the lvds
> board.
>
> This issue can not simply solved in this board, because I do have an
> internal eeprom at address 0x50, but it can not be usable for EDID stuff.
>
> So I have two options:
>
> 1- let the imx-ldb.c code in the kernel to probe (simple-panel and edid)
> and *add* a way to parse the device-tree for adding mode timing property
> using the display-timing stuff. (this means kernel patch)
>
> 2- look for a common timings from an existing displays in simple-panel.c
> and pass them to the compatibile property of the panel in the
> device-tree via bootloader.
>
> The step no.2 is the quickest to me. But the ugliest too. ;-)
>
> Any hint?
> Regards,


Looking at the parallel-display.c (drivers/gpu/drm/imx) in the function 
imx_pd_connector_get_modes() there are 3 ways of defining the 
display-timing:

> 	struct imx_parallel_display *imxpd = con_to_imxpd(connector);
> 	struct device_node *np = imxpd->dev->of_node;
> 	int num_modes = 0;
>

1st mode: getting mode from panel compatibile string, i.e. like having:
	compatible = "innolux,g101ice_l01", "simple-panel";
in the device-tree.


> 	if (imxpd->panel && imxpd->panel->funcs &&
> 	    imxpd->panel->funcs->get_modes) {
> 		num_modes = imxpd->panel->funcs->get_modes(imxpd->panel);
> 		if (num_modes > 0)
> 			return num_modes;
> 	}
>

2nd mode: having a edid eeprom somewhere connected to the parallel 
display on i2c.


> 	if (imxpd->edid) {
> 		drm_mode_connector_update_edid_property(connector, imxpd->edid);
> 		num_modes = drm_add_edid_modes(connector, imxpd->edid);
> 	}
>

3rd mode: parsing the device-tree for a node with display mode of native 
mode property.

> 	if (np) {
> 		struct drm_display_mode *mode = drm_mode_create(connector->dev);
> 		int ret;
>
> 		if (!mode)
> 			return -EINVAL;
>
> 		ret = of_get_drm_display_mode(np, &imxpd->mode,
> 					      &imxpd->bus_flags,
> 					      OF_USE_NATIVE_MODE);
> 		if (ret)
> 			return ret;
>
> 		drm_mode_copy(mode, &imxpd->mode);
> 		mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> 		drm_mode_probed_add(connector, mode);
> 		num_modes++;
> 	}
>
> 	return num_modes;


The 3rd option lacks in the imx-ldb.c device drivers.

If added this could be a simple way of using the correct timings in the 
device-tree to pass to panel in ldb device driver.

Any comment?
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-22  8:26                   ` gianluca
  2017-02-22  9:05                     ` gianluca
@ 2017-02-22  9:40                     ` Sascha Hauer
  2017-02-23 12:10                       ` gianluca
  1 sibling, 1 reply; 17+ messages in thread
From: Sascha Hauer @ 2017-02-22  9:40 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Wed, Feb 22, 2017 at 09:26:25AM +0100, gianluca wrote:
> On 02/22/2017 09:00 AM, Sascha Hauer wrote:
> > On Fri, Feb 17, 2017 at 04:38:37PM +0100, gianluca wrote:
> > > On 02/16/2017 04:50 PM, Lucas Stach wrote:
> > > > Am Donnerstag, den 16.02.2017, 15:43 +0100 schrieb gianluca:
> > > > > On 02/16/2017 08:28 AM, Sascha Hauer wrote:
> > > > > > On Wed, Feb 15, 2017 at 03:34:55PM +0100, gianluca wrote:
> > > > > > > On 02/15/2017 12:51 PM, Sascha Hauer wrote:
> > > > > > > > On Tue, Feb 14, 2017 at 11:32:44AM +0100, gianluca wrote:
> > > > > > > > > On 02/10/2017 08:35 AM, Sascha Hauer wrote:
> > > > > > > If no eeprom is found activate the status of the hdmi node from "disabled"
> > > > > > > to "okay". So with the same algorithm as above,
> > > > > > > 
> > > > > > > Those operations will be done in the coredevice_initcall() level. Is this
> > > > > > > correct?
> > > > > > 
> > > > > > Sounds like a plan. I'm not sure though if you find your EEPROM at
> > > > > > coredevice_initcall time.
> > > > > > 
> > > > > 
> > > > > Nope. Accessing device drivers (enabled in the device-tree) is possible
> > > > > in the section: device_initcall() and *NOT* in the coredevice_initcall()
> > > > > time.
> > > > > 
> > > > > Anyway I was wondering if looking for a node in the device-tree, it will
> > > > > be possible to change the status of that node.
> > > > > 
> > > > > in DTS I have
> > > > > 
> > > > > &hdmi {
> > > > > 	status="disabled";
> > > > > }
> > > > > 
> > > > > but I need to set the status to "okay" later on the device_initcall() time.
> > > > > 
> > > > > Iterating in the device tree using for_each_node_by_name_from() does not
> > > > > show any node like hdmi, but using the same function to look for any
> > > > > "display-timing" section it works.
> > > > 
> > > > The node isn't called just "hdmi", that is just the handle, which may
> > > > not even be present in the final DTB if nothing uses it. The nodes name
> > > > is "hdmi@0120000".
> > > > 
> > > > See "arch/arm/boot/dts/imx6qdl.dtsi".
> > > > 
> > > 
> > > Ok, thank you for hints.
> > > 
> > > From my dts file:
> > > 
> > > > &hdmi {
> > > > 	ddc-i2c-bus = <&i2c2>;
> > > > 	status = "disabled";
> > > > };
> > > > 
> > > 
> > > It is disabled by default. It will be enabled later by my device_initcall()
> > > function.
> > > 
> > > > &ldb {
> > > > 	#address-cells = <1>;
> > > > 	#size-cells = <0>;
> > > > 	status = "disabled";
> > > > 
> > > 
> > > As the hdmi node.
> > > 
> > > > 	lvds0: lvds-channel@0 {
> > > > 		fsl,data-mapping = "spwg";
> > > > 		fsl,data-width = <24>;
> > > > 		status = "disabled";
> > > > 
> > > 
> > > Just for sure it is disabled too!
> > > 
> > > 
> > > > 		display-timings {
> > > > 			native-mode = <&am128080n3tz>;
> > > 
> > > This is fixed. It will be changed during the device_initcall() functions.
> > > 
> > > > 			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
> > > > 			am128080n3tz: am1280800n3tz {
> > > > 				clock-frequency = <71000000>;
> > > > 				hactive = <1280>;
> > > > 				vactive = <800>;
> > > > 				hback-porch = <50>;
> > > > 				hfront-porch = <50>;
> > > > 				vback-porch = <5>;
> > > > 				vfront-porch = <5>;
> > > > 				hsync-len = <60>;
> > > > 				vsync-len = <13>;
> > > > 				hsync-active = <0>;
> > > > 				vsync-active = <0>;
> > > > 				de-active = <1>;
> > > > 				pixelclk-active = <0>;
> > > > 			};
> > > > 			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
> > > > 			am1024600l: am1024600l {
> > > > 				clock-frequency = <51200000>;
> > > > 				hactive = <1024>;
> > > > 				vactive = <600>;
> > > > 				hback-porch = <0>;
> > > > 				hfront-porch = <320>;
> > > > 				vback-porch = <0>;
> > > > 				vfront-porch = <35>;
> > > > 				hsync-len = <1>;
> > > > 				vsync-len = <1>;
> > > > 				hsync-active = <0>;
> > > > 				vsync-active = <0>;
> > > > 				de-active = <1>;
> > > > 				pixelclk-active = <0>;
> > > > 			};
> > > > 			/* DISPLAY 800x480 */
> > > > 			ph800480t013: ph800480t013 {
> > > > 				clock-frequency = <33300000>;
> > > > 				hactive = <800>;
> > > > 				vactive = <480>;
> > > > 				hback-porch = <46>;
> > > > 				hfront-porch = <210>;
> > > > 				vback-porch = <23>;
> > > > 				vfront-porch = <22>;
> > > > 				hsync-len = <1>;
> > > > 				vsync-len = <1>;
> > > > 				hsync-active = <0>;
> > > > 				vsync-active = <0>;
> > > > 				de-active = <1>;
> > > > 				pixelclk-active = <0>;
> > > > 			};
> > > > 		};
> > > > 
> > > > 		port@4 {
> > > > 			reg = <4>;
> > > > 			lvds0_out: endpoint {
> > > > 				remote-endpoint = <&in_lvds0>;
> > > > 			};
> > > > 		};
> > > > 
> > > > 	};
> > > > };
> > > 
> > > The device_initcall() functions is looking for an eeprom on the lvds
> > > channel, and if found it will matched against the native-mode phandle.
> > > If it is different from the default, a new native-mode will be placed as
> > > native-mode, and afterall the lvds-channel@0 and ldb will be flagged in
> > > status as "okay".
> > > 
> > > Then the of_device_enable_and_register_by_name("ldb@020e0008") will be
> > > called.
> > > 
> > > In the same way if an eeprom is found on the hdmi connector bus, the hdmi
> > > status will be changed to "okay".
> > > 
> > > If there is no display (so no eeprom either) connected on the lvds
> > > connector, the device_initcall() functions will let all ldb stuff as default
> > > (i.e. disabled) and it will enable the hdmi section if there is a hdmi
> > > display (and its eeprom EDID) connected.
> > > 
> > > The problem is the modeset of framebuffer (.num_modes): this list is created
> > > from the device-tree sequence and the default does not respect the
> > > native-mode section. i.e. if I have a 800x480 native mode display timing in
> > > the device tree as a third option, the fb0.modes will have the 800x480 in
> > > the third place.
> > > 
> > > There is a quick (and dirty) way of calling the fb0.mode_name inside a
> > > device_initcall()?
> > 
> > You can do a setenv("fb0.mode_name", "800x480");
> > 
> 
> Yep. I supposed. But putting it inside a C code, need a recompilation. I
> opted for calling explicity in the init script shell to do this kinda stuff.
> 
> > However, it would be nicer to make the native mode the default. struct
> > display_timings already has a native_mode field, but currently noone is
> > interested in its value.
> > 
> 
> Actually in my code I do:
> 
> > static int of_display_timing_set(const char *name)
> > {
> > 	int ret = -1;
> > 	struct device_node *root = NULL;
> > 	struct device_node *display = NULL;
> > 	struct device_node *timing = NULL;
> > 	const char *node = "display-timings";
> > 
> > 	pr_debug("%s Enter with: ACTIVATING %s as NATIVE-MODE\n", __func__, name);
> > 
> > 	root = of_get_root_node();
> > 
> > 	for_each_node_by_name_from(display, root, node) {
> > 		if (display != NULL) {
> > 			for_each_node_by_name_from(display, root, name) {
> > 				timing = display;
> > 				if (timing != NULL) {
> > 					pr_debug("%s Node: %s PTR: 0x%p\n",
> > 						__func__, timing->full_name, timing);
> > 					break;
> > 				}
> > 			}
> > 		} else {
> > 			continue;
> > 		}
> > 	}
> > 
> > 	if (name != NULL && timing != NULL) {
> > 		pr_debug("%s Activating native-mode %s\n", __func__, name);
> > 		/*
> > 		 * Now we have the correct phandle ptr for the correct timing
> > 		 * to point to. Now change the native-mode property to that phandle
> > 		 */
> > 		ret = of_set_property_to_child_phandle(timing, "native-mode");
> > 		if (ret) {
> > 			pr_err("%s Error on setting native-mode to %s\n", __func__, name);
> > 		}
> > 	} else {
> > 		pr_debug("%s Some ptr are NULL! name: %p -- timing: %p\n",
> > 			__func__, name, timing);
> > 	}
> > 	pr_debug("%s Exit with: %d\n", __func__, ret);
> > 	return ret;
> 
> In this way I set as default native-mode the name of the timings passed to
> the function. Is there something better?
> 
> Anyway, now I am doing the same stuff for compatibile property of the panel,
> because Linux wants to have a timing hardcoded in the panel-simple instead
> of getting them from the timing section of the device-tree.
> 
> This is a very lack of feature to me. But now, it is quicker to use the
> bootloader to compile the correctness of the compatible property to a
> almost-identical-timings found in the panel-simple.c...
> 
> The other way is to add a edid chip (@ 0x50) for every panel I add, so to
> let the EDID stuff to discover what is connected or not to the lvds board.
> 
> This issue can not simply solved in this board, because I do have an
> internal eeprom at address 0x50, but it can not be usable for EDID stuff.
> 
> So I have two options:
> 
> 1- let the imx-ldb.c code in the kernel to probe (simple-panel and edid) and
> *add* a way to parse the device-tree for adding mode timing property using
> the display-timing stuff. (this means kernel patch)

And it's a patch you probably cannot upstream as for reasons I do not
understand Thierry refuses to parse timings from the device tree. He
insists on determing timings based on the compatible string.

> 
> 2- look for a common timings from an existing displays in simple-panel.c and
> pass them to the compatibile property of the panel in the device-tree via
> bootloader.

You should add the correct compatible and add support for it to the
simple-panel driver. This also requires a kernel patch, but one you can
upstream.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Using LVDS in a iMX6Q/D from Barebox
  2017-02-22  9:40                     ` Sascha Hauer
@ 2017-02-23 12:10                       ` gianluca
  0 siblings, 0 replies; 17+ messages in thread
From: gianluca @ 2017-02-23 12:10 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

[-- Attachment #1: Type: text/plain, Size: 24341 bytes --]

On 02/22/2017 10:40 AM, Sascha Hauer wrote:
> On Wed, Feb 22, 2017 at 09:26:25AM +0100, gianluca wrote:
>> On 02/22/2017 09:00 AM, Sascha Hauer wrote:
>>> On Fri, Feb 17, 2017 at 04:38:37PM +0100, gianluca wrote:
>>>> On 02/16/2017 04:50 PM, Lucas Stach wrote:

>> 2- look for a common timings from an existing displays in simple-panel.c and
>> pass them to the compatibile property of the panel in the device-tree via
>> bootloader.
>
> You should add the correct compatible and add support for it to the
> simple-panel driver. This also requires a kernel patch, but one you can
> upstream.
>

For now I am trying to bring up linux as soon as possible so I will 
adopt the existing panels in panel-simple.c as compatibility mode.

Actually it does not work either.

I found there are 4 display timings compatible (more or less) with the 
displays we actually have.

They are: avic,tm070ddh03 (for a 1024x600), foxlink,fl500wvr00_a0t (for 
a 800x480), giantplus,gpg482739qs5 (for a 480x272) and 
innolux,g101ice_l01 (for 1280x800).

As a test I am booting into linux with the device-tree in attachment 
*untouched* as it is.

But, unfortunately it fails to the framebuffer node. (udev in jessie)

Here is the dmesg output:

> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 4.9.7-EK20170223 (gianluca@gianlinux) (gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-24) ) #1 SMP
> Thu Feb 23 09:41:50 CET 2017
> [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> [    0.000000] OF: fdt:Machine model: Eurek EK360 i.MX6Q/D
> [    0.000000] Memory policy: Data cache writealloc
> [    0.000000] On node 0 totalpages: 262144
> [    0.000000] free_area_init_node: node 0, pgdat c0dd7900, node_mem_map e5ef8000
> [    0.000000]   Normal zone: 1386 pages used for memmap
> [    0.000000]   Normal zone: 0 pages reserved
> [    0.000000]   Normal zone: 157696 pages, LIFO batch:31
> [    0.000000]   HighMem zone: 104448 pages, LIFO batch:31
> [    0.000000] percpu: Embedded 14 pages/cpu @e5ea3000 s27648 r8192 d21504 u57344
> [    0.000000] pcpu-alloc: s27648 r8192 d21504 u57344 alloc=14*4096
> [    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260758
> [    0.000000] Kernel command line: console=ttymxc2,115200 rootwait noswap ip=none noinitrd rootfstype=nilfs2 root=/dev/mmcblk1p3
                  fec.macaddr=0x7a,0x3f,0x03,0xe3,0xa2,0xff 
system_rev=0xe3600000 system_serialnr=0x00000000 lcd_type=am1280800n3tz 
fastboot
                  video=mxcfb0:dev=ldb,if=RGB24,bpp=32 fbmem=32M 
vmalloc=400M
> [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
> [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> [    0.000000] Memory: 1024428K/1048576K available (8192K kernel code, 976K rwdata, 2360K rodata, 1024K init, 440K bss, 24148K reserved, 0K cma-reserved, 417792K highmem)
> [    0.000000] Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
>     vmalloc : 0xe7000000 - 0xff800000   ( 392 MB)
>     lowmem  : 0xc0000000 - 0xe6800000   ( 616 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
>       .text : 0xc0008000 - 0xc0900000   (9184 kB)
>       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
>       .data : 0xc0d00000 - 0xc0df4064   ( 977 kB)
>        .bss : 0xc0df6000 - 0xc0e64044   ( 441 kB)
> [    0.000000] Hierarchical RCU implementation.
> [    0.000000]  Build-time adjustment of leaf fanout to 32.
> [    0.000000] NR_IRQS:16 nr_irqs:16 16
> [    0.000000] L2C-310 errata 752271 769419 enabled
> [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
> [    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
> [    0.000000] L2C-310 ID prefetch enabled, offset 16 lines
> [    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
> [    0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB
> [    0.000000] L2C-310: CACHE_ID 0x410000c7, AUX_CTRL 0x76470001
> [    0.000000] Switching to timer-based delay loop, resolution 333ns
> [    0.000007] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
> [    0.000024] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
> [    0.002924] Console: colour dummy device 80x30
> [    0.002961] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=12000)
> [    0.002975] pid_max: default: 32768 minimum: 301
> [    0.003159] Security Framework initialized
> [    0.003204] Yama: becoming mindful.
> [    0.003232] AppArmor: AppArmor disabled by boot time parameter
> [    0.003298] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
> [    0.003311] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
> [    0.004299] CPU: Testing write buffer coherency: ok
> [    0.004331] ftrace: allocating 29589 entries in 87 pages
> [    0.058459] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [    0.058555] Setting up static identity map for 0x10100000 - 0x10100098
> [    0.065311] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
> [    0.066345] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
> [    0.067365] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
> [    0.067460] Brought up 4 CPUs
> [    0.067483] SMP: Total of 4 processors activated (24.00 BogoMIPS).
> [    0.067491] CPU: All CPU(s) started in SVC mode.
> [    0.068570] devtmpfs: initialized
> [    0.079225] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
> [    0.079603] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
> [    0.079760] pinctrl core: initialized pinctrl subsystem
> [    0.081410] NET: Registered protocol family 16
> [    0.083431] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [    0.086042] CPU identified as i.MX6Q, silicon rev 1.5
> [    0.103344] imx_mmdc_probe: failed to enable automatic power saving
> [    0.103369] imx-mmdc: probe of 21b0000.mmdc failed with error -16
> [    0.109309] No ATAGs?
> [    0.109343] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
> [    0.109353] hw-breakpoint: maximum watchpoint size is 4 bytes.
> [    0.110987] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
> [    0.112242] Serial: AMBA PL011 UART driver
> [    0.147978] mxs-dma 110000.dma-apbh: initialized
> [    0.155975] i2c i2c-0: IMX I2C adapter registered
> [    0.155995] i2c i2c-0: can't use DMA, using PIO instead.
> [    0.156530] i2c i2c-1: IMX I2C adapter registered
> [    0.156547] i2c i2c-1: can't use DMA, using PIO instead.
> [    0.156963] i2c i2c-2: IMX I2C adapter registered
> [    0.156978] i2c i2c-2: can't use DMA, using PIO instead.
> [    0.157958] media: Linux media interface: v0.10
> [    0.158014] Linux video capture interface: v2.00
> [    0.158089] pps_core: LinuxPPS API ver. 1 registered
> [    0.158097] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
> [    0.158123] PTP clock support registered
> [    0.158776] Advanced Linux Sound Architecture Driver Initialized.
> [    0.160459] clocksource: Switched to clocksource mxc_timer1
> [    0.210127] VFS: Disk quotas dquot_6.6.0
> [    0.210234] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
> [    0.223008] NET: Registered protocol family 2
> [    0.223920] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
> [    0.224008] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> [    0.224165] TCP: Hash tables configured (established 8192 bind 8192)
> [    0.224355] UDP hash table entries: 512 (order: 2, 16384 bytes)
> [    0.224408] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> [    0.224707] NET: Registered protocol family 1
> [    0.224749] PCI: CLS 0 bytes, default 64
> [    0.225528] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
> [    0.229464] futex hash table entries: 1024 (order: 4, 65536 bytes)
> [    0.229600] audit: initializing netlink subsys (disabled)
> [    0.229680] audit: type=2000 audit(0.204:1): initialized
> [    0.230725] workingset: timestamp_bits=14 max_order=18 bucket_order=4
> [    0.230924] zbud: loaded
> [    0.231427] NILFS version 2 loaded
> [    0.239873] bounce: pool size: 64 pages
> [    0.239970] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
> [    0.240128] io scheduler noop registered
> [    0.240139] io scheduler deadline registered
> [    0.240198] io scheduler cfq registered (default)
> [    0.240720] imx-weim 21b8000.weim: Driver registered.
> [    0.249514] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
> [    0.249528] imx-sdma 20ec000.sdma: Falling back to user helper
> [    0.254867] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> [    0.257158] Serial: AMBA driver
> [    0.258029] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 23, base_baud = 5000000) is a IMX
> [    0.258763] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 69, base_baud = 5000000) is a IMX
> [    0.933051] console [ttymxc2] enabled
> [    0.938343] [drm] Initialized
> [    0.945021] etnaviv gpu-subsystem: bound 134000.gpu (ops 0xc097c5d4)
> [    0.951428] etnaviv gpu-subsystem: bound 130000.gpu (ops 0xc097c5d4)
> [    0.957824] etnaviv gpu-subsystem: bound 2204000.gpu (ops 0xc097c5d4)
> [    0.964294] etnaviv-gpu 134000.gpu: model: GC320, revision: 5007
> [    1.003918] etnaviv-gpu 130000.gpu: model: GC2000, revision: 5108
> [    1.043882] etnaviv-gpu 2204000.gpu: model: GC355, revision: 1215
> [    1.050016] etnaviv-gpu 2204000.gpu: Ignoring GPU with VG and FE2.0
> [    1.058531] imx-ipuv3 2400000.ipu: IPUv3H probed
> [    1.064496] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    1.071131] [drm] No driver support for vblank timestamp query.
> [    1.077180] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    1.084542] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    1.091900] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    1.099244] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    1.106672] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    1.114192] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    1.123979] imx-drm display-subsystem: master bind failed: -517
> [    1.129944] imx-ipuv3 2800000.ipu: IPUv3H probed
> [    1.136968] libphy: Fixed MDIO Bus: probed
> [    1.248978] pps pps0: new PPS source ptp0
> [    1.257610] libphy: fec_enet_mii_bus: probed
> [    1.262559] fec 2188000.ethernet eth0: registered PHC device 0
> [    1.269421] mousedev: PS/2 mouse device common for all mice
> [    1.285209] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
> [    1.294183] snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc1
> [    1.303937] i2c /dev entries driver
> [    1.310275] sdhci: Secure Digital Host Controller Interface driver
> [    1.316487] sdhci: Copyright(c) Pierre Ossman
> [    1.320867] sdhci-pltfm: SDHCI platform and OF driver helper
> [    1.327576] sdhci-esdhc-imx 2194000.usdhc: Failed getting OCR mask: 0
> [    1.334561] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.365501] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.392497] mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
> [    1.402469] sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
> [    1.409697] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.420122] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.442267] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.451369] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.459524] sdhci-esdhc-imx 2194000.usdhc: could not set regulator OCR (-22)
> [    1.464657] mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
> [    1.480992] mmc0: new high speed SDIO card at address 0001
> [    1.508506] mmc2: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
> [    1.518256] ledtrig-cpu: registered to indicate activity on CPUs
> [    1.528154] sgtl5000 0-000a: Error reading chip id -6
> [    1.533747] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW
> [    1.535614] random: fast init done
> [    1.544842] mmc1: host does not support reading read-only switch, assuming write-enable
> [    1.565815] NET: Registered protocol family 10
> [    1.572015] mmc1: new high speed SDHC card at address 0001
> [    1.572098] mip6: Mobile IPv6
> [    1.572105] NET: Registered protocol family 17
> [    1.572118] mpls_gso: MPLS GSO support
> [    1.572414] ThumbEE CPU extension supported.
> [    1.572424] Registering SWP/SWPB emulation handler
> [    1.573283] registered taskstats version 1
> [    1.573359] zswap: loaded using pool lzo/zbud
> [    1.607150] mmcblk1: mmc1:0001 ASTC 3.72 GiB
> [    1.608210] Key type encrypted registered
> [    1.617790]  mmcblk1: p1 p2 p3
> [    1.621057] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    1.627734] [drm] No driver support for vblank timestamp query.
> [    1.633783] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    1.641114] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    1.648543] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    1.655845] mmc2: Switching to 1.8V signalling voltage failed
> [    1.655876] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    1.656113] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    1.656130] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    1.656268] imx-drm display-subsystem: master bind failed: -517
> [    1.657492] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    1.657495] [drm] No driver support for vblank timestamp query.
> [    1.657546] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    1.657582] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    1.657620] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    1.657654] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    1.657827] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    1.657843] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    1.657959] imx-drm display-subsystem: master bind failed: -517
> [    1.668865] rtc-pcf8563 0-0051: setting system clock to 1970-01-04 00:10:38 UTC (259838)
> [    1.669590] PM: Hibernation image not present or could not be loaded.
> [    1.670565] usb_otg_vbus: disabling
> [    1.670573] ALSA device list:
> [    1.670575]   No soundcards found.
> [    1.794189] mmc2: new DDR MMC card at address 0001
> [    1.799891] mmcblk2: mmc2:0001 MMC04G 3.58 GiB
> [    1.805158] mmcblk2boot0: mmc2:0001 MMC04G partition 1 2.00 MiB
> [    1.811579] mmcblk2boot1: mmc2:0001 MMC04G partition 2 2.00 MiB
> [    1.817974] mmcblk2rpmb: mmc2:0001 MMC04G partition 3 128 KiB
> [    1.826106]  mmcblk2:
> [    1.845240] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    1.851912] [drm] No driver support for vblank timestamp query.
> [    1.857935] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    1.865223] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    1.872532] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    1.879817] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    1.887283] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    1.894817] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    1.904629] imx-drm display-subsystem: master bind failed: -517
> [    2.216788] VFS: Mounted root (nilfs2 filesystem) readonly on device 179:3.
> [    2.226611] Freeing unused kernel memory: 1024K (c0c00000 - c0d00000)
> [    3.615260] systemd-udevd[249]: starting version 215
> [    3.981495] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
> [    4.076433] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    4.083124] [drm] No driver support for vblank timestamp query.
> [    4.093105] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    4.100543] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    4.107865] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    4.115227] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    4.122712] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    4.130277] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    4.140164] imx-drm display-subsystem: master bind failed: -517
> [    4.157974] CAN device driver interface
> [    4.172312] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    4.173235] imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
> [    4.176524] flexcan 2090000.flexcan: device registered (reg_base=e7748000, irq=29)
> [    4.177336] fsl-asoc-card sound: ASoC: CODEC DAI sgtl5000 not registered
> [    4.177345] fsl-asoc-card sound: snd_soc_register_card failed (-517)
> [    4.205573] [drm] No driver support for vblank timestamp query.
> [    4.211678] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    4.219014] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    4.226359] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    4.233676] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    4.235468] usbcore: registered new interface driver usbfs
> [    4.235539] usbcore: registered new interface driver hub
> [    4.235701] usbcore: registered new device driver usb
> [    4.250586] coda 2040000.vpu: Direct firmware load for vpu_fw_imx6q.bin failed with error -2
> [    4.250593] coda 2040000.vpu: Falling back to user helper
> [    4.262787] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    4.277610] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    4.285226] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    4.295209] imx-drm display-subsystem: master bind failed: -517
> [    4.329770] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    4.336494] [drm] No driver support for vblank timestamp query.
> [    4.342666] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    4.350041] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    4.356536] ci_hdrc ci_hdrc.1: EHCI Host Controller
> [    4.356582] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
> [    4.369361] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    4.372524] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
> [    4.372814] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
> [    4.372823] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    4.372829] usb usb1: Product: EHCI Host Controller
> [    4.372834] usb usb1: Manufacturer: Linux 4.9.7-EK20170223 ehci_hcd
> [    4.372839] usb usb1: SerialNumber: ci_hdrc.1
> [    4.373723] hub 1-0:1.0: USB hub found
> [    4.373780] hub 1-0:1.0: 1 port detected
> [    4.388887] at24 0-0050: 8192 byte 24c64 EEPROM, writable, 64 bytes/write
> [    4.415525] coda 2040000.vpu: Direct firmware load for v4l-coda960-imx6q.bin failed with error -2
> [    4.415532] coda 2040000.vpu: Falling back to user helper
> [    4.441018] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    4.444339] coda 2040000.vpu: firmware request failed
> [    4.453641] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    4.461177] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    4.471051] imx-drm display-subsystem: master bind failed: -517
> [    4.491116] fsl-asoc-card sound: ASoC: CODEC DAI sgtl5000 not registered
> [    4.497876] fsl-asoc-card sound: snd_soc_register_card failed (-517)
> [    4.504761] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    4.511412] [drm] No driver support for vblank timestamp query.
> [    4.517421] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    4.524704] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    4.531992] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    4.539275] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    4.546738] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    4.554262] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    4.564075] imx-drm display-subsystem: master bind failed: -517
> [    5.222725] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    5.229398] [drm] No driver support for vblank timestamp query.
> [    5.235481] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    5.242799] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    5.250157] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    5.257500] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    5.265027] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    5.272625] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    5.282568] imx-drm display-subsystem: master bind failed: -517
> [    6.589960] NILFS (mmcblk1p3): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds
> [    7.173058] device-mapper: uevent: version 1.0.3
> [    7.178044] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
> [    7.716990] EXT4-fs (mmcblk1p2): mounted filesystem without journal. Opts: (null)
> [    8.790678] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    8.797320] [drm] No driver support for vblank timestamp query.
> [    8.803325] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops 0xc097bb20)
> [    8.810606] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops 0xc097bb20)
> [    8.817911] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops 0xc097bb20)
> [    8.825209] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops 0xc097bb20)
> [    8.832666] imx-ldb 2000000.aips-bus:ldb@020e0008: panel/bridge not found: /panel
> [    8.840189] imx-drm display-subsystem: failed to bind 2000000.aips-bus:ldb@020e0008 (ops 0xc097b7e0): -517
> [    8.841181] Generic PHY 2188000.ethernet:03: attached PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet:03, irq=-1)
> [    8.841498] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [    8.867339] imx-drm display-subsystem: master bind failed: -517
> [   83.572561] random: crng init done

...and I have *NO FRAMEBUFFER* registered.

What else? Am I missing something else?

Some misconfigured kernel??

In attachment there is the kernel def_config (as Debian suggest the 
config + the board specific stuff [NILFS2 as built-in]) build as a 
modification of the imx_v6_v7_defconfig.

I am very frustrated right now.

Regards,
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

[-- Attachment #2: imx6q-eurek-ek360.dts --]
[-- Type: text/plain, Size: 13394 bytes --]

/*
 * $Id: imx6q-eurek-ek360.dts,v 1.18 2017/02/21 11:40:56 gianluca Exp $
 *
 * Copyright 2016/2017 Gianluca Renzi, Eurek Elettronica S.R.L.
 * Copyright 2014 Raphaël Poggi
 * Copyright 2012 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/* #include <arm/imx6q.dtsi> */
#include "imx6q.dtsi"

/ {
	model = "Eurek EK360 i.MX6Q/D";
	compatible = "eurek,ek360", "fsl,imx6q";

	chosen {
		linux,stdout-path = &uart3;
	};

	memory {
		reg = <0x10000000 0x40000000>;
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		reg_1p2v: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "1P2V";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-always-on;
		};

		reg_1p5v: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "1P5V";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <1500000>;
			regulator-always-on;
		};

		reg_2p5v: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "2P5V";
			regulator-min-microvolt = <2500000>;
			regulator-max-microvolt = <2500000>;
			regulator-always-on;
		};

		reg_3p3v: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "3P3V";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		reg_usb_otg_vbus: regulator@4 {
			compatible = "regulator-fixed";
			reg = <4>;
			regulator-name = "usb_otg_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
			enable-active-low;
		};

		reg_usb_h1_vbus: regulator@5 {
			compatible = "regulator-fixed";
			reg = <5>;
			regulator-name = "usb_h1_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
			enable-active-low;
			regulator-always-on;
		};

		reg_sdio_en: regulator@6 {
			compatible = "regulator-fixed";
			reg = <6>;
			regulator-name = "sdio_en";
			regulator-min-microvolt = <33000000>;
			regulator-max-microvolt = <33000000>;
			gpio = <&gpio2 3 GPIO_ACTIVE_LOW>;
			enable-active-low;
			regulator-always-on;
		};

		reg_5p0v: regulator@7 {
			compatible = "regulator-fixed";
			reg = <7>;
			regulator-name = "5P0V";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-always-on;
		};

	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_led>;

		led0: led0 {
			label = "led";
			gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};
	};

	backlight_lvds: backlight-lvds {
		compatible = "pwm-backlight";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pwm1>;
		pwms = <&pwm1 0 6666666>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
		power-supply = <&reg_3p3v>;
		status = "okay";
	};

	sound {
		compatible = "fsl,imx6-ek360-sgtl5000",
			     "fsl,imx-audio-sgtl5000";
		model = "imx6-ek360-sgtl5000";
		ssi-controller = <&ssi1>;
		audio-codec = <&codec>;
		micbias-resistor-k-ohms = <2>;
		micbias-voltage-m-volts = <3000>;
		audio-routing =
			"MIC_IN", "Mic Jack",
			"Mic Jack", "Mic Bias",
			"Headphone Jack", "HP_OUT";
		mux-int-port = <1>;
		mux-ext-port = <3>;
	};

	panel: panel {
		compatible = "innolux,g101ice_l01", "simple-panel";
		backlight = <&backlight_lvds>;
		port {
			in_lvds0: endpoint {
				remote-endpoint = <&lvds0_out>;
			};
		};
	};

};

&iomuxc {
	pinctrl-names = "default";

	imx6q-ek360 {
		pinctrl_uart1: uart1grp {
			/* RS232 port */
			fsl,pins = <
				MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
				MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
			>;
		};

		pinctrl_uart2: uart2grp {
			/* RS485 port */
			fsl,pins = <
				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
				/* UART2_DIR */
				MX6QDL_PAD_EIM_D18__GPIO3_IO18			0x1b0b1
			>;
		};

		pinctrl_uart3: uart3grp {
			/* debug port, serial console */
			fsl,pins = <
				MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
				MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
			>;
		};

		pinctrl_usdhc2: usdhc2grp {
			/* SDIO / WiFi Module */
			fsl,pins = <
				MX6QDL_PAD_SD2_CMD__SD2_CMD			0x17059
				MX6QDL_PAD_SD2_CLK__SD2_CLK			0x10059
				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
				/* SD2_EN */
				MX6QDL_PAD_NANDF_D3__GPIO2_IO03		0x1b0b1
			>;
		};

		pinctrl_usdhc3: usdhc3grp {
			/* uSD/MMC */
			fsl,pins = <
				MX6QDL_PAD_SD3_CMD__SD3_CMD			0x17059
				MX6QDL_PAD_SD3_CLK__SD3_CLK			0x10059
				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
				/* SD3_CD */
				MX6QDL_PAD_NANDF_D0__GPIO2_IO00		0x1f071
				/* SD3_WP */
				MX6QDL_PAD_NANDF_D1__GPIO2_IO01		0x1f071
			>;
		};

		pinctrl_usdhc4: usdhc4grp {
			/* eMMC */
			fsl,pins = <
				MX6QDL_PAD_SD4_CMD__SD4_CMD			0x17059
				MX6QDL_PAD_SD4_CLK__SD4_CLK			0x10059
				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
				MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
				MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
				MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
				MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
			>;
		};

		pinctrl_i2c1: i2c1grp {
			fsl,pins = <
				MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
				MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
			>;
		};

		pinctrl_i2c2: i2c2grp {
			fsl,pins = <
				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
			>;
		};

		pinctrl_i2c3: i2c3grp {
			fsl,pins = <
				MX6QDL_PAD_GPIO_6__I2C3_SDA			0x4001b8b1
				MX6QDL_PAD_GPIO_3__I2C3_SCL			0x4001b8b1
			>;
		};

		pinctrl_enet: enetgrp {
			fsl,pins = <
				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
				/* KSZ9031 PHY Reset */
				MX6QDL_PAD_EIM_D23__GPIO3_IO23			0x80000000
			>;
		};

		pinctrl_usbh1: usbh1grp {
			fsl,pins = <
				MX6QDL_PAD_EIM_D30__USB_H1_OC			0x1b0b0
			>;
		};

		pinctrl_usbh1_vcc: usbh1vccgrp {
			fsl,pins = <
				MX6QDL_PAD_EIM_D31__GPIO3_IO31			0x1b0b0
			>;
		};

		pinctrl_usbotg: usbotggrp {
			fsl,pins = <
				MX6QDL_PAD_GPIO_1__USB_OTG_ID			0x17059
				MX6QDL_PAD_EIM_D21__USB_OTG_OC			0x1b0b0
			>;
		};

		pinctrl_usbotg_vcc: usbotgvccgrp {
			fsl,pins = <
				MX6QDL_PAD_EIM_D22__GPIO3_IO22			0x1b0b1
			>;
		};

		pinctrl_pwm1: pwm1grp {
			fsl,pins = <
				MX6QDL_PAD_SD1_DAT3__PWM1_OUT			0x1b0b1
			>;
		};

		pinctrl_audmux: audmuxgrp {
			fsl,pins = <
				/* SGTL5000 sys_mclk */
				MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x030b0
				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
			>;
		};

		pinctrl_led: ledgrp {
			fsl,pins = <
				/* user led */
				MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11		0x1b0b1
			>;
		};

		pinctrl_flexcan1: flexcan1grp {
			fsl,pins = <
				MX6QDL_PAD_GPIO_7__FLEXCAN1_TX		0x1b0b0
				MX6QDL_PAD_GPIO_8__FLEXCAN1_RX		0x1b0b0
			>;
		};

		pinctrl_display: dispgrp {
			fsl,pins = <
				/* DISP GPIO2 1,20 */
				MX6QDL_PAD_SD1_CLK__GPIO1_IO20			0x1b0b1
				/* DISP GPIO1 1,19 */
				MX6QDL_PAD_SD1_DAT2__GPIO1_IO19			0x1b0b1
			>;
		};

		pinctrl_touchscreen: touchscreengrp {
			fsl,pins = <
				/* DISP INT   1,17 */
				MX6QDL_PAD_SD1_DAT1__GPIO1_IO17			0x1b0b1
			>;
		};
	};
};

&can1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan1>;
	xceiver-supply = <&reg_5p0v>;
	status = "okay";
};

&audmux {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_audmux>;
	status = "okay";
};

&ssi1 {
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&fec {
	phy-supply=<&reg_3p3v>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet>;
	phy-mode = "rgmii";
	phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
	phy-reset-duration = <100>;
	status = "okay";
};

&uart1 {
	/* RS-232C Port */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
};

&uart2 {
	/* RS-485 Port */
	compatible = "fsl,imx6-ekuart";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	rs485-rts-active-low;
	rts-gpio = <&gpio3 18 GPIO_ACTIVE_LOW>;
	linux,rs485-enabled-at-boot-time;
	rs485-rts-delay = <0 0>;
	status = "okay";
};

&uart3 {
	/* Debug port / console */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	status = "okay";
};

&usdhc2 {
	/* WiFi SDIO */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2>;
	bus-width = <4>;
	non-removable;
	vmmc-supply = <&reg_sdio_en>;
	vqmmc-supply = <&reg_3p3v>;
	voltage-ranges = <3300 3300>;
	no-1-8-v;
	max-frequency = <25000000>;
	status = "okay";
};

&usdhc3 {
	/* uSD / MMC */
	compatible = "fsl,imx6q-usdhc";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3>;
	cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
	bus-width = <4>;
	vmmc-supply = <&reg_3p3v>;
	vqmmc-supply = <&reg_3p3v>;
	voltage-ranges = <3300 3300>;
	no-1-8-v;
	status = "okay";
};

&usdhc4 {
	/* eMMC */
	compatible = "fsl,imx6q-usdhc";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4>;
	bus-width = <8>;
	vmmc-supply = <&reg_3p3v>;
	vqmmc-supply = <&reg_3p3v>;
	voltage-ranges = <3300 3300>;
	no-1-8-v;
	non-removable;
	status = "okay";
};

&i2c1 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	status = "okay";

	codec: sgtl5000@0a {
		compatible = "fsl,sgtl5000";
		reg = <0x0a>;
		clocks = <&clks IMX6QDL_CLK_CKO>;
		VDDA-supply = <&reg_3p3v>;
		VDDIO-supply = <&reg_3p3v>;
		VDDD-supply = <&reg_1p2v>;
	};

	touchscreen@48 {
		compatible = "semtech,sx8654";
		reg = <0x48>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touchscreen>;
		interrupt-parent = <&gpio1>;
		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
		gpios = <&gpio1 20 0>;
		status = "okay";
	};

	at24@50 {
		compatible = "at24,24c64";
		pagesize = <64>;
		reg = <0x50>;
	};

	pcf8563: rtc@51 {
		compatible = "phg,pcf8563";
		reg = <0x51>;
	};

};

&i2c2 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";
};

&usbh1 {
	vbus-supply = <&reg_usb_h1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbh1
					&pinctrl_usbh1_vcc>;
	dr_mode = "host";
	status = "okay";
};

&usbotg {
	vbus-supply = <&reg_usb_otg_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg
					&pinctrl_usbotg_vcc>;
	dr_mode = "otg";
	status = "okay";
};

&hdmi {
	ddc-i2c-bus = <&i2c2>;
	status = "disabled";
};

&ldb {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	lvds0: lvds-channel@0 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		fsl,panel = <&panel>;
		status = "okay";

		display-timings {
			native-mode = <&am1024600l>;
			/* DISPLAY 800x480 */
			ph800480t013: ph800480t013 {
				clock-frequency = <33300000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <46>;
				hfront-porch = <210>;
				vback-porch = <23>;
				vfront-porch = <22>;
				hsync-len = <1>;
				vsync-len = <1>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
			/* DISPLAY 1024x600 AMPIRE AM-1024600LTM LVDS */
			am1024600l: am1024600l {
				clock-frequency = <51200000>;
				hactive = <1024>;
				vactive = <600>;
				hback-porch = <0>;
				hfront-porch = <320>;
				vback-porch = <0>;
				vfront-porch = <35>;
				hsync-len = <1>;
				vsync-len = <1>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
			/* DISPLAY 1280x800 AMPIRE AM1280800N3TZ */
			am128080n3tz: am1280800n3tz {
				clock-frequency = <71000000>;
				hactive = <1280>;
				vactive = <800>;
				hback-porch = <50>;
				hfront-porch = <50>;
				vback-porch = <5>;
				vfront-porch = <5>;
				hsync-len = <60>;
				vsync-len = <13>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};

		port@4 {
			reg = <4>;
			lvds0_out: endpoint {
				remote-endpoint = <&in_lvds0>;
			};
		};

	};
};

[-- Attachment #3: imx6_eurek_ek360_defconfig --]
[-- Type: text/plain, Size: 62089 bytes --]

# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_KERNEL_XZ=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
# CONFIG_MEMCG_SWAP_ENABLED is not set
CONFIG_BLK_CGROUP=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_EXPERT=y
# CONFIG_SYSFS_SYSCALL is not set
CONFIG_BPF_SYSCALL=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_CC_STACKPROTECTOR_REGULAR=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_KARMA_PARTITION=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_ARCH_VIRT=y
CONFIG_ARCH_MVEBU=y
CONFIG_MACH_ARMADA_370=y
CONFIG_MACH_ARMADA_375=y
CONFIG_MACH_ARMADA_38X=y
CONFIG_MACH_ARMADA_39X=y
CONFIG_MACH_ARMADA_XP=y
CONFIG_ARCH_HIGHBANK=y
CONFIG_ARCH_MXC=y
CONFIG_SOC_IMX51=y
CONFIG_SOC_IMX53=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
CONFIG_SOC_IMX6SX=y
CONFIG_SOC_IMX6UL=y
CONFIG_SOC_IMX7D=y
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_ARCH_OMAP3=y
CONFIG_ARCH_OMAP4=y
CONFIG_SOC_OMAP5=y
CONFIG_SOC_AM33XX=y
CONFIG_ARCH_SOCFPGA=y
CONFIG_ARCH_EXYNOS=y
# CONFIG_ARCH_EXYNOS4 is not set
CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_TEGRA=y
CONFIG_ARCH_VEXPRESS=y
CONFIG_ARCH_WM8850=y
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_ERRATA_754327=y
CONFIG_ARM_ERRATA_773022=y
CONFIG_PCI=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
CONFIG_PCI_MVEBU=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_TEGRA=y
CONFIG_SMP=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_HZ_250=y
CONFIG_OABI_COMPAT=y
# CONFIG_HIGHPTE is not set
CONFIG_KSM=y
CONFIG_FRONTSWAP=y
CONFIG_ZSWAP=y
CONFIG_ZBUD=y
CONFIG_ZSMALLOC=m
CONFIG_XEN=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_KEXEC=y
CONFIG_KERNEL_MODE_NEON=y
CONFIG_BINFMT_MISC=m
CONFIG_HIBERNATION=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_APM_EMULATION=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=m
CONFIG_XFRM_USER=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_NET_IPVTI=m
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_DIAG=m
CONFIG_INET_UDP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_TCP_CONG_CDG=m
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NETFILTER_XT_SET=m
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_PE_SIP=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_NF_LOG_ARP=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_TARGET_SYNPROXY=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=m
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_NET_DCCPPROBE=m
CONFIG_NET_SCTPPROBE=m
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_RDS=m
CONFIG_RDS_RDMA=m
CONFIG_RDS_TCP=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_PHONET=m
CONFIG_6LOWPAN=m
CONFIG_IEEE802154=m
CONFIG_IEEE802154_6LOWPAN=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_CLS_BPF=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_EMATCH_CANID=m
CONFIG_NET_EMATCH_IPSET=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=m
CONFIG_NET_ACT_CONNMARK=m
CONFIG_NET_CLS_IND=y
CONFIG_DCB=y
CONFIG_BATMAN_ADV=m
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
CONFIG_OPENVSWITCH=m
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_BPF_JIT=y
CONFIG_NET_PKTGEN=m
CONFIG_NET_DROP_MONITOR=m
CONFIG_HAMRADIO=y
CONFIG_AX25=m
CONFIG_ROSE=m
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
CONFIG_CAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_FLEXCAN=m
CONFIG_CAN_GRCAN=m
CONFIG_CAN_SUN4I=m
CONFIG_CAN_TI_HECC=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_CC770=m
CONFIG_CAN_CC770_PLATFORM=m
CONFIG_CAN_M_CAN=m
CONFIG_CAN_RCAR=m
CONFIG_CAN_SJA1000=m
CONFIG_CAN_SJA1000_ISA=m
CONFIG_CAN_EMS_PCI=m
CONFIG_CAN_PEAK_PCI=m
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PLX_PCI=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB2=m
CONFIG_CAN_GS_USB=m
CONFIG_CAN_KVASER_USB=m
CONFIG_CAN_PEAK_USB=m
CONFIG_CAN_8DEV_USB=m
CONFIG_IRDA=m
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_6LOWPAN=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_BT_WILINK=m
CONFIG_RXKAD=y
CONFIG_CFG80211=m
CONFIG_CFG80211_CERTIFICATION_ONUS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_WIMAX=m
CONFIG_RFKILL=m
CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_RDMA=m
CONFIG_NFC=m
CONFIG_NFC_DIGITAL=m
CONFIG_NFC_SIM=m
CONFIG_NFC_PORT100=m
CONFIG_DEVTMPFS=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_IMX_WEIM=y
CONFIG_OMAP_OCP2SCP=m
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_OF_PARTS=m
CONFIG_MTD_AR7_PARTS=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_BLOCK_RO=m
CONFIG_RFD_FTL=m
CONFIG_SSFDC=m
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m
CONFIG_MTD_PHYSMAP=m
CONFIG_MTD_INTEL_VR_NOR=m
CONFIG_MTD_PLATRAM=m
CONFIG_MTD_DATAFLASH=m
CONFIG_MTD_M25P80=m
CONFIG_MTD_SST25L=m
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ECC_BCH=y
CONFIG_MTD_NAND_OMAP2=m
CONFIG_MTD_NAND_RICOH=m
CONFIG_MTD_NAND_CAFE=m
CONFIG_MTD_NAND_PXA3xx=m
CONFIG_MTD_NAND_NANDSIM=m
CONFIG_MTD_NAND_GPMI_NAND=m
CONFIG_MTD_NAND_ORION=m
CONFIG_MTD_NAND_MXC=m
CONFIG_MTD_NAND_SUNXI=m
CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
CONFIG_MTD_ONENAND_OMAP2=m
CONFIG_MTD_ONENAND_2X_PROGRAM=y
CONFIG_MTD_LPDDR=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_BLOCK=y
CONFIG_OF_OVERLAY=y
CONFIG_PARPORT=m
CONFIG_PARPORT_1284=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
CONFIG_ZRAM=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_ATA_OVER_ETH=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_NVME=m
CONFIG_AD525X_DPOT=m
CONFIG_AD525X_DPOT_I2C=m
CONFIG_AD525X_DPOT_SPI=m
CONFIG_SGI_IOC4=m
CONFIG_ICS932S401=m
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
CONFIG_HMC6352=m
CONFIG_DS1682=m
CONFIG_TI_DAC7512=m
CONFIG_ARM_CHARLCD=y
CONFIG_USB_SWITCH_FSA9480=m
CONFIG_C2PORT=m
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93XX46=m
CONFIG_TI_ST=m
CONFIG_SENSORS_LIS3_I2C=m
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_ISCSI_TCP=m
CONFIG_SCSI_CXGB3_ISCSI=m
CONFIG_SCSI_CXGB4_ISCSI=m
CONFIG_SCSI_BNX2_ISCSI=m
CONFIG_SCSI_BNX2X_FCOE=m
CONFIG_BE2ISCSI=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_MVUMI=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ESAS2R=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PCI=m
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_SCSI_SNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_LPFC=m
CONFIG_SCSI_AM53C974=m
CONFIG_SCSI_WD719X=m
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
CONFIG_SCSI_BFA_FC=m
CONFIG_SCSI_VIRTIO=m
CONFIG_SCSI_CHELSIO_FCOE=m
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
CONFIG_ATA=m
CONFIG_SATA_AHCI=m
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_AHCI_IMX=m
CONFIG_AHCI_SUNXI=m
CONFIG_AHCI_TEGRA=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
CONFIG_ATA_PIIX=m
CONFIG_SATA_HIGHBANK=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m
CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_CMD64X=m
CONFIG_PATA_IMX=m
CONFIG_PATA_IT8213=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_RDC=m
CONFIG_PATA_SCH=m
CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_PLATFORM=m
CONFIG_PATA_OF_PLATFORM=m
CONFIG_ATA_GENERIC=m
CONFIG_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BCACHE=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_CACHE=m
CONFIG_DM_ERA=m
CONFIG_DM_MIRROR=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
CONFIG_DM_SWITCH=m
CONFIG_DM_LOG_WRITES=m
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
CONFIG_SBP_TARGET=m
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=m
CONFIG_FUSION_CTL=m
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_EQUALIZER=m
CONFIG_IFB=m
CONFIG_NET_TEAM=m
CONFIG_NET_TEAM_MODE_BROADCAST=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TEAM_MODE_RANDOM=m
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_VXLAN=m
CONFIG_GENEVE=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
CONFIG_NLMON=m
CONFIG_ATM_DUMMY=m
CONFIG_ATM_NICSTAR=m
CONFIG_ATM_NICSTAR_USE_SUNI=y
CONFIG_ATM_NICSTAR_USE_IDT77105=y
CONFIG_ATM_IA=m
CONFIG_ATM_FORE200E=m
CONFIG_ATM_SOLOS=m
CONFIG_TYPHOON=m
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_ET131X=m
CONFIG_SUN4I_EMAC=m
CONFIG_ACENIC=m
CONFIG_PCNET32=m
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_ATL2=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNA=m
CONFIG_NET_CALXEDA_XGMAC=m
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T4_DCB=y
CONFIG_CHELSIO_T4VF=m
CONFIG_ENIC=m
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_TULIP=m
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
CONFIG_DL2K=m
CONFIG_SUNDANCE=m
CONFIG_S2IO=m
CONFIG_VXGE=m
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
CONFIG_I40E=m
CONFIG_I40E_DCB=y
CONFIG_I40E_FCOE=y
CONFIG_I40EVF=m
CONFIG_JME=m
CONFIG_MVNETA=m
CONFIG_MVPP2=m
CONFIG_SKGE=m
CONFIG_SKGE_GENESIS=y
CONFIG_SKY2=m
CONFIG_MLX4_EN=m
CONFIG_MLX5_CORE=m
CONFIG_MLX5_CORE_EN=y
CONFIG_KSZ884X_PCI=m
CONFIG_ENC28J60=m
CONFIG_MYRI10GE=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_NE2K_PCI=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_QLA3XXX=m
CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
CONFIG_R8169=m
CONFIG_R6040=m
# CONFIG_NET_VENDOR_SEEQ is not set
CONFIG_SC92031=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SMC91X=m
CONFIG_EPIC100=m
CONFIG_SMC911X=m
CONFIG_SMSC911X=m
CONFIG_SMSC9420=m
CONFIG_STMMAC_ETH=m
CONFIG_CASSINI=m
CONFIG_NIU=m
CONFIG_TEHUTI=m
CONFIG_TI_DAVINCI_EMAC=m
CONFIG_TI_CPSW=m
CONFIG_TLAN=m
CONFIG_VIA_VELOCITY=m
CONFIG_FDDI=y
CONFIG_DEFXX=m
CONFIG_SKFP=m
CONFIG_MDIO_SUN4I=y
CONFIG_AMD_PHY=m
CONFIG_AT803X_PHY=m
CONFIG_BCM87XX_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_DP83867_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LXT_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_STE10XP=m
CONFIG_VITESSE_PHY=m
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=m
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_HSO=m
CONFIG_USB_IPHETH=m
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_WIMAX_I2400M_USB=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_NVM=y
CONFIG_NVM_GENNVM=m
CONFIG_NVM_RRPC=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_QT2160=m
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_LM8323=m
CONFIG_KEYBOARD_MAX7359=m
CONFIG_KEYBOARD_IMX=m
CONFIG_KEYBOARD_TEGRA=m
CONFIG_KEYBOARD_OPENCORES=m
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_KEYBOARD_SUN4I_LRADC=m
CONFIG_KEYBOARD_OMAP4=m
CONFIG_KEYBOARD_TWL4030=m
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_CYAPA=m
CONFIG_MOUSE_ELAN_I2C=m
CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_MOUSE_SYNAPTICS_USB=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_AR1021_I2C=m
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
CONFIG_TOUCHSCREEN_BU21013=m
CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m
CONFIG_TOUCHSCREEN_CY8CTMG110=m
CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
CONFIG_TOUCHSCREEN_DA9052=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_EKTF2127=m
CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MMS114=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_IMX6UL_TSC=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_PIXCIR=m
CONFIG_TOUCHSCREEN_WDT87XX_I2C=m
CONFIG_TOUCHSCREEN_WM97XX=m
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_MC13783=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TS4800=m
CONFIG_TOUCHSCREEN_TSC_SERIO=m
CONFIG_TOUCHSCREEN_TSC2004=m
CONFIG_TOUCHSCREEN_TSC2005=m
CONFIG_TOUCHSCREEN_TSC2007=m
CONFIG_TOUCHSCREEN_RM_TS=m
CONFIG_TOUCHSCREEN_SILEAD=m
CONFIG_TOUCHSCREEN_SIS_I2C=m
CONFIG_TOUCHSCREEN_ST1232=m
CONFIG_TOUCHSCREEN_SUN4I=m
CONFIG_TOUCHSCREEN_SUR40=m
CONFIG_TOUCHSCREEN_SX8654=m
CONFIG_TOUCHSCREEN_TPS6507X=m
CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TOUCHSCREEN_ROHM_BU21023=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AD714X=m
CONFIG_INPUT_ATMEL_CAPTOUCH=m
CONFIG_INPUT_BMA150=m
CONFIG_INPUT_E3X0_BUTTON=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MMA8450=m
CONFIG_INPUT_MPU3050=m
CONFIG_INPUT_GP2A=m
CONFIG_INPUT_GPIO_BEEPER=m
CONFIG_INPUT_GPIO_TILT_POLLED=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_KXTJ9_POLLED_MODE=y
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_REGULATOR_HAPTIC=m
CONFIG_INPUT_TWL4030_PWRBUTTON=m
CONFIG_INPUT_TWL4030_VIBRA=m
CONFIG_INPUT_TWL6040_VIBRA=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_PALMAS_PWRBUTTON=m
CONFIG_INPUT_PCF8574=m
CONFIG_INPUT_PWM_BEEPER=m
CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
CONFIG_INPUT_DA9052_ONKEY=m
CONFIG_INPUT_ADXL34X=m
CONFIG_INPUT_IMS_PCU=m
CONFIG_INPUT_CMA3000=m
CONFIG_INPUT_CMA3000_I2C=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_DRV260X_HAPTICS=m
CONFIG_INPUT_DRV2665_HAPTICS=m
CONFIG_INPUT_DRV2667_HAPTICS=m
CONFIG_SERIO_AMBAKMI=m
CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_SUN4I_PS2=m
CONFIG_USERIO=m
# CONFIG_LEGACY_PTYS is not set
CONFIG_NOZOMI=m
CONFIG_N_GSM=m
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_AMBA_PL010=y
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_TEGRA=y
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
CONFIG_SERIAL_VT8500=y
CONFIG_SERIAL_VT8500_CONSOLE=y
CONFIG_SERIAL_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y
CONFIG_SERIAL_ARC=y
CONFIG_SERIAL_ARC_CONSOLE=y
CONFIG_SERIAL_RP2=m
CONFIG_SERIAL_FSL_LPUART=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
CONFIG_I2C_MUX_GPIO=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_MUX_PINCTRL=m
CONFIG_I2C_MUX_REG=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_EXYNOS5=m
CONFIG_I2C_GPIO=m
CONFIG_I2C_IMX=y
CONFIG_I2C_MV64XXX=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_SIMTEC=m
CONFIG_I2C_SUN6I_P2WI=m
CONFIG_I2C_TEGRA=y
CONFIG_I2C_VERSATILE=m
CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_ROBOTFUZZ_OSIF=m
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
CONFIG_I2C_VIPERBOARD=m
CONFIG_SPI=y
CONFIG_SPI_BUTTERFLY=m
CONFIG_SPI_GPIO=y
CONFIG_SPI_IMX=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_ORION=m
CONFIG_SPI_PL022=m
CONFIG_SPI_SUN4I=m
CONFIG_SPI_SUN6I=m
CONFIG_SPI_TEGRA20_SFLASH=m
CONFIG_SPI_SPIDEV=y
CONFIG_HSI=m
CONFIG_OMAP_SSI=m
CONFIG_NOKIA_MODEM=m
CONFIG_CMT_SPEECH=m
CONFIG_SSI_PROTOCOL=m
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
CONFIG_PINCTRL_AS3722=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_PALMAS=y
CONFIG_PINCTRL_WM8850=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_SYSCON=m
CONFIG_GPIO_ADP5588=m
CONFIG_GPIO_ADNP=m
CONFIG_GPIO_MAX7300=m
CONFIG_GPIO_MAX732X=m
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
CONFIG_GPIO_SX150X=y
CONFIG_GPIO_DA9052=m
CONFIG_GPIO_PALMAS=y
CONFIG_GPIO_TWL4030=y
CONFIG_GPIO_TWL6040=y
CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_VIPERBOARD=m
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2423=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_RESET_AS3722=y
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_IMX=y
CONFIG_POWER_RESET_RESTART=y
CONFIG_PDA_POWER=m
CONFIG_APM_POWER=m
CONFIG_GENERIC_ADC_BATTERY=m
CONFIG_TEST_POWER=m
CONFIG_BATTERY_DS2780=m
CONFIG_BATTERY_DS2781=m
CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_SBS=m
CONFIG_BATTERY_BQ27XXX=m
CONFIG_BATTERY_DA9052=m
CONFIG_BATTERY_MAX17040=m
CONFIG_BATTERY_MAX17042=m
CONFIG_BATTERY_TWL4030_MADC=m
CONFIG_BATTERY_RX51=m
CONFIG_CHARGER_ISP1704=m
CONFIG_CHARGER_MAX8903=m
CONFIG_CHARGER_TWL4030=m
CONFIG_CHARGER_LP8727=m
CONFIG_CHARGER_GPIO=m
CONFIG_CHARGER_MANAGER=y
CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
CONFIG_CHARGER_BQ24257=m
CONFIG_CHARGER_BQ24735=m
CONFIG_CHARGER_BQ25890=m
CONFIG_CHARGER_SMB347=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_CHARGER_RT9455=m
CONFIG_SENSORS_AD7314=m
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7310=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_MC13783_ADC=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_G762=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
CONFIG_SENSORS_POWR1220=m
CONFIG_SENSORS_LINEAGE=m
CONFIG_SENSORS_LTC2945=m
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4222=m
CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4260=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_NCT6683=m
CONFIG_SENSORS_NCT6775=m
CONFIG_SENSORS_NCT7802=m
CONFIG_SENSORS_NCT7904=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC3815=m
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
CONFIG_SENSORS_ZL6100=m
CONFIG_SENSORS_PWM_FAN=m
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SHTC1=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
CONFIG_SENSORS_EMC2103=m
CONFIG_SENSORS_EMC6W201=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH5627=m
CONFIG_SENSORS_SCH5636=m
CONFIG_SENSORS_SMM665=m
CONFIG_SENSORS_ADC128D818=m
CONFIG_SENSORS_ADS1015=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_INA209=m
CONFIG_SENSORS_INA2XX=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TWL4030_MADC=m
CONFIG_SENSORS_VEXPRESS=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CLOCK_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
CONFIG_SOFT_WATCHDOG=m
CONFIG_DA9052_WATCHDOG=m
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_OMAP_WATCHDOG=m
CONFIG_ORION_WATCHDOG=m
CONFIG_SUNXI_WATCHDOG=m
CONFIG_TWL4030_WATCHDOG=m
CONFIG_IMX2_WDT=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_XEN_WDT=m
CONFIG_MFD_AS3722=y
CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_MC13XXX_SPI=m
CONFIG_MFD_MC13XXX_I2C=m
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_RTSX_PCI=m
CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_TI_AM335X_TSCADC=m
CONFIG_MFD_PALMAS=y
CONFIG_TWL6040_CORE=y
CONFIG_REGULATOR_ANATOP=y
CONFIG_REGULATOR_AS3722=y
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=m
CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S2MPS11=m
CONFIG_REGULATOR_S5M8767=m
CONFIG_REGULATOR_TI_ABB=m
CONFIG_REGULATOR_TWL4030=y
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_RC_MAP=m
CONFIG_LIRC=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_SONY_DECODER=m
CONFIG_IR_SANYO_DECODER=m
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_XMP_DECODER=m
CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_IR_SUNXI=m
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_M5602=m
CONFIG_USB_STV06XX=m
CONFIG_USB_GL860=m
CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_DTCS033=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_JL2005BCD=m
CONFIG_USB_GSPCA_KINECT=m
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_NW80X=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
CONFIG_USB_GSPCA_SE401=m
CONFIG_USB_GSPCA_SN9C2028=m
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SPCA1528=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_SQ930X=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_STK1135=m
CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TOPRO=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_USB_PWC=m
CONFIG_VIDEO_CPIA2=m
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_VIDEO_USBTV=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160_AC97=y
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_DVB_USB=m
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
CONFIG_DVB_USB_PCTV452E=m
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_TECHNISAT_USB2=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_AF9035=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_AZ6007=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_EC168=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
CONFIG_DVB_USB_DVBSKY=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_USB_DRV=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
CONFIG_DVB_AS102=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_USB_AIRSPY=m
CONFIG_USB_HACKRF=m
CONFIG_USB_MSI2500=m
CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_VIDEO_SOLO6X10=m
CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_IVTV_ALSA=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_CX23885=m
CONFIG_MEDIA_ALTERA_CI=m
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
CONFIG_VIDEO_BT848=m
CONFIG_DVB_BT8XX=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7164=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_PLUTO2=m
CONFIG_DVB_DM1105=m
CONFIG_DVB_PT1=m
CONFIG_DVB_PT3=m
CONFIG_MANTIS_CORE=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
CONFIG_DVB_SMIPCIE=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_PLATFORM=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_CODA=m
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_VIM2M=m
CONFIG_DVB_PLATFORM_DRIVERS=y
CONFIG_DVB_C8SECTPFE=m
CONFIG_SMS_SDIO_DRV=m
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
CONFIG_I2C_SI470X=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_SI4713=m
CONFIG_PLATFORM_SI4713=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
CONFIG_USB_KEENE=m
CONFIG_USB_RAREMONO=m
CONFIG_USB_MA901=m
CONFIG_RADIO_TEA5764=m
CONFIG_RADIO_WL1273=m
CONFIG_RADIO_WL128X=m
CONFIG_DVB_FIREDTV=m
CONFIG_SOC_CAMERA_IMX074=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
CONFIG_SOC_CAMERA_MT9T031=m
CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
CONFIG_SOC_CAMERA_OV2640=m
CONFIG_SOC_CAMERA_OV5642=m
CONFIG_SOC_CAMERA_OV6650=m
CONFIG_SOC_CAMERA_OV772X=m
CONFIG_SOC_CAMERA_OV9640=m
CONFIG_SOC_CAMERA_OV9740=m
CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
# CONFIG_VGA_ARB is not set
CONFIG_IMX_IPUV3_CORE=y
CONFIG_DRM=y
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_UDL=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_IMX=y
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
CONFIG_DRM_IMX_TVE=y
CONFIG_DRM_IMX_LDB=y
CONFIG_DRM_IMX_HDMI=y
CONFIG_DRM_ETNAVIV=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_TILEBLITTING=y
# CONFIG_XEN_FBDEV_FRONTEND is not set
# CONFIG_FB_MX3 is not set
CONFIG_FB_MXS=y
CONFIG_FB_SIMPLE=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=m
CONFIG_BACKLIGHT_GPIO=m
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_MTS64=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
CONFIG_SND_PORTMAN2X4=m
CONFIG_SND_AC97_POWER_SAVE=y
# CONFIG_SND_PCI is not set
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_ANALOG=m
CONFIG_SND_HDA_CODEC_SIGMATEL=m
CONFIG_SND_HDA_CODEC_VIA=m
CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_HDA_CODEC_CIRRUS=m
CONFIG_SND_HDA_CODEC_CONEXANT=m
CONFIG_SND_HDA_CODEC_CA0110=m
CONFIG_SND_HDA_CODEC_CA0132=m
CONFIG_SND_HDA_CODEC_CA0132_DSP=y
CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_ARMAACI=m
# CONFIG_SND_SPI is not set
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_USB_HIFACE=m
CONFIG_SND_BCD2000=m
CONFIG_SND_USB_POD=m
CONFIG_SND_USB_PODHD=m
CONFIG_SND_USB_TONEPORT=m
CONFIG_SND_USB_VARIAX=m
CONFIG_SND_DICE=m
CONFIG_SND_OXFW=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_FIREWORKS=m
CONFIG_SND_BEBOB=m
CONFIG_SND_FIREWIRE_DIGI00X=m
CONFIG_SND_FIREWIRE_TASCAM=m
CONFIG_SND_SOC=y
CONFIG_SND_SOC_FSL_ASRC=m
CONFIG_SND_IMX_SOC=y
CONFIG_SND_SOC_EUKREA_TLV320=m
CONFIG_SND_SOC_IMX_WM8962=m
CONFIG_SND_SOC_IMX_ES8328=m
CONFIG_SND_SOC_IMX_SGTL5000=y
CONFIG_SND_SOC_IMX_SPDIF=m
CONFIG_SND_SOC_IMX_MC13783=m
CONFIG_SND_SOC_FSL_ASOC_CARD=m
CONFIG_SND_OMAP_SOC=m
CONFIG_SND_OMAP_SOC_RX51=m
CONFIG_SND_OMAP_SOC_AM3517EVM=m
CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m
CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m
CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU1701=m
CONFIG_SND_SOC_AK4104=m
CONFIG_SND_SOC_AK4554=m
CONFIG_SND_SOC_AK4613=m
CONFIG_SND_SOC_AK4642=m
CONFIG_SND_SOC_AK5386=m
CONFIG_SND_SOC_ALC5623=m
CONFIG_SND_SOC_CS35L32=m
CONFIG_SND_SOC_CS42L51_I2C=m
CONFIG_SND_SOC_CS42L52=m
CONFIG_SND_SOC_CS42L56=m
CONFIG_SND_SOC_CS42L73=m
CONFIG_SND_SOC_CS4265=m
CONFIG_SND_SOC_CS4270=m
CONFIG_SND_SOC_CS4271_I2C=m
CONFIG_SND_SOC_CS4271_SPI=m
CONFIG_SND_SOC_CS42XX8_I2C=m
CONFIG_SND_SOC_CS4349=m
CONFIG_SND_SOC_GTM601=m
CONFIG_SND_SOC_INNO_RK3036=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_PCM3168A_SPI=m
CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x_SPI=m
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_SSM2602_SPI=m
CONFIG_SND_SOC_SSM2602_I2C=m
CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA32X=m
CONFIG_SND_SOC_STA350=m
CONFIG_SND_SOC_STI_SAS=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
CONFIG_SND_SOC_TFA9879=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
CONFIG_SND_SOC_TS3A227E=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8523=m
CONFIG_SND_SOC_WM8580=m
CONFIG_SND_SOC_WM8711=m
CONFIG_SND_SOC_WM8728=m
CONFIG_SND_SOC_WM8731=m
CONFIG_SND_SOC_WM8737=m
CONFIG_SND_SOC_WM8741=m
CONFIG_SND_SOC_WM8750=m
CONFIG_SND_SOC_WM8753=m
CONFIG_SND_SOC_WM8770=m
CONFIG_SND_SOC_WM8776=m
CONFIG_SND_SOC_WM8804_I2C=m
CONFIG_SND_SOC_WM8804_SPI=m
CONFIG_SND_SOC_WM8903=m
CONFIG_SND_SOC_WM8974=m
CONFIG_SND_SOC_WM8978=m
CONFIG_SND_SIMPLE_CARD=m
CONFIG_HID=m
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_A4TECH=m
CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=m
CONFIG_HID_BETOP_FF=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EZKEY=m
CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=m
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=m
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_RMI=m
CONFIG_HID_GREENASIA=m
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=m
CONFIG_HID_TOPSEED=m
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=m
CONFIG_HID_WIIMOTE=m
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_HID_SENSOR_HUB=m
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
CONFIG_I2C_HID=m
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_MON=m
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_MXC=m
CONFIG_USB_EHCI_TEGRA=m
CONFIG_USB_EHCI_EXYNOS=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_OMAP3 is not set
# CONFIG_USB_OHCI_HCD_PCI is not set
CONFIG_USB_OHCI_HCD_PLATFORM=m
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IMX21_HCD=m
CONFIG_USB_PRINTER=m
CONFIG_USB_TMC=m
CONFIG_USB_STORAGE=m
CONFIG_USB_STORAGE_REALTEK=m
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_STORAGE_ENE_UB6250=m
CONFIG_USB_UAS=m
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_HOST=m
CONFIG_USB_MUSB_HDRC=m
CONFIG_USB_MUSB_OMAP2PLUS=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_INVENTRA_DMA=y
CONFIG_USB_TI_CPPI41_DMA=y
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_HOST=y
# CONFIG_USB_DWC3_PCI is not set
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_F81232=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_METRO=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MXUPORT=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
CONFIG_USB_SERIAL_QCAUX=m
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_XSENS_MT=m
CONFIG_USB_SERIAL_WISHBONE=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_QT2=m
CONFIG_USB_SERIAL_DEBUG=m
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
CONFIG_USB_EHSET_TEST_FIXTURE=m
CONFIG_USB_ISIGHTFW=m
CONFIG_USB_YUREX=m
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_CHAOSKEY=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m
CONFIG_USB_ISP1301=m
CONFIG_USB_MXS_PHY=m
CONFIG_USB_GADGET=m
CONFIG_U_SERIAL_CONSOLE=y
CONFIG_USB_FSL_USB2=m
CONFIG_USB_NET2280=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_GADGET_UAC1=y
CONFIG_USB_ETH=m
CONFIG_USB_ETH_EEM=y
CONFIG_USB_GADGETFS=m
CONFIG_USB_FUNCTIONFS=m
CONFIG_USB_FUNCTIONFS_ETH=y
CONFIG_USB_FUNCTIONFS_RNDIS=y
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_GADGET_TARGET=m
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_G_NOKIA=m
CONFIG_USB_G_ACM_MS=m
CONFIG_USB_G_MULTI=m
CONFIG_USB_G_HID=m
CONFIG_USB_G_DBGP=m
CONFIG_USB_G_WEBCAM=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=m
CONFIG_UWB=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=y
CONFIG_MMC_BLOCK_MINORS=256
CONFIG_SDIO_UART=m
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ESDHC=m
CONFIG_MMC_SDHCI_ESDHC_IMX=y
CONFIG_MMC_SDHCI_TEGRA=m
CONFIG_MMC_OMAP=m
CONFIG_MMC_OMAP_HS=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_MVSDIO=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MMC_DW=m
CONFIG_MMC_DW_EXYNOS=m
CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
CONFIG_MMC_WMT=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_SUNXI=m
CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MEMSTICK=m
CONFIG_MSPRO_BLOCK=m
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
CONFIG_MEMSTICK_R592=m
CONFIG_MEMSTICK_REALTEK_PCI=m
CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_DA9052=m
CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_PWM=m
CONFIG_LEDS_REGULATOR=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_LT3593=m
CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_MLX4_INFINIBAND=m
CONFIG_MLX5_INFINIBAND=m
CONFIG_INFINIBAND_NES=m
CONFIG_INFINIBAND_OCRDMA=m
CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_AS3722=y
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_PCF8523=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_TWL4030=y
CONFIG_RTC_DRV_PALMAS=y
CONFIG_RTC_DRV_S5M=y
CONFIG_RTC_DRV_CMOS=m
CONFIG_RTC_DRV_DA9052=y
CONFIG_RTC_DRV_IMXDI=y
CONFIG_RTC_DRV_OMAP=y
CONFIG_RTC_DRV_PL030=y
CONFIG_RTC_DRV_PL031=y
CONFIG_RTC_DRV_VT8500=y
CONFIG_RTC_DRV_SUNXI=y
CONFIG_RTC_DRV_MV=y
CONFIG_RTC_DRV_ARMADA38X=y
CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_TEGRA=y
CONFIG_RTC_DRV_MXC=y
CONFIG_RTC_DRV_SNVS=y
CONFIG_DMADEVICES=y
CONFIG_AMBA_PL08X=y
CONFIG_DMA_OMAP=y
CONFIG_DMA_SUN6I=m
CONFIG_IMX_DMA=y
CONFIG_IMX_SDMA=y
CONFIG_MV_XOR=y
CONFIG_MXS_DMA=y
CONFIG_PL330_DMA=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_TI_EDMA=y
CONFIG_ASYNC_TX_DMA=y
CONFIG_UIO_CIF=m
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
CONFIG_UIO_MF624=m
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=m
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XENFS=m
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_STAGING=y
CONFIG_R8712U=m
CONFIG_ADIS16201=m
CONFIG_ADIS16203=m
CONFIG_ADIS16209=m
CONFIG_ADIS16240=m
CONFIG_SCA3000=m
CONFIG_AD7606=m
CONFIG_AD7780=m
CONFIG_AD7816=m
CONFIG_AD7192=m
CONFIG_AD7280=m
CONFIG_ADT7316=m
# CONFIG_ADT7316_SPI is not set
CONFIG_ADT7316_I2C=m
CONFIG_AD7150=m
CONFIG_AD7152=m
CONFIG_AD7746=m
CONFIG_AD9832=m
CONFIG_AD9834=m
CONFIG_AD5933=m
CONFIG_SENSORS_ISL29018=m
CONFIG_SENSORS_ISL29028=m
CONFIG_TSL2583=m
CONFIG_TSL2x7x=m
CONFIG_ADE7753=m
CONFIG_ADE7754=m
CONFIG_ADE7758=m
CONFIG_ADE7759=m
CONFIG_ADE7854=m
# CONFIG_ADE7854_SPI is not set
CONFIG_AD2S90=m
CONFIG_AD2S1200=m
CONFIG_AD2S1210=m
CONFIG_FB_SM750=m
CONFIG_FB_XGI=m
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
CONFIG_STAGING_MEDIA=y
CONFIG_DVB_CXD2099=m
CONFIG_LIRC_STAGING=y
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SASEM=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SIR=m
CONFIG_LIRC_ZILOG=m
CONFIG_MTD_SPINAND_MT29F=m
CONFIG_MTD_SPINAND_ONDIEECC=y
CONFIG_MOST=m
CONFIG_AIM_CDEV=m
CONFIG_AIM_SOUND=m
CONFIG_AIM_V4L2=m
CONFIG_HDM_DIM2=m
CONFIG_HDM_I2C=m
CONFIG_HDM_USB=m
CONFIG_COMMON_CLK_S2MPS11=m
CONFIG_HWSPINLOCK_OMAP=m
CONFIG_OMAP2PLUS_MBOX=y
CONFIG_OMAP_IOMMU=y
CONFIG_ARM_SMMU=y
CONFIG_EXTCON_PALMAS=m
CONFIG_TI_EMIF=m
CONFIG_IIO=m
CONFIG_BMA180=m
CONFIG_BMC150_ACCEL=m
CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_KXSD9=m
CONFIG_KXCJK1013=m
CONFIG_MMA7455_I2C=m
CONFIG_MMA8452=m
CONFIG_MMA9551=m
CONFIG_MMA9553=m
CONFIG_MXC4005=m
CONFIG_MXC6255=m
CONFIG_STK8312=m
CONFIG_STK8BA50=m
CONFIG_AD7266=m
CONFIG_AD7291=m
CONFIG_AD7298=m
CONFIG_AD7476=m
CONFIG_AD7791=m
CONFIG_AD7793=m
CONFIG_AD7887=m
CONFIG_AD7923=m
CONFIG_AD799X=m
CONFIG_CC10001_ADC=m
CONFIG_EXYNOS_ADC=m
CONFIG_HI8435=m
CONFIG_INA2XX_ADC=m
CONFIG_IMX7D_ADC=m
CONFIG_MAX1027=m
CONFIG_MAX1363=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_NAU7802=m
CONFIG_PALMAS_GPADC=m
CONFIG_TI_ADC081C=m
CONFIG_TI_ADC128S052=m
CONFIG_TI_ADS8688=m
CONFIG_TI_AM335X_ADC=m
CONFIG_TWL4030_MADC=m
CONFIG_TWL6030_GPADC=m
CONFIG_VF610_ADC=m
CONFIG_VIPERBOARD_ADC=m
CONFIG_AD8366=m
CONFIG_IAQCORE=m
CONFIG_VZ89X=m
CONFIG_AD5064=m
CONFIG_AD5360=m
CONFIG_AD5380=m
CONFIG_AD5421=m
CONFIG_AD5446=m
CONFIG_AD5449=m
CONFIG_AD5755=m
CONFIG_AD5764=m
CONFIG_AD7303=m
CONFIG_M62332=m
CONFIG_MAX517=m
CONFIG_MAX5821=m
CONFIG_MCP4725=m
CONFIG_MCP4922=m
CONFIG_AD9523=m
CONFIG_ADF4350=m
CONFIG_ADIS16080=m
CONFIG_ADIS16130=m
CONFIG_ADIS16136=m
CONFIG_ADIS16260=m
CONFIG_ADXRS450=m
CONFIG_BMG160=m
CONFIG_HID_SENSOR_GYRO_3D=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_ITG3200=m
CONFIG_MAX30100=m
CONFIG_DHT11=m
CONFIG_HDC100X=m
CONFIG_HTU21=m
CONFIG_SI7005=m
CONFIG_SI7020=m
CONFIG_ADIS16400=m
CONFIG_ADIS16480=m
CONFIG_KMX61=m
CONFIG_ADJD_S311=m
CONFIG_AL3320A=m
CONFIG_APDS9300=m
CONFIG_APDS9960=m
CONFIG_BH1750=m
CONFIG_CM32181=m
CONFIG_CM3232=m
CONFIG_CM3323=m
CONFIG_CM36651=m
CONFIG_GP2AP020A00F=m
CONFIG_ISL29125=m
CONFIG_HID_SENSOR_ALS=m
CONFIG_HID_SENSOR_PROX=m
CONFIG_JSA1212=m
CONFIG_RPR0521=m
CONFIG_LTR501=m
CONFIG_OPT3001=m
CONFIG_PA12203001=m
CONFIG_STK3310=m
CONFIG_TCS3414=m
CONFIG_TCS3472=m
CONFIG_SENSORS_TSL2563=m
CONFIG_TSL4531=m
CONFIG_US5182D=m
CONFIG_VCNL4000=m
CONFIG_AK09911=m
CONFIG_MAG3110=m
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
CONFIG_MMC35240=m
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_SENSORS_HMC5843_I2C=m
CONFIG_HID_SENSOR_INCLINOMETER_3D=m
CONFIG_HID_SENSOR_DEVICE_ROTATION=m
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_SYSFS_TRIGGER=m
CONFIG_MCP4531=m
CONFIG_BMP280=m
CONFIG_HID_SENSOR_PRESS=m
CONFIG_MPL3115=m
CONFIG_MS5611=m
CONFIG_MS5611_I2C=m
CONFIG_MS5637=m
CONFIG_IIO_ST_PRESS=m
CONFIG_T5403=m
CONFIG_AS3935=m
CONFIG_LIDAR_LITE_V2=m
CONFIG_SX9500=m
CONFIG_MLX90614=m
CONFIG_TMP006=m
CONFIG_TSYS01=m
CONFIG_TSYS02D=m
CONFIG_PWM=y
CONFIG_PWM_FSL_FTM=m
CONFIG_PWM_IMX=m
# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
CONFIG_PHY_EXYNOS5250_SATA=y
# CONFIG_PHY_SAMSUNG_USB2 is not set
# CONFIG_PHY_EXYNOS5_USBDRD is not set
CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_STM=m
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EXT2_FS=m
CONFIG_EXT3_FS=m
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_ENCRYPTION=y
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_ENCRYPTION=y
CONFIG_FANOTIFY=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_OVERLAY_FS=m
CONFIG_FSCACHE_STATS=y
CONFIG_CACHEFILES=m
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_ADFS_FS=m
CONFIG_AFFS_FS=m
CONFIG_ECRYPT_FS=m
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_LZO=y
CONFIG_UBIFS_FS=m
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_LOGFS=m
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_VXFS_FS=m
CONFIG_MINIX_FS=m
CONFIG_OMFS_FS=m
CONFIG_QNX4FS_FS=m
CONFIG_QNX6FS_FS=m
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
CONFIG_EXOFS_FS=m
CONFIG_NFS_FS=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_NFS_FSCACHE=y
CONFIG_NFSD=m
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_CEPH_FS=m
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
CONFIG_CIFS=m
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_ACL=y
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SMB2=y
CONFIG_CIFS_FSCACHE=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_CELTIC=m
CONFIG_NLS_MAC_CENTEURO=m
CONFIG_NLS_MAC_CROATIAN=m
CONFIG_NLS_MAC_CYRILLIC=m
CONFIG_NLS_MAC_GAELIC=m
CONFIG_NLS_MAC_GREEK=m
CONFIG_NLS_MAC_ICELAND=m
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y
CONFIG_PRINTK_TIME=y
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_LIST=y
CONFIG_NOTIFIER_ERROR_INJECTION=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENT=y
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
CONFIG_TEST_FIRMWARE=m
CONFIG_TEST_STATIC_KEYS=m
CONFIG_KGDB=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_YAMA=y
CONFIG_DEFAULT_SECURITY_DAC=y
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
CONFIG_CRYPTO_DEV_OMAP_AES=m
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_ARM_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM_NEON=m
CONFIG_CRYPTO_SHA1_ARM_CE=m
CONFIG_CRYPTO_SHA2_ARM_CE=m
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA512_ARM=m
CONFIG_CRYPTO_AES_ARM_BS=m
CONFIG_CRYPTO_AES_ARM_CE=m
CONFIG_CRYPTO_GHASH_ARM_CE=m
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_FONTS=y
CONFIG_FONT_6x11=y

[-- Attachment #4: imx_v6_v7_defconfig --]
[-- Type: text/plain, Size: 9156 bytes --]

CONFIG_KERNEL_LZO=y
CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_CGROUPS=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_EXPERT=y
CONFIG_PERF_EVENTS=y
# CONFIG_SLUB_DEBUG is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_MULTI_V6=y
CONFIG_ARCH_MXC=y
CONFIG_MACH_MX31LILLY=y
CONFIG_MACH_MX31LITE=y
CONFIG_MACH_PCM037=y
CONFIG_MACH_PCM037_EET=y
CONFIG_MACH_MX31_3DS=y
CONFIG_MACH_MX31MOBOARD=y
CONFIG_MACH_QONG=y
CONFIG_MACH_ARMADILLO5X0=y
CONFIG_MACH_KZM_ARM11_01=y
CONFIG_MACH_IMX31_DT=y
CONFIG_MACH_IMX35_DT=y
CONFIG_MACH_PCM043=y
CONFIG_MACH_MX35_3DS=y
CONFIG_MACH_VPR200=y
CONFIG_SOC_IMX50=y
CONFIG_SOC_IMX51=y
CONFIG_SOC_IMX53=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
CONFIG_SOC_IMX6SX=y
CONFIG_SOC_IMX6UL=y
CONFIG_SOC_IMX7D=y
CONFIG_SOC_VF610=y
CONFIG_PCI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_IMX6=y
CONFIG_SMP=y
CONFIG_ARM_PSCI=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_AEABI=y
CONFIG_HIGHMEM=y
CONFIG_CMA=y
CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
CONFIG_KEXEC=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_ARM_IMX6Q_CPUFREQ=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_BINFMT_MISC=m
CONFIG_PM_DEBUG=y
CONFIG_PM_TEST_SUSPEND=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_NETFILTER=y
CONFIG_CAN=y
CONFIG_CAN_FLEXCAN=y
CONFIG_BT=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_LL=y
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_DMA_CMA=y
CONFIG_IMX_WEIM=y
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_PHYSMAP_OF=y
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_GPMI_NAND=y
CONFIG_MTD_NAND_VF610_NFC=y
CONFIG_MTD_NAND_MXC=y
CONFIG_MTD_SPI_NOR=y
CONFIG_SPI_FSL_QUADSPI=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_FASTMAP=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_AT25=y
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_ATA=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_AHCI_IMX=y
CONFIG_PATA_IMX=y
CONFIG_NETDEVICES=y
# CONFIG_NET_VENDOR_BROADCOM is not set
CONFIG_CS89x0=y
CONFIG_CS89x0_PLATFORM=y
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_SEEQ is not set
CONFIG_SMC91X=y
CONFIG_SMC911X=y
CONFIG_SMSC911X=y
# CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_AT803X_PHY=y
CONFIG_MICREL_PHY=y
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDC_EEM=m
CONFIG_BRCMFMAC=m
CONFIG_WL12XX=m
CONFIG_WLCORE_SDIO=m
# CONFIG_WILINK_PLATFORM_DATA is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=m
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_SNVS_PWRKEY=y
CONFIG_KEYBOARD_IMX=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=y
CONFIG_TOUCHSCREEN_EGALAX=y
CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
CONFIG_TOUCHSCREEN_MC13783=y
CONFIG_TOUCHSCREEN_TSC2004=y
CONFIG_TOUCHSCREEN_TSC2007=y
CONFIG_TOUCHSCREEN_STMPE=y
CONFIG_TOUCHSCREEN_SX8654=y
CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_MMA8450=y
CONFIG_SERIO_SERPORT=m
# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX_GPIO=y
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
CONFIG_I2C_GPIO=y
CONFIG_I2C_IMX=y
CONFIG_SPI=y
CONFIG_SPI_IMX=y
CONFIG_SPI_FSL_DSPI=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MC9S08DZ60=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_STMPE=y
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_IMX=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
CONFIG_SENSORS_GPIO_FAN=y
CONFIG_SENSORS_IIO_HWMON=y
CONFIG_THERMAL=y
CONFIG_CPU_THERMAL=y
CONFIG_IMX_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_IMX2_WDT=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_MC13XXX_SPI=y
CONFIG_MFD_MC13XXX_I2C=y
CONFIG_MFD_STMPE=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_ANATOP=y
CONFIG_REGULATOR_DA9052=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MC13783=y
CONFIG_REGULATOR_MC13892=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_RC_DEVICES=y
CONFIG_IR_GPIO_CIR=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_SOC_CAMERA=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_CODA=y
CONFIG_SOC_CAMERA_OV2640=y
CONFIG_IMX_IPUV3_CORE=y
CONFIG_DRM=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_IMX=y
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
CONFIG_DRM_IMX_TVE=y
CONFIG_DRM_IMX_LDB=y
CONFIG_DRM_IMX_HDMI=y
CONFIG_DRM_ETNAVIV=y
CONFIG_FB_MXS=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_L4F00242T03=y
CONFIG_LCD_PLATFORM=y
CONFIG_BACKLIGHT_PWM=y
CONFIG_BACKLIGHT_GPIO=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_SOC=y
CONFIG_SND_SOC_FSL_ASRC=y
CONFIG_SND_IMX_SOC=y
CONFIG_SND_SOC_PHYCORE_AC97=y
CONFIG_SND_SOC_EUKREA_TLV320=y
CONFIG_SND_SOC_IMX_WM8962=y
CONFIG_SND_SOC_IMX_SGTL5000=y
CONFIG_SND_SOC_IMX_SPDIF=y
CONFIG_SND_SOC_IMX_MC13783=y
CONFIG_SND_SOC_FSL_ASOC_CARD=y
CONFIG_SND_SOC_CS42XX8_I2C=y
CONFIG_SND_SOC_TLV320AIC3X=y
CONFIG_SND_SOC_WM8960=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_MXC=y
CONFIG_USB_STORAGE=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_TEST=m
CONFIG_USB_EHSET_TEST_FIXTURE=m
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
CONFIG_USB_FSL_USB2=y
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_G_NCM=m
CONFIG_USB_GADGETFS=m
CONFIG_USB_FUNCTIONFS=m
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_ESDHC_IMX=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_ISL1208=y
CONFIG_RTC_DRV_PCF8523=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_RTC_DRV_MXC=y
CONFIG_RTC_DRV_SNVS=y
CONFIG_DMADEVICES=y
CONFIG_FSL_EDMA=y
CONFIG_IMX_SDMA=y
CONFIG_MXS_DMA=y
CONFIG_STAGING=y
CONFIG_IIO=y
CONFIG_VF610_ADC=y
CONFIG_MPL3115=y
CONFIG_PWM=y
CONFIG_PWM_FSL_FTM=y
CONFIG_PWM_IMX=y
CONFIG_NVMEM_IMX_OCOTP=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_JFFS2_FS=y
CONFIG_UBIFS_FS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
CONFIG_NLS_DEFAULT="cp437"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_FS=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_PROVE_LOCKING=y
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_FTRACE is not set
# CONFIG_ARM_UNWIND is not set
CONFIG_SECURITYFS=y
CONFIG_CRYPTO_DEV_FSL_CAAM=y
CONFIG_CRYPTO_DEV_SAHARA=y
CONFIG_CRC_CCITT=m
CONFIG_CRC_T10DIF=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

[-- Attachment #5: Type: text/plain, Size: 149 bytes --]

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-02-23 12:11 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-09 14:37 Using LVDS in a iMX6Q/D from Barebox gianluca
2017-02-10  7:35 ` Sascha Hauer
2017-02-14 10:32   ` gianluca
2017-02-14 10:59     ` gianluca
2017-02-15 10:07       ` gianluca
2017-02-15 11:51     ` Sascha Hauer
2017-02-15 14:34       ` gianluca
2017-02-16  7:28         ` Sascha Hauer
2017-02-16  9:07           ` gianluca
2017-02-16 14:43           ` gianluca
2017-02-16 15:50             ` Lucas Stach
2017-02-17 15:38               ` gianluca
2017-02-22  8:00                 ` Sascha Hauer
2017-02-22  8:26                   ` gianluca
2017-02-22  9:05                     ` gianluca
2017-02-22  9:40                     ` Sascha Hauer
2017-02-23 12:10                       ` gianluca

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox