1.1 --- a/pkg/landfall-examples/hw_info/jz4780.c Tue Nov 14 00:02:42 2023 +0100
1.2 +++ b/pkg/landfall-examples/hw_info/jz4780.c Thu Nov 16 01:15:40 2023 +0100
1.3 @@ -29,6 +29,10 @@
1.4 #include <l4/devices/gpio-jz4780.h>
1.5 #include <l4/devices/i2c-jz4780.h>
1.6
1.7 +/* The X1600 RTC functionality is a subset of that in the JZ4780. */
1.8 +
1.9 +#include <l4/devices/rtc-x1600.h>
1.10 +
1.11 /* GPIO-based SPI can use arbitrary pins, whereas on the CI20 only the secondary
1.12 header provides pins like GPC. */
1.13
1.14 @@ -331,6 +335,55 @@
1.15
1.16
1.17
1.18 +/* RTC adapter functions. */
1.19 +
1.20 +void *rtc_init(l4_addr_t start)
1.21 +{
1.22 + return x1600_rtc_init(start);
1.23 +}
1.24 +
1.25 +void rtc_disable(void *rtc)
1.26 +{
1.27 + x1600_rtc_disable(rtc);
1.28 +}
1.29 +
1.30 +void rtc_enable(void *rtc)
1.31 +{
1.32 + x1600_rtc_enable(rtc);
1.33 +}
1.34 +
1.35 +uint32_t rtc_get_seconds(void *rtc)
1.36 +{
1.37 + return x1600_rtc_get_seconds(rtc);
1.38 +}
1.39 +
1.40 +void rtc_set_seconds(void *rtc, uint32_t seconds)
1.41 +{
1.42 + x1600_rtc_set_seconds(rtc, seconds);
1.43 +}
1.44 +
1.45 +uint32_t rtc_get_alarm_seconds(void *rtc)
1.46 +{
1.47 + return x1600_rtc_get_alarm_seconds(rtc);
1.48 +}
1.49 +
1.50 +void rtc_set_alarm_seconds(void *rtc, uint32_t seconds)
1.51 +{
1.52 + x1600_rtc_set_alarm_seconds(rtc, seconds);
1.53 +}
1.54 +
1.55 +void rtc_power_down(void *rtc)
1.56 +{
1.57 + x1600_rtc_power_down(rtc);
1.58 +}
1.59 +
1.60 +void rtc_set_regulator(void *rtc, uint32_t base, uint32_t adjustment)
1.61 +{
1.62 + x1600_rtc_set_regulator(rtc, base, adjustment);
1.63 +}
1.64 +
1.65 +
1.66 +
1.67 /* SPI adapter functions. */
1.68
1.69 void *spi_init(l4_addr_t spi_start, l4_addr_t start, l4_addr_t end, void *cpm)
1.70 @@ -399,6 +452,7 @@
1.71 [DMA] = "jz4780-dma",
1.72 [GPIO] = "jz4780-gpio",
1.73 [I2C] = "jz4780-i2c",
1.74 + [RTC] = "jz4780-rtc",
1.75 [SSI] = "jz4780-ssi",
1.76 };
1.77