1 #ifndef __USBDEV_RKUOC_H
2 #define _USBDEV_RKUOC_H
4 typedef union uoc_field
14 inline static void grf_uoc_set(void *base, u32 offset, u8 bitmap, u8 mask, u32 value)
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);
19 inline static u32 grf_uoc_get(void *base, u32 offset, u32 bitmap, u32 mask)
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));
25 static inline bool uoc_field_valid(uoc_field_t *f)
27 if((f->b.bitmap < 32)&&(f->b.mask < 32))
30 printk("%s field invalid\n",__func__);