From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x22e.google.com (mail-lf0-x22e.google.com. [2a00:1450:4010:c07::22e]) by gmr-mx.google.com with ESMTPS id rw5si923228lbb.2.2015.12.20.04.14.18 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 Dec 2015 04:14:18 -0800 (PST) Received: by mail-lf0-x22e.google.com with SMTP id z124so91821510lfa.3 for ; Sun, 20 Dec 2015 04:14:18 -0800 (PST) Message-ID: <1450613656.15911.62.camel@gmail.com> Subject: [rtc-linux] Re: [PATCH v5] rtc: support DS1302 RTC on ICP DAS LP-8x4x From: Sergei Ianovich To: Rob Herring Cc: linux-kernel@vger.kernel.org, Alexandre Belloni , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Alessandro Zummo , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "open list:REAL TIME CLOCK (RTC) SUBSYSTEM" Date: Sun, 20 Dec 2015 15:14:16 +0300 In-Reply-To: <20151220033815.GD9883@rob-hp-laptop> References: <397668667-27328-3-git-send-email-ynvich@gmail.com> <1450201525-9137-1-git-send-email-ynvich@gmail.com> <20151220033815.GD9883@rob-hp-laptop> Content-Type: text/plain; charset=UTF-8 Mime-Version: 1.0 Reply-To: rtc-linux@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , T24gU2F0LCAyMDE1LTEyLTE5IGF0IDIxOjM4IC0wNjAwLCBSb2IgSGVycmluZyB3cm90ZToNCj4g T24gVHVlLCBEZWMgMTUsIDIwMTUgYXQgMDg6NDU6MjNQTSArMDMwMCwgU2VyZ2VpIElhbm92aWNo IHdyb3RlOg0KPiANCj4gTm90aGluZyBpbiB0aGlzIGlzIHNwZWNpZmljIHRvIElDUCwgc28gdGhl IHN1YmplY3Qgc2hvdWxkIGJlIHVwZGF0ZWQuDQo+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IFNlcmdl aSBJYW5vdmljaCA8eW52aWNoQGdtYWlsLmNvbT4NCj4gPiBDQzogQWxleGFuZHJlIEJlbGxvbmkg PGFsZXhhbmRyZS5iZWxsb25pQGZyZWUtZWxlY3Ryb25zLmNvbT4NCj4gPiAtLS0NCj4gPiDCoMKg wqB2NC4udjUNCj4gPiDCoMKgwqAqIGRyb3AgVEhJU19NT0RVTEUgZnJvbSBzdHJ1Y3QgcGxhdGZv cm0gZHJpdmVyDQo+ID4gwqDCoMKgKiB1c2UgImRhbGxhcyIgZm9yIHZlbmRvciBuYW1lIHBlciB2 ZW5kb3ItcHJlZml4ZXMudHh0DQo+ID4gDQo+ID4gwqDCoMKgdjMuLnY0DQo+ID4gwqDCoMKgKiBt b3ZlIERUUyBiaW5kaW5ncyB0byBhIGRpZmZlcmVudCBwYXRjaA0KPiA+IA0KPiA+IMKgwqDCoHYy Li52Mw0KPiA+IMKgwqDCoCogdXNlIHVzbGVlcF9yYW5nZSBpbnN0ZWFkIG9mIGN1c3RvbSBuc2xl ZXANCj4gPiDCoMKgwqAqIG51bWJlciBjaGFuZ2UgKDA3LzE2IC0+IDA5LzIxKQ0KPiA+IA0KPiA+ IMKgwqDCoHYwLi52Mg0KPiA+IMKgwqDCoCogdXNlIGRldmljZSB0cmVlDQo+ID4gwqDCoMKgKiB1 c2UgZGV2bSBoZWxwZXJzIHdoZXJlIHBvc3NpYmxlDQo+ID4gDQo+ID4gwqAuLi4vZGV2aWNldHJl ZS9iaW5kaW5ncy9ydGMvcnRjLWRzMTMwMi50eHTCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDE0ICsr Kw0KPiA+IMKgZHJpdmVycy9ydGMvS2NvbmZpZ8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMiArLQ0KPiA+IMKgZHJp dmVycy9ydGMvcnRjLWRzMTMwMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgfCAxMDANCj4gPiArKysrKysrKysrKysrKysrKysrKy0NCj4gPiDC oDMgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4g wqBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3J0 Yy9ydGMtDQo+ID4gZHMxMzAyLnR4dA0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcnRjL3J0Yy1kczEzMDIudHh0DQo+ID4gYi9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcnRjL3J0Yy1kczEzMDIudHh0DQo+ID4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi44MTA2MTNiDQo+ID4gLS0tIC9kZXYv bnVsbA0KPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ydGMvcnRj LWRzMTMwMi50eHQNCj4gPiBAQCAtMCwwICsxLDE0IEBADQo+ID4gKyogRGFsbGFzIFNlbWljb25k dWN0b3IgRFMtMTMwMiBSVEMNCj4gPiArDQo+ID4gK1NpbXBsZSBkZXZpY2Ugd2hpY2ggY291bGQg YmUgdXNlZCB0byBzdG9yZSBkYXRlL3RpbWUgYmV0d2Vlbg0KPiA+IHJlYm9vdHMuDQo+ID4gKw0K PiA+ICtSZXF1aXJlZCBwcm9wZXJ0aWVzOg0KPiA+ICstIGNvbXBhdGlibGUgOiBTaG91bGQgYmUg ImRhbGxhcyxydGMtZHMxMzAyIg0KPiA+ICstIHJlZyA6IFNob3VsZCBiZSBhZGRyZXNzIGFuZCBz aXplIG9mIElPIG1lbW9yeSByZWdpb24NCj4gDQo+IFRoaXMgZGV2aWNlIGlzIGEgU1BJIChvciBT UEkgbGlrZT8pIGludGVyZmFjZS4gU28geW91IGhhdmUgc29tZSBzb3J0DQo+IG9mIA0KPiBvZiBG UEdBIGxvZ2ljIGluIGJldHdlZW4gdGhlIGNwdSBhbmQgZHMxMzAyLiBUaGUgRFQgc2hvdWxkIGhh dmUgYSBub2RlDQo+IGZvciB0aGUgY29udHJvbGxlciBhbmQgdGhlbiB0aGUgZHMxMzAyIGFzIGEg Y2hpbGQgb2YgaXQuIEEgZnVsbCBibG93biANCj4gU1BJIGRyaXZlciBtYXkgYmUgb3ZlcmtpbGwg aGVyZSwgYnV0IHRoYXQncyBhIHNlcGFyYXRlIGRpc2N1c3Npb24gZnJvbQ0KPiB0aGUgRFQgYmlu ZGluZy4NCg0KQmVsb3cgaXMgdGhlIHF1b3RlIGZyb20gdGhlIGFjdHVhbCBEVCBvZiBMUC04eDR4 Og0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZwZ2FANSB7DQo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbXBhdGlibGUgPSAic2lt cGxlLWJ1cyI7DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAjc2l6ZS1jZWxscyA9IDwxPjsNCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmFuZ2VzID0gPDAgNSAweDMwMDAwMDAg MHgxMDAwMD47DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGludGVycnVwdC1wYXJlbnQgPSA8JmZwZ2FpcnE+Ow0KPiANCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnRjQDkwMWMgew0KPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29t cGF0aWJsZSA9ICJkYWxsYXMscnRjLWRzMTMwMiI7DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZWcgPSA8MHg5MDFjIDB4 MT47DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBzdGF0dXMgPSAib2theSI7DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH07DQoNCllvdSBhcmUgcmlnaHQgYWJvdXQgdGhlIHRv cG9sb2d5LiBkczEzMDIgaXMgYSBoYWxmLWR1cGxleCBTUEkgZGV2aWNlLg0KRG9lcyB0aGlzIG1l YW4gSSBzaG91bGQgcmV3cml0ZSB0aGUgZHJpdmVyIHRvIGhhbmRsZSB0aGUgY2hpcCBhcyBhIHNs YXZlDQpTUEkgZGV2aWNlLCBhbmQgdGhlbiBwcm92aWRlIGEgbWFzdGVyIFNQSSBmdW5jdGlvbmFs aXR5IGF0IHRoZSBGUEdBPw0KDQotLSAKLS0gDQpZb3UgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGJl Y2F1c2UgeW91IGFyZSBzdWJzY3JpYmVkIHRvICJydGMtbGludXgiLg0KTWVtYmVyc2hpcCBvcHRp b25zIGF0IGh0dHA6Ly9ncm91cHMuZ29vZ2xlLmNvbS9ncm91cC9ydGMtbGludXggLg0KUGxlYXNl IHJlYWQgaHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL3J0Yy1saW51eC93ZWIvY2hlY2ts aXN0DQpiZWZvcmUgc3VibWl0dGluZyBhIGRyaXZlci4KLS0tIApZb3UgcmVjZWl2ZWQgdGhpcyBt ZXNzYWdlIGJlY2F1c2UgeW91IGFyZSBzdWJzY3JpYmVkIHRvIHRoZSBHb29nbGUgR3JvdXBzICJy dGMtbGludXgiIGdyb3VwLgpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgZ3JvdXAgYW5kIHN0b3Ag cmVjZWl2aW5nIGVtYWlscyBmcm9tIGl0LCBzZW5kIGFuIGVtYWlsIHRvIHJ0Yy1saW51eCt1bnN1 YnNjcmliZUBnb29nbGVncm91cHMuY29tLgpGb3IgbW9yZSBvcHRpb25zLCB2aXNpdCBodHRwczov L2dyb3Vwcy5nb29nbGUuY29tL2Qvb3B0b3V0Lgo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Ianovich Subject: Re: [PATCH v5] rtc: support DS1302 RTC on ICP DAS LP-8x4x Date: Sun, 20 Dec 2015 15:14:16 +0300 Message-ID: <1450613656.15911.62.camel@gmail.com> References: <397668667-27328-3-git-send-email-ynvich@gmail.com> <1450201525-9137-1-git-send-email-ynvich@gmail.com> <20151220033815.GD9883@rob-hp-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <20151220033815.GD9883@rob-hp-laptop> Sender: linux-kernel-owner@vger.kernel.org To: Rob Herring Cc: linux-kernel@vger.kernel.org, Alexandre Belloni , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Alessandro Zummo , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "open list:REAL TIME CLOCK (RTC) SUBSYSTEM" List-Id: devicetree@vger.kernel.org On Sat, 2015-12-19 at 21:38 -0600, Rob Herring wrote: > On Tue, Dec 15, 2015 at 08:45:23PM +0300, Sergei Ianovich wrote: >=20 > Nothing in this is specific to ICP, so the subject should be updated. >=20 > > Signed-off-by: Sergei Ianovich > > CC: Alexandre Belloni > > --- > > =C2=A0=C2=A0=C2=A0v4..v5 > > =C2=A0=C2=A0=C2=A0* drop THIS_MODULE from struct platform driver > > =C2=A0=C2=A0=C2=A0* use "dallas" for vendor name per vendor-prefixe= s.txt > >=20 > > =C2=A0=C2=A0=C2=A0v3..v4 > > =C2=A0=C2=A0=C2=A0* move DTS bindings to a different patch > >=20 > > =C2=A0=C2=A0=C2=A0v2..v3 > > =C2=A0=C2=A0=C2=A0* use usleep_range instead of custom nsleep > > =C2=A0=C2=A0=C2=A0* number change (07/16 -> 09/21) > >=20 > > =C2=A0=C2=A0=C2=A0v0..v2 > > =C2=A0=C2=A0=C2=A0* use device tree > > =C2=A0=C2=A0=C2=A0* use devm helpers where possible > >=20 > > =C2=A0.../devicetree/bindings/rtc/rtc-ds1302.txt=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0=C2=A014 +++ > > =C2=A0drivers/rtc/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0|=C2=A0=C2=A0=C2=A02 +- > > =C2=A0drivers/rtc/rtc-ds1302.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0| 100 > > ++++++++++++++++++++- > > =C2=A03 files changed, 113 insertions(+), 3 deletions(-) > > =C2=A0create mode 100644 Documentation/devicetree/bindings/rtc/rtc- > > ds1302.txt > >=20 > > diff --git a/Documentation/devicetree/bindings/rtc/rtc-ds1302.txt > > b/Documentation/devicetree/bindings/rtc/rtc-ds1302.txt > > new file mode 100644 > > index 0000000..810613b > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/rtc/rtc-ds1302.txt > > @@ -0,0 +1,14 @@ > > +* Dallas Semiconductor DS-1302 RTC > > + > > +Simple device which could be used to store date/time between > > reboots. > > + > > +Required properties: > > +- compatible : Should be "dallas,rtc-ds1302" > > +- reg : Should be address and size of IO memory region >=20 > This device is a SPI (or SPI like?) interface. So you have some sort > of=20 > of FPGA logic in between the cpu and ds1302. The DT should have a nod= e > for the controller and then the ds1302 as a child of it. A full blown= =20 > SPI driver may be overkill here, but that's a separate discussion fro= m > the DT binding. Below is the quote from the actual DT of LP-8x4x: > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0fpga@5 { > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0compatible =3D "simple-bus"; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0#address-cells =3D <1>; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0#size-cells =3D <1>; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0ranges =3D <0 5 0x3000000 0x10000>; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0interrupt-parent =3D <&fpgairq>; >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0rtc@901c { > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0compatible =3D "dall= as,rtc-ds1302"; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0reg =3D <0x901c 0x1>= ; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0status =3D "okay"; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0}; You are right about the topology. ds1302 is a half-duplex SPI device. Does this mean I should rewrite the driver to handle the chip as a slav= e SPI device, and then provide a master SPI functionality at the FPGA?