dv_reg          userphysel1;
 };
 
-/* Ethernet MAC Registers Structure */
-struct emac_regs {
-       dv_reg          idver;
-       dv_reg          maccontrol;
-       dv_reg          macstatus;
-       dv_reg          soft_reset;
-       dv_reg          rx_maxlen;
-       u32             rsvd0;
-       dv_reg          rx_pause;
-       dv_reg          tx_pause;
-       dv_reg          emcontrol;
-       dv_reg          pri_map;
-       u32             rsvd1[6];
-};
-
 #define SGMII_ACCESS(port, reg) \
        *((volatile unsigned int *)(sgmiis[port] + reg))
 
 
 static int gen_get_link_speed(int phy_addr);
 
 /* EMAC Addresses */
-static volatile struct emac_regs       *adap_emac =
-       (struct emac_regs *)EMAC_EMACSL_BASE_ADDR;
 static volatile struct mdio_regs       *adap_mdio =
        (struct mdio_regs *)EMAC_MDIO_BASE_ADDR;
 
         * Check if link detected is giga-bit
         * If Gigabit mode detected, enable gigbit in MAC
         */
-       writel(readl(&(adap_emac[eth_priv->slave_port - 1].maccontrol)) |
+       writel(readl(DEVICE_EMACSL_BASE(eth_priv->slave_port - 1) +
+                    CPGMACSL_REG_CTL) |
               EMAC_MACCONTROL_GIGFORCE | EMAC_MACCONTROL_GIGABIT_ENABLE,
-              &(adap_emac[eth_priv->slave_port - 1].maccontrol))
-               ;
+              DEVICE_EMACSL_BASE(eth_priv->slave_port - 1) + CPGMACSL_REG_CTL);
 }
 
 int keystone_sgmii_link_status(int port)