Lines Matching +full:slave +full:- +full:kernel

4  * Taken from the Linux kernel drivier:
7 * Adaptation for U-Boot:
9 * Albin Tonnerre, Free Electrons <albin.tonnerre@free-electrons.com>
20 static struct spi_slave *slave; variable
41 if (!slave) { in rtc_set()
42 slave = spi_setup_slave(CONFIG_M41T94_SPI_BUS, in rtc_set()
45 if (!slave) in rtc_set()
46 return -1; in rtc_set()
48 spi_claim_bus(slave); in rtc_set()
51 buf[M41T94_REG_SECONDS] = bin2bcd(tm->tm_sec); in rtc_set()
52 buf[M41T94_REG_MINUTES] = bin2bcd(tm->tm_min); in rtc_set()
53 buf[M41T94_REG_HOURS] = bin2bcd(tm->tm_hour); in rtc_set()
54 buf[M41T94_REG_WDAY] = bin2bcd(tm->tm_wday + 1); in rtc_set()
55 buf[M41T94_REG_DAY] = bin2bcd(tm->tm_mday); in rtc_set()
56 buf[M41T94_REG_MONTH] = bin2bcd(tm->tm_mon + 1); in rtc_set()
59 if (tm->tm_year >= 100) in rtc_set()
61 buf[M41T94_REG_YEAR] = bin2bcd(tm->tm_year % 100); in rtc_set()
63 ret = spi_xfer(slave, 64, buf, NULL, SPI_XFER_BEGIN | SPI_XFER_END); in rtc_set()
64 spi_release_bus(slave); in rtc_set()
73 if (!slave) { in rtc_get()
74 slave = spi_setup_slave(CONFIG_M41T94_SPI_BUS, in rtc_get()
77 if (!slave) in rtc_get()
78 return -1; in rtc_get()
80 spi_claim_bus(slave); in rtc_get()
83 ret = spi_w8r8(slave, M41T94_REG_HT); in rtc_get()
89 spi_xfer(slave, 16, buf, NULL, SPI_XFER_BEGIN | SPI_XFER_END); in rtc_get()
93 ret = spi_w8r8(slave, M41T94_REG_SECONDS); in rtc_get()
99 spi_xfer(slave, 16, buf, NULL, SPI_XFER_BEGIN | SPI_XFER_END); in rtc_get()
102 tm->tm_sec = bcd2bin(spi_w8r8(slave, M41T94_REG_SECONDS)); in rtc_get()
103 tm->tm_min = bcd2bin(spi_w8r8(slave, M41T94_REG_MINUTES)); in rtc_get()
104 hour = spi_w8r8(slave, M41T94_REG_HOURS); in rtc_get()
105 tm->tm_hour = bcd2bin(hour & 0x3f); in rtc_get()
106 tm->tm_wday = bcd2bin(spi_w8r8(slave, M41T94_REG_WDAY)) - 1; in rtc_get()
107 tm->tm_mday = bcd2bin(spi_w8r8(slave, M41T94_REG_DAY)); in rtc_get()
108 tm->tm_mon = bcd2bin(spi_w8r8(slave, M41T94_REG_MONTH)) - 1; in rtc_get()
109 tm->tm_year = bcd2bin(spi_w8r8(slave, M41T94_REG_YEAR)); in rtc_get()
111 tm->tm_year += 100; in rtc_get()
113 spi_release_bus(slave); in rtc_get()
121 * the sbc35-ag20 board in rtc_reset()