• Home
  • Raw
  • Download

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()
102 return -ENOMEM; in gemini_poweroff_probe()
105 gpw->base = devm_ioremap_resource(dev, res); in gemini_poweroff_probe()
106 if (IS_ERR(gpw->base)) in gemini_poweroff_probe()
107 return PTR_ERR(gpw->base); in gemini_poweroff_probe()
113 gpw->dev = dev; in gemini_poweroff_probe()
115 val = readl(gpw->base + GEMINI_PWC_IDREG); in gemini_poweroff_probe()
120 return -ENODEV; in gemini_poweroff_probe()
124 * Enable the power controller. This is crucial on Gemini in gemini_poweroff_probe()
129 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
131 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
134 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
136 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
139 val = readl(gpw->base + GEMINI_PWC_STATREG); in gemini_poweroff_probe()
141 val = readl(gpw->base + GEMINI_PWC_STATREG); in gemini_poweroff_probe()
144 val = readl(gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
146 writel(val, gpw->base + GEMINI_PWC_CTRLREG); in gemini_poweroff_probe()
156 dev_info(dev, "Gemini poweroff driver registered\n"); in gemini_poweroff_probe()
163 .compatible = "cortina,gemini-power-controller",
171 .name = "gemini-poweroff",