Lines Matching +full:syscon +full:- +full:dev

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
42 #include <dev/syscon/syscon.h>
44 #include <dev/fdt/fdt_pinctrl.h>
46 #include <dev/ofw/ofw_bus.h>
47 #include <dev/ofw/ofw_bus_subr.h>
95 device_t dev; member
96 struct syscon *syscon; member
102 {"marvell,ap806-pinctrl", (uintptr_t)&ap806_padconf},
106 #define RD4(sc, reg) SYSCON_READ_4((sc)->syscon, (reg))
107 #define WR4(sc, reg, val) SYSCON_WRITE_4((sc)->syscon, (reg), (val))
124 mv_pinctrl_configure_pins(device_t dev, phandle_t cfgxref) in mv_pinctrl_configure_pins() argument
132 sc = device_get_softc(dev); in mv_pinctrl_configure_pins()
136 (void **)&function) == -1) in mv_pinctrl_configure_pins()
140 if (npins == -1) in mv_pinctrl_configure_pins()
144 for (pin_num = 0; pin_num < sc->padconf->npins; pin_num++) { in mv_pinctrl_configure_pins()
145 if (strcmp(pins[i], sc->padconf->pins[pin_num].name) == 0) in mv_pinctrl_configure_pins()
148 if (pin_num == sc->padconf->npins) in mv_pinctrl_configure_pins()
152 if (sc->padconf->pins[pin_num].functions[pin_func] && in mv_pinctrl_configure_pins()
153 strcmp(function, sc->padconf->pins[pin_num].functions[pin_func]) == 0) in mv_pinctrl_configure_pins()
168 mv_pinctrl_probe(device_t dev) in mv_pinctrl_probe() argument
171 if (!ofw_bus_status_okay(dev)) in mv_pinctrl_probe()
174 if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) in mv_pinctrl_probe()
177 device_set_desc(dev, "Marvell Pinctrl controller"); in mv_pinctrl_probe()
182 mv_pinctrl_attach(device_t dev) in mv_pinctrl_attach() argument
186 sc = device_get_softc(dev); in mv_pinctrl_attach()
187 sc->dev = dev; in mv_pinctrl_attach()
188 sc->padconf = (struct mv_padconf *) in mv_pinctrl_attach()
189 ofw_bus_search_compatible(dev,compat_data)->ocd_data; in mv_pinctrl_attach()
191 if (SYSCON_GET_HANDLE(sc->dev, &sc->syscon) != 0 || in mv_pinctrl_attach()
192 sc->syscon == NULL) { in mv_pinctrl_attach()
193 device_printf(dev, "cannot get syscon for device\n"); in mv_pinctrl_attach()
197 fdt_pinctrl_register(dev, "marvell,pins"); in mv_pinctrl_attach()
198 fdt_pinctrl_configure_tree(dev); in mv_pinctrl_attach()
204 mv_pinctrl_detach(device_t dev) in mv_pinctrl_detach() argument