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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to