[ ] writing to gpio with bits masked, I simple set those bits low. So reading from the data ports will have those bits low. I think writing to data with masked bits should retain those bits.
[ ] I should handle pins falling / rising. Currently I just check when SCK written value is 0/1. Which isn't correct.
[ ] irq isn't handled.
[ ] unsure what happens on invalid mode.
[ ] I don't handle 12h mode.
[ ] unsure what happens finished r/w the length of the register set for command. Should I wait for CS going low before resetting state, or, after full length, reset the state.
[ ] I don't handle CS going low midway through a transfer of command and r/w.
Listing some potential RTC bugs (not tested yet).