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