Lines Matching +full:8 +full:dev
47 #include <dev/ofw/ofw_bus.h>
48 #include <dev/ofw/ofw_bus_subr.h>
51 #include <dev/iicbus/iiconf.h>
52 #include <dev/iicbus/iicbus.h>
66 device_t dev; /* Myself */ member
70 int type; /* What address type 8 or 16 bit? */
83 { 8, 128, 8, "AT24C01"},
84 { 8, 256, 8, "AT24C02"},
85 { 8, 512, 16, "AT24C04"},
86 { 8, 1024, 16, "AT24C08"},
87 { 8, 2 * 1024, 16, "AT24C16"},
89 {16, 8 * 1024, 32, "AT24C64"},
105 {"atmel,24c256", (uintptr_t)(&type_desc[8])},
112 #define CDEV2SOFTC(dev) ((dev)->si_drv1) argument
126 icee_probe(device_t dev) in icee_probe() argument
131 if (!ofw_bus_status_okay(dev)) in icee_probe()
135 ofw_bus_search_compatible(dev, compat_data)->ocd_data; in icee_probe()
137 device_set_desc(dev, d->name); in icee_probe()
141 device_set_desc(dev, "I2C EEPROM"); in icee_probe()
154 ofw_bus_search_compatible(sc->dev, compat_data)->ocd_data; in icee_init()
162 dname = device_get_name(sc->dev); in icee_init()
163 dunit = device_get_unit(sc->dev); in icee_init()
174 icee_attach(device_t dev) in icee_attach() argument
176 struct icee_softc *sc = device_get_softc(dev); in icee_attach()
180 sc->dev = dev; in icee_attach()
181 sc->addr = iicbus_get_addr(dev); in icee_attach()
185 device_printf(dev, "size: %d bytes, addressing: %d-bits\n", in icee_attach()
187 sc->cdev = make_dev(&icee_cdevsw, device_get_unit(dev), UID_ROOT, in icee_attach()
188 GID_WHEEL, 0600, "icee%d", device_get_unit(dev)); in icee_attach()
194 ctx = device_get_sysctl_ctx(dev); in icee_attach()
195 tree = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); in icee_attach()
207 icee_detach(device_t dev) in icee_detach() argument
209 struct icee_softc *sc = device_get_softc(dev); in icee_detach()
216 icee_read(struct cdev *dev, struct uio *uio, int ioflag) in icee_read() argument
227 sc = CDEV2SOFTC(dev); in icee_read()
232 if (sc->type != 8 && sc->type != 16) in icee_read()
241 case 8: in icee_read()
251 addr[0] = (uio->uio_offset >> 8) & 0xff; in icee_read()
257 error = iicbus_transfer_excl(sc->dev, msgs, 2, IIC_INTRWAIT); in icee_read()
276 icee_write(struct cdev *dev, struct uio *uio, int ioflag) in icee_write() argument
288 sc = CDEV2SOFTC(dev); in icee_write()
291 if (sc->type != 8 && sc->type != 16) in icee_write()
301 case 8: in icee_write()
309 data[0] = (uio->uio_offset >> 8) & 0xff; in icee_write()
314 error = uiomove(data + sc->type / 8, len, uio); in icee_write()
317 error = iicbus_transfer_excl(sc->dev, wr, 1, IIC_INTRWAIT); in icee_write()
326 error = iicbus_transfer_excl(sc->dev, rd, 1, in icee_write()