USB: move usb drv gpios from dtsi to dts.
[firefly-linux-kernel-4.4.55.git] / drivers / usb / dwc_otg_310 / usbdev_rkuoc.h
1 #ifndef __USBDEV_RKUOC_H
2 #define _USBDEV_RKUOC_H
3
4 typedef union uoc_field
5 {
6     u32 array[3];
7     struct {
8             u32 offset;
9             u32 bitmap;
10             u32 mask;
11     }b;
12 } uoc_field_t;
13
14 inline static void grf_uoc_set(void *base, u32 offset, u8 bitmap, u8 mask, u32 value)
15 {
16     //printk("bc_debug:set addr %p val = 0x%08x\n",((u32*)(base + offset)),(((((1 << mask) - 1) & value) | (((1 << mask) - 1) << 16))<< bitmap));
17     *((u32*)(base + offset)) = (((((1 << mask) - 1) & value) | (((1 << mask) - 1) << 16))<< bitmap);
18 }
19 inline static u32 grf_uoc_get(void *base, u32 offset, u32 bitmap, u32 mask)
20 {
21     //printk("bc_debug:get addr %p bit %d val = 0x%08x\n",(u32*)(base + offset), bitmap, *((u32*)(base + offset)));
22     return ((*((u32*)(base + offset)) >> bitmap) & ((1 << mask) - 1));
23 }
24
25 static inline bool uoc_field_valid(uoc_field_t *f)
26 {
27     if((f->b.bitmap < 32)&&(f->b.mask < 32))
28         return true;
29     else        {
30         printk("%s field invalid\n",__func__);
31         return false;
32     }
33 }
34
35 #endif