У 233 часы сбрасываются каждый раз после перезагрузки. Я так понял там в качестве часов используется таймер который сбрасывается когда микроконтроллер перезагружается.
Вот нашел похожую тему, но у меня так же все включено, но все равно после перезапуска часы сбрасываются. ссылка
Думал по поводу драйвера, но сложно, если просто прицепить к i2c и написать обычную программу которая будет запускаться при старте и устанавливать системные часы из внешних? И добавить команду например settime [format datatime] которая будет устанавливать внешние часы.
На местных платах процессоры в 128-ногом LQFP корпусе - там физически нет возможности использовать встроенный RTC.
Если быть точней - только с 24 МГц кварца возможно и процессор надо отправлять в power-down
Для внешних часов на i2c достаточно прописать их в board-файле, включить драйвер в ядре для i2c и ваших часов и указать ядру что время надо устанавливать при старте из RTC
[*] Set system time from RTC on startup and resume
(rtc0) RTC used to set the system time
У меня сбрасывается на 1970г потом через пару минут восстанавливается думаю синхронизируется с ntp. Прицепил часы по i2c структуру из часов считываю вроде все без проблем. Теперь осталось продумать как сделать что бы системные часы не обновлялись из ntp а после перезагрузки сразу как загрузятся модули i2c запускалась эта программка и устанавливала системные часы. Буду благодарен за рекомендации. Думаю нужно добавить скрипт systemctl