#include <bcm63xx_cpu.h>
 #include <bcm63xx_io.h>
 #include <bcm63xx_regs.h>
+#include <bcm63xx_reset.h>
 #include <bcm63xx_clk.h>
 
 static DEFINE_MUTEX(clocks_mutex);
                        CKCTL_6368_SWPKT_USB_EN |
                        CKCTL_6368_SWPKT_SAR_EN, enable);
        if (enable) {
-               u32 val;
-
                /* reset switch core afer clock change */
-               val = bcm_perf_readl(PERF_SOFTRESET_6368_REG);
-               val &= ~SOFTRESET_6368_ENETSW_MASK;
-               bcm_perf_writel(val, PERF_SOFTRESET_6368_REG);
+               bcm63xx_core_set_reset(BCM63XX_RESET_ENETSW, 1);
                msleep(10);
-               val |= SOFTRESET_6368_ENETSW_MASK;
-               bcm_perf_writel(val, PERF_SOFTRESET_6368_REG);
+               bcm63xx_core_set_reset(BCM63XX_RESET_ENETSW, 0);
                msleep(10);
        }
 }
                        CKCTL_6368_SWPKT_SAR_EN, enable);
 
        if (enable) {
-               u32 val;
-
                /* reset sar core afer clock change */
-               val = bcm_perf_readl(PERF_SOFTRESET_6368_REG);
-               val &= ~SOFTRESET_6368_SAR_MASK;
-               bcm_perf_writel(val, PERF_SOFTRESET_6368_REG);
+               bcm63xx_core_set_reset(BCM63XX_RESET_SAR, 1);
                mdelay(1);
-               val |= SOFTRESET_6368_SAR_MASK;
-               bcm_perf_writel(val, PERF_SOFTRESET_6368_REG);
+               bcm63xx_core_set_reset(BCM63XX_RESET_SAR, 0);
                mdelay(1);
        }
 }
 
 #include <linux/clk.h>
 #include <asm/bootinfo.h>
 
+#include <bcm63xx_reset.h>
+
 #include "pci-bcm63xx.h"
 
 /*
        bcm_misc_writel(val, MISC_SERDES_CTRL_REG);
 
        /* reset the PCIe core */
-       val = bcm_perf_readl(PERF_SOFTRESET_6328_REG);
-
-       val &= ~SOFTRESET_6328_PCIE_MASK;
-       val &= ~SOFTRESET_6328_PCIE_CORE_MASK;
-       val &= ~SOFTRESET_6328_PCIE_HARD_MASK;
-       val &= ~SOFTRESET_6328_PCIE_EXT_MASK;
-       bcm_perf_writel(val, PERF_SOFTRESET_6328_REG);
+       bcm63xx_core_set_reset(BCM63XX_RESET_PCIE, 1);
+       bcm63xx_core_set_reset(BCM63XX_RESET_PCIE_EXT, 1);
        mdelay(10);
 
-       val |= SOFTRESET_6328_PCIE_MASK;
-       val |= SOFTRESET_6328_PCIE_CORE_MASK;
-       val |= SOFTRESET_6328_PCIE_HARD_MASK;
-       bcm_perf_writel(val, PERF_SOFTRESET_6328_REG);
+       bcm63xx_core_set_reset(BCM63XX_RESET_PCIE, 0);
        mdelay(10);
 
-       val |= SOFTRESET_6328_PCIE_EXT_MASK;
-       bcm_perf_writel(val, PERF_SOFTRESET_6328_REG);
+       bcm63xx_core_set_reset(BCM63XX_RESET_PCIE_EXT, 0);
        mdelay(200);
 }