Module Name: src Committed By: jmcneill Date: Wed Mar 13 10:28:37 UTC 2019
Modified Files: src/sys/arch/arm/rockchip: rk_emmcphy.c Log Message: Set drive strength and output tap delay To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/rockchip/rk_emmcphy.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/rockchip/rk_emmcphy.c diff -u src/sys/arch/arm/rockchip/rk_emmcphy.c:1.2 src/sys/arch/arm/rockchip/rk_emmcphy.c:1.3 --- src/sys/arch/arm/rockchip/rk_emmcphy.c:1.2 Sun Mar 10 19:47:03 2019 +++ src/sys/arch/arm/rockchip/rk_emmcphy.c Wed Mar 13 10:28:37 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rk_emmcphy.c,v 1.2 2019/03/10 19:47:03 jmcneill Exp $ */ +/* $NetBSD: rk_emmcphy.c,v 1.3 2019/03/13 10:28:37 jmcneill Exp $ */ /*- * Copyright (c) 2019 Jared McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rk_emmcphy.c,v 1.2 2019/03/10 19:47:03 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rk_emmcphy.c,v 1.3 2019/03/13 10:28:37 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -139,6 +139,18 @@ rk_emmcphy_enable(device_t dev, void *pr syscon_lock(sc->sc_syscon); + if (enable) { + /* Drive strength */ + mask = PHYCTRL_DR_TY; + val = __SHIFTIN(0, PHYCTRL_DR_TY); + WR4(sc, GRF_EMMCPHY_CON6, (mask << 16) | val); + + /* Enable output tap delay */ + mask = PHYCTRL_OTAPDLYENA | PHYCTRL_OTAPDLYSEL; + val = PHYCTRL_OTAPDLYENA | __SHIFTIN(4, PHYCTRL_OTAPDLYSEL); + WR4(sc, GRF_EMMCPHY_CON0, (mask << 16) | val); + } + /* Power down PHY and disable DLL before making changes */ mask = PHYCTRL_ENDLL | PHYCTRL_PDB; val = 0;