On Mon, Feb 22, 2016 at 04:47:06AM +0300, Sergei Ianovich wrote: > ICP DAS LP-8841 contains a DS-1302 RTC. This driver provides an SPI > master which makes the RTC usable. The driver is not supposed to work > with anything else. > > The driver uses the standard MicroWire half-duplex transfer timing. > Master output is set on low clock and sensed by the RTC on the rising > edge. Master input is set by the RTC on the trailing edge and is sensed > by the master on low clock. > > Signed-off-by: Sergei Ianovich <ynvich@xxxxxxxxx> > --- > .../devicetree/bindings/spi/spi-lp8841-rtc.txt | 55 +++++ > drivers/spi/Kconfig | 10 + > drivers/spi/Makefile | 1 + > drivers/spi/spi-lp8841-rtc.c | 272 +++++++++++++++++++++ > 4 files changed, 338 insertions(+) > create mode 100644 Documentation/devicetree/bindings/spi/spi-lp8841-rtc.txt > create mode 100644 drivers/spi/spi-lp8841-rtc.c > > diff --git a/Documentation/devicetree/bindings/spi/spi-lp8841-rtc.txt b/Documentation/devicetree/bindings/spi/spi-lp8841-rtc.txt > new file mode 100644 > index 0000000..f191aef > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/spi-lp8841-rtc.txt > @@ -0,0 +1,55 @@ > +* ICP DAS LP-8841 SPI Controller for RTC > + > +ICP DAS LP-8841 contains a DS-1302 RTC. This driver provides an SPI > +master which makes the RTC usable. The driver is not supposed to work > +with anything else. Bindings describe h/w not drivers. > +The driver uses the standard MicroWire half-duplex transfer timing. > +Master output is set on low clock and sensed by the RTC on the rising > +edge. Master input is set by the RTC on the trailing edge and is sensed > +by the master on low clock. > + > +Required properties: > + > +- #address-cells: should be 1 > + > +- #size-cells: should be 0 > + > +- compatible: should be "icpdas,spi-lp8841-rtc" icpdas,lp8841-spi-rtc would be more inline with naming conventions. > + > +- reg: should provide IO memory address > + > +Requirements to SPI slave nodes: > + > +- There can be only one slave device. > + > +- The spi slave node should claim the following flags which are > + required by the spi controller. > + > + - spi-3wire: The master itself has only 3 wire. It cannor work in s/cannor/cannot/ > + full duplex mode. > + > + - spi-cs-high: DS-1302 has active high chip select line. The master > + doesn't support active low. > + > + - spi-lsb-first: DS-1302 requires least significant bit first > + transfers. The master only support this type of bit ordering. > + > + > +Example: > + > +spi0@901c { spi@901c > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "icpdas,spi-lp8841-rtc"; > + reg = <0x901c 0x1>; > + > + rtc@0 { > + compatible = "maxim,rtc-ds1302"; > + reg = <0>; > + spi-max-frequency = <500000>; > + spi-3wire; > + spi-lsb-first; > + spi-cs-high; > + }; > +}; -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html