Lines Matching refs:xtmr_manager
60 static inline void xtmr_manager_write(struct xtmr_manager_dev *xtmr_manager,
63 iowrite32(value, xtmr_manager->regs + addr);
66 static inline u32 xtmr_manager_read(struct xtmr_manager_dev *xtmr_manager,
69 return ioread32(xtmr_manager->regs + addr);
72 static void xmb_manager_reset_handler(struct xtmr_manager_dev *xtmr_manager)
75 xtmr_manager_write(xtmr_manager, XTMR_MANAGER_FFR_OFFSET, 0);
78 static void xmb_manager_update_errcnt(struct xtmr_manager_dev *xtmr_manager)
80 xtmr_manager->err_cnt++;
86 struct xtmr_manager_dev *xtmr_manager = dev_get_drvdata(dev);
88 return sysfs_emit(buf, "%x\n", xtmr_manager->err_cnt);
96 struct xtmr_manager_dev *xtmr_manager = dev_get_drvdata(dev);
105 xtmr_manager->cr_val &= ~(1 << XTMR_MANAGER_CR_BB_SHIFT);
106 xtmr_manager_write(xtmr_manager, XTMR_MANAGER_CR_OFFSET,
107 xtmr_manager->cr_val);
119 static void xtmr_manager_init(struct xtmr_manager_dev *xtmr_manager)
122 xtmr_manager_write(xtmr_manager, XTMR_MANAGER_SEMIMR_OFFSET, 0);
125 xtmr_manager->cr_val = (1 << XTMR_MANAGER_CR_RIR_SHIFT) |
126 xtmr_manager->magic1;
127 xtmr_manager_write(xtmr_manager, XTMR_MANAGER_CR_OFFSET,
128 xtmr_manager->cr_val);
133 xtmr_manager_write(xtmr_manager, XTMR_MANAGER_BDIR_OFFSET, 0);
137 * in the tmr manager, update the xtmr_manager cr_val for the same
139 xtmr_manager->cr_val |= (1 << XTMR_MANAGER_CR_BB_SHIFT);
149 xmb_manager_register(xtmr_manager->phys_baseaddr, xtmr_manager->cr_val,
151 xtmr_manager, (void *)xmb_manager_reset_handler);
165 struct xtmr_manager_dev *xtmr_manager;
169 xtmr_manager = devm_kzalloc(&pdev->dev, sizeof(*xtmr_manager),
171 if (!xtmr_manager)
174 xtmr_manager->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
175 if (IS_ERR(xtmr_manager->regs))
176 return PTR_ERR(xtmr_manager->regs);
178 xtmr_manager->phys_baseaddr = res->start;
181 &xtmr_manager->magic1);
187 if (xtmr_manager->magic1 > XTMR_MANAGER_MAGIC1_MAX_VAL) {
193 xtmr_manager_init(xtmr_manager);
195 platform_set_drvdata(pdev, xtmr_manager);