|
@@ -38,6 +38,22 @@ struct parm {
|
|
|
u8 width;
|
|
|
};
|
|
|
|
|
|
+static inline unsigned int meson_parm_read(struct regmap *map, struct parm *p)
|
|
|
+{
|
|
|
+ unsigned int val;
|
|
|
+
|
|
|
+ regmap_read(map, p->reg_off, &val);
|
|
|
+ return PARM_GET(p->width, p->shift, val);
|
|
|
+}
|
|
|
+
|
|
|
+static inline void meson_parm_write(struct regmap *map, struct parm *p,
|
|
|
+ unsigned int val)
|
|
|
+{
|
|
|
+ regmap_update_bits(map, p->reg_off, SETPMASK(p->width, p->shift),
|
|
|
+ val << p->shift);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
struct pll_rate_table {
|
|
|
unsigned long rate;
|
|
|
u16 m;
|