diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/configs/apalis_imx6_android_defconfig | 17 | ||||
-rw-r--r-- | arch/arm/configs/colibri-imx6ull_defconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx6q.c | 37 |
3 files changed, 53 insertions, 4 deletions
diff --git a/arch/arm/configs/apalis_imx6_android_defconfig b/arch/arm/configs/apalis_imx6_android_defconfig index a0769007aed2..74b32c18dd33 100644 --- a/arch/arm/configs/apalis_imx6_android_defconfig +++ b/arch/arm/configs/apalis_imx6_android_defconfig @@ -329,7 +329,7 @@ CONFIG_HAVE_IMX_SRC=y # # CONFIG_SOC_IMX53 is not set CONFIG_SOC_IMX6Q=y -CONFIG_SOC_IMX6SL=y +# CONFIG_SOC_IMX6SL is not set # CONFIG_SOC_VF610 is not set # CONFIG_ARCH_OMAP2PLUS is not set # CONFIG_ARCH_SOCFPGA is not set @@ -419,8 +419,8 @@ CONFIG_PCIE_DW=y CONFIG_PCI_IMX6=y CONFIG_PCI_FORCE_GEN1=y # CONFIG_EP_MODE_IN_EP_RC_SYS is not set -CONFIG_RC_MODE_IN_EP_RC_SYS=y -CONFIG_PCI_IMX_EP_DRV=y +# CONFIG_RC_MODE_IN_EP_RC_SYS is not set +# CONFIG_PCI_IMX_EP_DRV is not set # CONFIG_PCCARD is not set # @@ -2074,7 +2074,7 @@ CONFIG_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_IMX=y CONFIG_PINCTRL_IMX6Q=y -CONFIG_PINCTRL_IMX6SL=y +# CONFIG_PINCTRL_IMX6SL is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_EXYNOS is not set # CONFIG_PINCTRL_EXYNOS5440 is not set @@ -3490,6 +3490,15 @@ CONFIG_DMA_OF=y # CONFIG_VIRT_DRIVERS is not set # +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# # Virtio drivers # # CONFIG_VIRTIO_PCI is not set diff --git a/arch/arm/configs/colibri-imx6ull_defconfig b/arch/arm/configs/colibri-imx6ull_defconfig index 898c03f6a736..ecb8d20ac48d 100644 --- a/arch/arm/configs/colibri-imx6ull_defconfig +++ b/arch/arm/configs/colibri-imx6ull_defconfig @@ -103,8 +103,11 @@ CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=m +CONFIG_BT_HCIBTSDIO=m CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_LL=y +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m CONFIG_WIRELESS_EXT=y CONFIG_WEXT_PRIV=y CONFIG_RFKILL=y diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index c0e3928d5f73..2eb8ac385e73 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c @@ -101,6 +101,14 @@ static void mmd_write_reg(struct phy_device *dev, int device, int reg, int val) phy_write(dev, 0x0e, val); } +static int mmd_read_reg(struct phy_device *dev, int device, int reg) +{ + phy_write(dev, 0x0d, device); + phy_write(dev, 0x0e, reg); + phy_write(dev, 0x0d, (1 << 14) | device); + return phy_read(dev, 0x0e); +} + static int ksz9031rn_phy_fixup(struct phy_device *dev) { /* @@ -114,6 +122,33 @@ static int ksz9031rn_phy_fixup(struct phy_device *dev) return 0; } +#define KSZ9131_RXTXDLL_BYPASS 12 + +static int ksz9131rn_phy_fixup(struct phy_device *dev) +{ + int tmp; + + tmp = mmd_read_reg(dev, 2, 0x4c); + /* disable rxdll bypass (enable 2ns skew delay on RXC) */ + tmp &= ~(1 << KSZ9131_RXTXDLL_BYPASS); + mmd_write_reg(dev, 2, 0x4c, tmp); + + tmp = mmd_read_reg(dev, 2, 0x4d); + /* disable txdll bypass (enable 2ns skew delay on TXC) */ + tmp &= ~(1 << KSZ9131_RXTXDLL_BYPASS); + mmd_write_reg(dev, 2, 0x4d, tmp); + + /* + * Subtract ~0.6ns from txdll = ~1.4ns delay. + * leave RXC path untouched + */ + mmd_write_reg(dev, 2, 4, 0x007d); + mmd_write_reg(dev, 2, 6, 0xdddd); + mmd_write_reg(dev, 2, 8, 0x0007); + + return 0; +} + /* * fixup for PLX PEX8909 bridge to configure GPIO1-7 as output High * as they are used for slots1-7 PERST# @@ -219,6 +254,8 @@ static void __init imx6q_enet_phy_init(void) ksz9021rn_phy_fixup); phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK, ksz9031rn_phy_fixup); + phy_register_fixup_for_uid(PHY_ID_KSZ9131, MICREL_PHY_ID_MASK, + ksz9131rn_phy_fixup); phy_register_fixup_for_uid(PHY_ID_AR8031, 0xffffffef, ar8031_phy_fixup); phy_register_fixup_for_uid(PHY_ID_AR8035, 0xffffffef, |