switch the am335x-evmsk to the new wlcore bindings
[openwrt/staging/wigyori.git] / target / linux / ramips / files / drivers / usb / host / mtk-phy-ahb.c
1 #include "mtk-phy.h"
2 #ifdef CONFIG_U3D_HAL_SUPPORT
3 #include "mu3d_hal_osal.h"
4 #endif
5
6 #ifdef CONFIG_U3_PHY_AHB_SUPPORT
7 #include <linux/gfp.h>
8 #include <linux/kernel.h>
9 #include <linux/slab.h>
10
11 #ifndef CONFIG_U3D_HAL_SUPPORT
12 #define os_writel(addr,data) {\
13 (*((volatile PHY_UINT32*)(addr)) = data);\
14 }
15 #define os_readl(addr) *((volatile PHY_UINT32*)(addr))
16 #define os_writelmsk(addr, data, msk) \
17 { os_writel(addr, ((os_readl(addr) & ~(msk)) | ((data) & (msk)))); \
18 }
19 #define os_setmsk(addr, msk) \
20 { os_writel(addr, os_readl(addr) | msk); \
21 }
22 #define os_clrmsk(addr, msk) \
23 { os_writel(addr, os_readl(addr) &~ msk); \
24 }
25 /*msk the data first, then umsk with the umsk.*/
26 #define os_writelmskumsk(addr, data, msk, umsk) \
27 {\
28 os_writel(addr, ((os_readl(addr) & ~(msk)) | ((data) & (msk))) & (umsk));\
29 }
30
31 #endif
32
33 PHY_INT32 U3PhyWriteReg32(PHY_UINT32 addr, PHY_UINT32 data)
34 {
35 os_writel(addr, data);
36
37 return 0;
38 }
39
40 PHY_INT32 U3PhyReadReg32(PHY_UINT32 addr)
41 {
42 return os_readl(addr);
43 }
44
45 PHY_INT32 U3PhyWriteReg8(PHY_UINT32 addr, PHY_UINT8 data)
46 {
47 os_writelmsk(addr&0xfffffffc, data<<((addr%4)*8), 0xff<<((addr%4)*8));
48
49 return 0;
50 }
51
52 PHY_INT8 U3PhyReadReg8(PHY_UINT32 addr)
53 {
54 return ((os_readl(addr)>>((addr%4)*8))&0xff);
55 }
56
57 #endif
58