svn commit: r346293 - in head/sys/arm/allwinner: . clk

Emmanuel Vadot manu at FreeBSD.org
Tue Apr 16 19:38:18 UTC 2019


Author: manu
Date: Tue Apr 16 19:38:16 2019
New Revision: 346293
URL: https://svnweb.freebsd.org/changeset/base/346293

Log:
  allwinner: clk: Garbage collect old clock implementation
  
  The old clocks are disconneted from the build since r337344.
  Remove all those pseudo drivers. The only one remaining is for gmac
  (the ethernet controller) so move it to sys/arm/allwinner.
  While here remove a83t support from gmacclk as it is unneeded since r326114.
  
  MFC after:	1 month

Added:
  head/sys/arm/allwinner/aw_gmacclk.c
     - copied, changed from r346292, head/sys/arm/allwinner/clk/aw_gmacclk.c
Deleted:
  head/sys/arm/allwinner/clk/
Modified:
  head/sys/arm/allwinner/aw_ccu.c
  head/sys/arm/allwinner/files.allwinner

Modified: head/sys/arm/allwinner/aw_ccu.c
==============================================================================
--- head/sys/arm/allwinner/aw_ccu.c	Tue Apr 16 18:47:20 2019	(r346292)
+++ head/sys/arm/allwinner/aw_ccu.c	Tue Apr 16 19:38:16 2019	(r346293)
@@ -53,38 +53,18 @@ __FBSDID("$FreeBSD$");
 #define	CCU_BASE	0x01c20000
 #define	CCU_SIZE	0x400
 
-#define	PRCM_BASE	0x01f01400
-#define	PRCM_SIZE	0x200
-
-#define	SYSCTRL_BASE	0x01c00000
-#define	SYSCTRL_SIZE	0x34
-
 struct aw_ccu_softc {
 	struct simplebus_softc	sc;
 	bus_space_tag_t		bst;
-	bus_space_handle_t	ccu_bsh;
-	bus_space_handle_t	prcm_bsh;
-	bus_space_handle_t	sysctrl_bsh;
+	bus_space_handle_t	bsh;
 	struct mtx		mtx;
 	int			flags;
 };
 
-#define	CLOCK_CCU	(1 << 0)
-#define	CLOCK_PRCM	(1 << 1)
-#define	CLOCK_SYSCTRL	(1 << 2)
-
 static struct ofw_compat_data compat_data[] = {
-	{ "allwinner,sun4i-a10",	CLOCK_CCU },
-	{ "allwinner,sun5i-a13",	CLOCK_CCU },
-	{ "allwinner,sun7i-a20",	CLOCK_CCU },
-	{ "allwinner,sun6i-a31",	CLOCK_CCU },
-	{ "allwinner,sun6i-a31s",	CLOCK_CCU },
-	{ "allwinner,sun50i-a64",	CLOCK_CCU },
-	{ "allwinner,sun50i-h5",	CLOCK_CCU },
-	{ "allwinner,sun8i-a33",	CLOCK_CCU },
-	{ "allwinner,sun8i-a83t",	CLOCK_CCU|CLOCK_PRCM|CLOCK_SYSCTRL },
-	{ "allwinner,sun8i-h2-plus",	CLOCK_CCU|CLOCK_PRCM },
-	{ "allwinner,sun8i-h3",		CLOCK_CCU|CLOCK_PRCM },
+	{ "allwinner,sun7i-a20",	1 },
+	{ "allwinner,sun6i-a31",	1 },
+	{ "allwinner,sun6i-a31s",	1 },
 	{ NULL, 0 }
 };
 
@@ -92,24 +72,11 @@ static int
 aw_ccu_check_addr(struct aw_ccu_softc *sc, bus_addr_t addr,
     bus_space_handle_t *pbsh, bus_size_t *poff)
 {
-	if (addr >= CCU_BASE && addr < (CCU_BASE + CCU_SIZE) &&
-	    (sc->flags & CLOCK_CCU) != 0) {
+	if (addr >= CCU_BASE && addr < (CCU_BASE + CCU_SIZE)) {
 		*poff = addr - CCU_BASE;
-		*pbsh = sc->ccu_bsh;
+		*pbsh = sc->bsh;
 		return (0);
 	}
-	if (addr >= PRCM_BASE && addr < (PRCM_BASE + PRCM_SIZE) &&
-	    (sc->flags & CLOCK_PRCM) != 0) {
-		*poff = addr - PRCM_BASE;
-		*pbsh = sc->prcm_bsh;
-		return (0);
-	}
-	if (addr >= SYSCTRL_BASE && addr < (SYSCTRL_BASE + SYSCTRL_SIZE) &&
-	    (sc->flags & CLOCK_SYSCTRL) != 0) {
-		*poff = addr - SYSCTRL_BASE;
-		*pbsh = sc->sysctrl_bsh;
-		return (0);
-	}
 	return (EINVAL);
 }
 
@@ -241,29 +208,11 @@ aw_ccu_attach(device_t dev)
 	 * properties.
 	 */
 	sc->bst = bus_get_bus_tag(dev);
-	if (sc->flags & CLOCK_CCU) {
-		error = bus_space_map(sc->bst, CCU_BASE, CCU_SIZE, 0,
-		    &sc->ccu_bsh);
-		if (error != 0) {
-			device_printf(dev, "couldn't map CCU: %d\n", error);
-			return (error);
-		}
-	}
-	if (sc->flags & CLOCK_PRCM) {
-		error = bus_space_map(sc->bst, PRCM_BASE, PRCM_SIZE, 0,
-		    &sc->prcm_bsh);
-		if (error != 0) {
-			device_printf(dev, "couldn't map PRCM: %d\n", error);
-			return (error);
-		}
-	}
-	if (sc->flags & CLOCK_SYSCTRL) {
-		error = bus_space_map(sc->bst, SYSCTRL_BASE, SYSCTRL_SIZE, 0,
-		    &sc->sysctrl_bsh);
-		if (error != 0) {
-			device_printf(dev, "couldn't map SYSCTRL: %d\n", error);
-			return (error);
-		}
+	error = bus_space_map(sc->bst, CCU_BASE, CCU_SIZE, 0,
+	    &sc->bsh);
+	if (error != 0) {
+		device_printf(dev, "couldn't map CCU: %d\n", error);
+		return (error);
 	}
 
 	mtx_init(&sc->mtx, device_get_nameunit(dev), NULL, MTX_DEF);

Copied and modified: head/sys/arm/allwinner/aw_gmacclk.c (from r346292, head/sys/arm/allwinner/clk/aw_gmacclk.c)
==============================================================================
--- head/sys/arm/allwinner/clk/aw_gmacclk.c	Tue Apr 16 18:47:20 2019	(r346292, copy source)
+++ head/sys/arm/allwinner/aw_gmacclk.c	Tue Apr 16 19:38:16 2019	(r346293)
@@ -77,21 +77,14 @@ __FBSDID("$FreeBSD$");
 #define	CLK_IDX_RGMII		1
 #define	CLK_IDX_COUNT		2
 
-enum aw_gmacclk_type {
-	GMACCLK_A20 = 1,
-	GMACCLK_A83T,
-};
-
 static struct ofw_compat_data compat_data[] = {
-	{ "allwinner,sun7i-a20-gmac-clk",	GMACCLK_A20 },
-	{ "allwinner,sun8i-a83t-emac-clk",	GMACCLK_A83T },
+	{ "allwinner,sun7i-a20-gmac-clk",	1 },
 	{ NULL, 0 }
 };
 
 struct aw_gmacclk_sc {
 	device_t	clkdev;
 	bus_addr_t	reg;
-	enum aw_gmacclk_type type;
 
 	int		rx_delay;
 	int		tx_delay;
@@ -159,20 +152,6 @@ aw_gmacclk_set_mux(struct clknode *clk, int index)
 	val &= ~(GMAC_CLK_SRC | GMAC_CLK_PIT);
 	val |= (clk_src << GMAC_CLK_SRC_SHIFT);
 	val |= (pit << GMAC_CLK_PIT_SHIFT);
-	if (sc->type == GMACCLK_A83T) {
-		val &= ~EMAC_TXC_DIV_CFG;
-		val |= (txc_div << EMAC_TXC_DIV_CFG_SHIFT);
-		val &= ~EMAC_PHY_SELECT;
-		val |= (EMAC_PHY_SELECT_EXT << EMAC_PHY_SELECT_SHIFT);
-		if (sc->tx_delay >= 0) {
-			val &= ~EMAC_ETXDC;
-			val |= (sc->tx_delay << EMAC_ETXDC_SHIFT);
-		}
-		if (sc->rx_delay >= 0) {
-			val &= ~EMAC_ERXDC;
-			val |= (sc->rx_delay << EMAC_ERXDC_SHIFT);
-		}
-	}
 	GMACCLK_WRITE(sc, val);
 	DEVICE_UNLOCK(sc);
 
@@ -260,7 +239,6 @@ aw_gmacclk_attach(device_t dev)
 	sc = clknode_get_softc(clk);
 	sc->reg = paddr;
 	sc->clkdev = device_get_parent(dev);
-	sc->type = ofw_bus_search_compatible(dev, compat_data)->ocd_data;
 	sc->tx_delay = sc->rx_delay = -1;
 	OF_getencprop(node, "tx-delay", &sc->tx_delay, sizeof(sc->tx_delay));
 	OF_getencprop(node, "rx-delay", &sc->rx_delay, sizeof(sc->rx_delay));

Modified: head/sys/arm/allwinner/files.allwinner
==============================================================================
--- head/sys/arm/allwinner/files.allwinner	Tue Apr 16 18:47:20 2019	(r346292)
+++ head/sys/arm/allwinner/files.allwinner	Tue Apr 16 19:38:16 2019	(r346293)
@@ -34,7 +34,7 @@ arm/allwinner/aw_cir.c			optional	aw_cir evdev
 
 arm/allwinner/aw_reset.c		standard
 arm/allwinner/aw_ccu.c			standard
-arm/allwinner/clk/aw_gmacclk.c		standard
+arm/allwinner/aw_gmacclk.c		standard
 
 arm/allwinner/clkng/aw_ccung.c		standard
 arm/allwinner/clkng/aw_clk_nkmp.c	standard


More information about the svn-src-head mailing list