| 70 | } |
| 71 | |
| 72 | static int |
| 73 | pcf2123_rtc_attach(device_t dev) |
| 74 | { |
| 75 | struct pcf2123_rtc_softc *sc; |
| 76 | struct spi_command cmd; |
| 77 | unsigned char rxBuf[3]; |
| 78 | unsigned char txBuf[3]; |
| 79 | int err; |
| 80 | |
| 81 | sc = device_get_softc(dev); |
| 82 | sc->dev = dev; |
| 83 | |
| 84 | clock_register(dev, 1000000); |
| 85 | |
| 86 | memset(&cmd, 0, sizeof(cmd)); |
| 87 | memset(rxBuf, 0, sizeof(rxBuf)); |
| 88 | memset(txBuf, 0, sizeof(txBuf)); |
| 89 | |
| 90 | /* Make sure Ctrl1 and Ctrl2 are zeroes */ |
| 91 | txBuf[0] = PCF2123_WRITE(PCF2123_REG_CTRL1); |
| 92 | cmd.rx_cmd = rxBuf; |
| 93 | cmd.tx_cmd = txBuf; |
| 94 | cmd.rx_cmd_sz = sizeof(rxBuf); |
| 95 | cmd.tx_cmd_sz = sizeof(txBuf); |
| 96 | err = SPIBUS_TRANSFER(device_get_parent(dev), dev, &cmd); |
| 97 | DELAY(PCF2123_DELAY); |
| 98 | |
| 99 | return (0); |
| 100 | } |
| 101 | |
| 102 | static int |
| 103 | pcf2123_rtc_gettime(device_t dev, struct timespec *ts) |
nothing calls this directly
no test coverage detected