Lines Matching +full:gemini +full:- +full:rtc
1 // SPDX-License-Identifier: GPL-2.0
3 * Gemini power management controller
42 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_powerbutton_interrupt()
44 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_powerbutton_interrupt()
46 val = readl(gpw->base + GEMINI_PWC_STATREG); in gemini_powerbutton_interrupt()
55 dev_info(gpw->dev, "infrared poweroff - ignored\n"); in gemini_powerbutton_interrupt()
58 dev_info(gpw->dev, "RTC poweroff\n"); in gemini_powerbutton_interrupt()
62 dev_info(gpw->dev, "poweroff button pressed\n"); in gemini_powerbutton_interrupt()
66 dev_info(gpw->dev, "other power management IRQ\n"); in gemini_powerbutton_interrupt()
81 dev_crit(gpw->dev, "Gemini power off\n"); in gemini_poweroff()
82 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff()
84 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff()
88 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff()
93 struct device *dev = &pdev->dev; in gemini_poweroff_probe()
101 return -ENOMEM; in gemini_poweroff_probe()
103 gpw->base = devm_platform_ioremap_resource(pdev, 0); in gemini_poweroff_probe()
104 if (IS_ERR(gpw->base)) in gemini_poweroff_probe()
105 return PTR_ERR(gpw->base); in gemini_poweroff_probe()
111 gpw->dev = dev; in gemini_poweroff_probe()
113 val = readl(gpw->base + GEMINI_PWC_IDREG); in gemini_poweroff_probe()
118 return -ENODEV; in gemini_poweroff_probe()
122 * Enable the power controller. This is crucial on Gemini in gemini_poweroff_probe()
127 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
129 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
132 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
134 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
137 val = readl(gpw->base + GEMINI_PWC_STATREG); in gemini_poweroff_probe()
139 val = readl(gpw->base + GEMINI_PWC_STATREG); in gemini_poweroff_probe()
142 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
144 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
154 dev_info(dev, "Gemini poweroff driver registered\n"); in gemini_poweroff_probe()
161 .compatible = "cortina,gemini-power-controller",
169 .name = "gemini-poweroff",