Le 03/04/2014 15:51, Sascha Hauer a écrit :
> On Thu, Apr 03, 2014 at 03:24:54PM +0200, Guillaume Gardet wrote:
>> Le 03/04/2014 15:08, Sascha Hauer a écrit :
>>> Hi,
>>>
>>> On Thu, Apr 03, 2014 at 02:48:11PM +0200, Alexander Graf wrote:
>>>> On 03.04.14 13:47, Guillaume Gardet wrote:
>>>>> Le 03/04/2014 13:39, Alexander Graf a écrit :
>>>>>> On 02.04.14 20:48, Guillaume Gardet wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> please find in attachment an ARMv7 -default config update to fix 
>>>>>>> Ethernet and HDMI output on iMX6 SABRE Lite board. It also add initial 
>>>>>>> support to USB on this board.
>>>>>>>
>>>>>>> This patch is against master branch.
>>>>>>>
>>>>>>> Signed-off-by: Guillaume GARDET <[email protected]>
>>>>>> Moving modules from =m to =y is the wrong answer usually. Why don't the 
>>>>>> modules work as modules?
>>>>> I do not know.
>>>>> Modules are loaded with no error but they do not work. The fact is 
>>>>> switching FEC and SDMA from =m to =y fix the problems. It is true for 
>>>>> 13.1 and master branches.
>>>> Sascha, you're the one closest to upstream i.MX development that I'm
>>>> aware of. Do you have any idea why we have to set FEC and SDMA to =y
>>>> to make them work?
>>> I just tried and compiled the fec driver as module. It still works and I
>>> don't see why it shouldn't. What could cause trouble is this in
>>> arch/arm/mach-imx/mach-imx6q.c:
>>>
>>> /* For imx6q sabrelite board: set KSZ9021RN RGMII pad skew */
>>> static int ksz9021rn_phy_fixup(struct phy_device *phydev)
>>> {
>>>     if (IS_BUILTIN(CONFIG_PHYLIB)) {
>>>             /* min rx data delay */
>>>             phy_write(phydev, MICREL_KSZ9021_EXTREG_CTRL,
>>>                     0x8000 | MICREL_KSZ9021_RGMII_RX_DATA_PAD_SCEW);
>>>             ...
>>>     }
>>> }
>>>
>>> This means the phy fixup is only executed when PHYLIB is builtin. The
>>> fec driver selects PHYLIB, so as long fec is builtin PHYLIB will be
>>> builtin also. If you build the fec as a module, then PHYLIB may be built
>>> as a module aswell.
>>> As a test try building the fec as module, but make CONFIG_PHYLIB=y.
>> I will give it a try.

It is enough indeed. Ethernet is working like this. Thanks.
Note: CONFIG_PHYLIB=y also enables CONFIG_OF_MDIO=y

>>
>>> For the SDMA: What exactly doesn't work? Sound?
>> Sound and video output.
> Video? This should have nothing to do with SDMA.

After more testing, SDMA seems to be fine as a module (sorry) but I managed to 
get video working with SD/MMC modules as built-in instead of modules. It is 
crazy! What is the link between SD/MMC and video???

openSUSE uses an initrd with SD/MMC modules but for my testing I do not 
regenerate the initrd, so I need SD/MMC as built-in to boot on my SD rootfs.


Guillaume

-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to