From: Simon Horman Date: Mon, 30 Sep 2013 09:07:11 +0000 (+0900) Subject: Merge tag 'renesas-boards-for-v3.13' into devel X-Git-Tag: next-20131017~7^2~15 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=669c2dd88c3635e93baa261e66e3ab138626d006;p=karo-tx-linux.git Merge tag 'renesas-boards-for-v3.13' into devel Renesas ARM based SoC board updates for v3.13 * Display Unit support for lager and marzen boards * Update regulators for MMC0, SDHI0 and SDHI1 on ape6evm board * Enable use of FPGA on bockw board * Add sounds support to bockw board * Add USB function support to bockw board * Add Koelsch board * Disable MMCIF command completion signal on ape6evm, armadillo800eva, kzm9g and lager boards. --- 669c2dd88c3635e93baa261e66e3ab138626d006 diff --cc arch/arm/mach-shmobile/board-lager.c index 6d1026e99e13,1e231423b2b0..7e8f9eb5bd63 --- a/arch/arm/mach-shmobile/board-lager.c +++ b/arch/arm/mach-shmobile/board-lager.c @@@ -28,8 -28,8 +28,9 @@@ #include #include #include + #include #include +#include #include #include #include @@@ -154,32 -219,10 +220,34 @@@ static void __init lager_add_standard_d ether_resources, ARRAY_SIZE(ether_resources), ðer_pdata, sizeof(ether_pdata)); + + lager_add_du_device(); } +/* + * Ether LEDs on the Lager board are named LINK and ACTIVE which corresponds + * to non-default 01 setting of the Micrel KSZ8041 PHY control register 1 bits + * 14-15. We have to set them back to 01 from the default 00 value each time + * the PHY is reset. It's also important because the PHY's LED0 signal is + * connected to SoC's ETH_LINK signal and in the PHY's default mode it will + * bounce on and off after each packet, which we apparently want to avoid. + */ +static int lager_ksz8041_fixup(struct phy_device *phydev) +{ + u16 phyctrl1 = phy_read(phydev, 0x1e); + + phyctrl1 &= ~0xc000; + phyctrl1 |= 0x4000; + return phy_write(phydev, 0x1e, phyctrl1); +} + +static void __init lager_init(void) +{ + lager_add_standard_devices(); + + phy_register_fixup_for_id("r8a7790-ether-ff:01", lager_ksz8041_fixup); +} + static const char *lager_boards_compat_dt[] __initdata = { "renesas,lager", NULL,