From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valentin Longchamp Subject: Re: [PATCH] i2c-qoriq: modified compatibility for correct prescaler Date: Wed, 29 Oct 2014 09:59:49 +0100 Message-ID: <5450AC85.40302@keymile.com> References: <1413538026-15739-1-git-send-email-valentin.longchamp@keymile.com> <1414537731.23458.120.camel@snotra.buserror.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1414537731.23458.120.camel@snotra.buserror.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" To: Scott Wood Cc: "Boschung, Rainer" , Linux device trees , "Brunck, Holger" , Linux PowerPC Kernel , Linux I2C List-Id: linux-i2c@vger.kernel.org T24gMTAvMjkvMjAxNCAxMjowOCBBTSwgU2NvdHQgV29vZCB3cm90ZToKPiBPbiBGcmksIDIwMTQt MTAtMTcgYXQgMTE6MjcgKzAyMDAsIFZhbGVudGluIExvbmdjaGFtcCB3cm90ZToKPj4gV2l0aCAi ZnNsLWkyYyIgY29tcGF0aWJpbGl0eSB0aGUgaTJjIGZyZXF1ZW5jeSBpcyBub3Qgc2V0Cj4+IGNv cnJlY3RseSwgYmVjYXVzZSBpdCBzZXRzIG5vIHByZXNjYWxlci4gQWNjb3JkaW5nIHRvIHRoZSBB TjI5MTkgZnJvbQo+PiBGcmVlc2NhbGUgYW5kIHRoZSBRb3JJUSAoUDIwNDEpIGRvY3VtZW50YXRp b24sIHRoZSBzb3VyY2UgY2xvY2sgaXMgMS8yCj4+IHRoZSBwbGF0Zm9ybSBjbG9jay4gVGhpcyBp bXBsaWVzIHRoYXQgYSBwcmVzY2FsZXIgb2YgMiBtdXN0IGJlIHVzZWQuCj4+Cj4+IFRoaXMgY2hh bmdlcyB0aGUgY29tcGF0aWJpbGl0eSBvZiB0aGUgcW9yaXEtaTJjIC5kdHNpIGZpbGVzIHRvIHBp Y2sgdGhlCj4+IG1wYzg1NDMsIHdoaWNoIHVzZXMgdGhlIHNhbWUgZHJpdmVyIGJ1dCBzZXRzIHRo ZSBjb3JyZWN0IHByZXNjYWxlci4KPj4KPj4gU2lnbmVkLW9mZi1ieTogUmFpbmVyIEJvc2NodW5n IDxyYWluZXIuYm9zY2h1bmdAa2V5bWlsZS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IFZhbGVudGlu IExvbmdjaGFtcCA8dmFsZW50aW4ubG9uZ2NoYW1wQGtleW1pbGUuY29tPgo+PiAtLS0KPj4KPj4g IGFyY2gvcG93ZXJwYy9ib290L2R0cy9mc2wvcW9yaXEtaTJjLTAuZHRzaSB8IDQgKystLQo+PiAg YXJjaC9wb3dlcnBjL2Jvb3QvZHRzL2ZzbC9xb3JpcS1pMmMtMS5kdHNpIHwgNCArKy0tCj4+ICAy IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPj4KPj4gZGlm ZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9ib290L2R0cy9mc2wvcW9yaXEtaTJjLTAuZHRzaSBiL2Fy Y2gvcG93ZXJwYy9ib290L2R0cy9mc2wvcW9yaXEtaTJjLTAuZHRzaQo+PiBpbmRleCA1ZjliZjdk Li5hYTZjMzY2IDEwMDY0NAo+PiAtLS0gYS9hcmNoL3Bvd2VycGMvYm9vdC9kdHMvZnNsL3Fvcmlx LWkyYy0wLmR0c2kKPj4gKysrIGIvYXJjaC9wb3dlcnBjL2Jvb3QvZHRzL2ZzbC9xb3JpcS1pMmMt MC5kdHNpCj4+IEBAIC0zNiw3ICszNiw3IEBAIGkyY0AxMTgwMDAgewo+PiAgCSNhZGRyZXNzLWNl bGxzID0gPDE+Owo+PiAgCSNzaXplLWNlbGxzID0gPDA+Owo+PiAgCWNlbGwtaW5kZXggPSA8MD47 Cj4+IC0JY29tcGF0aWJsZSA9ICJmc2wtaTJjIjsKPj4gKwljb21wYXRpYmxlID0gImZzbCxtcGM4 NTQzLWkyYyIsICJmc2wtaTJjIjsKPj4gIAlyZWcgPSA8MHgxMTgwMDAgMHgxMDA+Owo+PiAgCWlu dGVycnVwdHMgPSA8MzggMiAwIDA+Owo+PiAgCWRmc3JyOwo+PiBAQCAtNDYsNyArNDYsNyBAQCBp MmNAMTE4MTAwIHsKPj4gIAkjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4gIAkjc2l6ZS1jZWxscyA9 IDwwPjsKPj4gIAljZWxsLWluZGV4ID0gPDE+Owo+PiAtCWNvbXBhdGlibGUgPSAiZnNsLWkyYyI7 Cj4+ICsJY29tcGF0aWJsZSA9ICJmc2wsbXBjODU0My1pMmMiLCAiZnNsLWkyYyI7Cj4+ICAJcmVn ID0gPDB4MTE4MTAwIDB4MTAwPjsKPj4gIAlpbnRlcnJ1cHRzID0gPDM4IDIgMCAwPjsKPj4gIAlk ZnNycjsKPiAKPiBBcmUgYWxsIGNoaXBzIHRoYXQgdXNlIHRoaXMgZHRzaSAxMDAlIGNvbXBhdGli bGUgd2l0aCBtcGM4NTQzJ3MgaTJjLCBvcgo+IGp1c3QgaW4gd2F5cyB0aGUgTGludXggZHJpdmVy IGNhcmVzIGFib3V0PwoKSSBoYXZlIGp1c3QgbG9va2VkIGJyaWVmbHkgYXQgdGhlIG1wYzg1NDgg Uk0gKGNvdmVycyBtcGM4NTQzKSBhbmQgaXRzIGkyYwpjb250cm9sbGVyIGxvb2tzIHRoZSBzYW1l IGFzIHRoZSBxb3JpcSdzLiBJIGNhbm5vdCBob3dldmVyIHN0YXRlIGlmIHRoZXkgYXJlCjEwMCUg Y29tcGF0aWJsZS4KCklmIHdlIHdhbnRlZCB0byBiZSBvbiB0aGUgc2FmZSBzaWRlIGFuZCBzdHJp Y3QgKHNpbmNlIHdlIGFyZSBub3Qgc3VyZSB0aGF0IHRoZQpoYXJkd2FyZSBpcyAxMDAlIGNvbXBh dGlibGUpLCB3ZSBtYXliZSBzaG91bGQgYWRkIGEgZnNsLHFvcmlxLWkyYyBjb21wYXRpYmxlIHRv CnRoZSBkcml2ZXIgdGhhdCBkb2VzIHRoZSBzYW1lIGFzIG1wYzg1NDMtaTJjLgoKPiAKPiBXaGF0 IGFib3V0IGZzbCxtcGM4NTQ0LWkyYywgd2hpY2ggaGFzIGFkZGl0aW9uYWwgc3BlY2lhbCBoYW5k bGluZyBpbiB0aGUKPiBkcml2ZXIsIGJ1dCBpcyBvbmx5IHVzZWQgaW4gc29jcmF0ZXMuZHRzIChu b3QgbXBjODU0NGRzLmR0cyk/CgpGcm9tIHRoZSBtcGM4NTQ0IFJNLCB0aGlzIGNvbnRyb2xsZXIg bG9va3MgdGhlIHNhbWUgYXMgdGhlIGFib3ZlIDIsIGV4Y2VwdCBmb3IKdGhlIHByZXNjYWxlciBm cm9tIHRoZSBkcml2ZXIgd2hpY2ggaXMgc2V0IHRvIDMuIEFzIHRvIHdoeSBpdCBpcyBvbmx5IHVz ZWQgaW4KdGhlIHNvY3JhdGVzLmR0cywgSSBjYW5ub3QgY29tbWVudCBhYm91dCBpdC4KClRoZSBw cmVzY2FsZXIgaXMgY29uZmlybWVkIHRvIGJlIDMgYnkgZGVmYXVsdCBieSB0aGUgVGFibGUgMyBv ZiB0aGUgQU4tMjE5IGZvcgp0aGUgbXBjODU0NC4KCj4gCj4gV2hhdCBhYm91dCBwcTMtaTJjLSou ZHRzaT8KPiAKClRoaXMgaXMgYWxzbyBpbnRlcmVzdGluZzogZnJvbSB0aGUgQU4tMjE5IFRhYmxl IDQsIHNvbWUgcHEzIGhhdmUgYSAyOjEKKG1jcGM4NTM2LzQzLzQ1LzQ3LzQ4LzY3LzY4LzcyLCBw bHVzIHAyMDIwKSBwcmVzY2FsZXIgd2hlcmUgc29tZSBkb24ndAoobXBjODUzMy80NCwgd2hlcmUg aXQgY2FuIGJlIDM6MSAtZGVmYXVsdC0gb3IgMjoxKS4gSG93ZXZlciBwcTMtaTJjLSouZHRzaQpk ZWZpbmVzIG5vIHByZXNjYWxlci4KCk5vdyBpZiBJIGxvb2sgYXQgd2hhdCBmaWxlcyBpbmNsdWRl IHRoZXNlIHBxMy1pMmMtKi5kdHNpLCBJIHNlZSBzb21lIHRoYXQgYXJlIGluCnRoZSB0aGUgMjox IGxpc3Q6CmFyY2gvcG93ZXJwYy9ib290L2R0cy9mc2wvbXBjODUzNnNpLXBvc3QuZHRzaQphcmNo L3Bvd2VycGMvYm9vdC9kdHMvZnNsL21wYzg1NDhzaS1wb3N0LmR0c2kKYXJjaC9wb3dlcnBjL2Jv b3QvZHRzL2ZzbC9tcGM4NTY4c2ktcG9zdC5kdHNpCmFyY2gvcG93ZXJwYy9ib290L2R0cy9mc2wv bXBjODU3MnNpLXBvc3QuZHRzaQphcmNoL3Bvd2VycGMvYm9vdC9kdHMvZnNsL3AyMDIwc2ktcG9z dC5kdHNpCgpJIGRvbid0IGhhdmUgYW55IGhhcmR3YXJlIHRvIGRvIHNvbWUgdGVzdHMgd2l0aCB0 aGVzZSwgYnV0IGZyb20gbXkgbWVhc3VyZW1lbnRzCm9uIG91ciBxb3JpcSBiYXNlZCBzeXN0ZW0g KFAyMDQxIFNvQykgSSB0aGluayB0aGF0IHRoZSBnZW5lcmF0ZWQgSTJDIGNsb2NrcyBmb3IKdGhl IGFib3ZlIFNvQyBjdXJyZW50bHkgYXJlIG5vdCBjb3JyZWN0IGJlY2F1c2Ugb2YgdGhlIGlnbm9y ZWQgcHJlc2NhbGVyLgoKVmFsZW50aW4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXhwcGMtZGV2IG1haWxpbmcgbGlzdApMaW51eHBwYy1kZXZAbGlz dHMub3psYWJzLm9yZwpodHRwczovL2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vbGludXhwcGMt ZGV2 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-de.keymile.com (mail-de.keymile.com [195.8.104.250]) (using TLSv1.1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id AEB581A0053 for ; Wed, 29 Oct 2014 19:59:58 +1100 (AEDT) Message-ID: <5450AC85.40302@keymile.com> Date: Wed, 29 Oct 2014 09:59:49 +0100 From: Valentin Longchamp MIME-Version: 1.0 To: Scott Wood Subject: Re: [PATCH] i2c-qoriq: modified compatibility for correct prescaler References: <1413538026-15739-1-git-send-email-valentin.longchamp@keymile.com> <1414537731.23458.120.camel@snotra.buserror.net> In-Reply-To: <1414537731.23458.120.camel@snotra.buserror.net> Content-Type: text/plain; charset=UTF-8 Cc: "Boschung, Rainer" , Linux device trees , "Brunck, Holger" , Linux PowerPC Kernel , Linux I2C List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 10/29/2014 12:08 AM, Scott Wood wrote: > On Fri, 2014-10-17 at 11:27 +0200, Valentin Longchamp wrote: >> With "fsl-i2c" compatibility the i2c frequency is not set >> correctly, because it sets no prescaler. According to the AN2919 from >> Freescale and the QorIQ (P2041) documentation, the source clock is 1/2 >> the platform clock. This implies that a prescaler of 2 must be used. >> >> This changes the compatibility of the qoriq-i2c .dtsi files to pick the >> mpc8543, which uses the same driver but sets the correct prescaler. >> >> Signed-off-by: Rainer Boschung >> Signed-off-by: Valentin Longchamp >> --- >> >> arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi | 4 ++-- >> arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi | 4 ++-- >> 2 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi >> index 5f9bf7d..aa6c366 100644 >> --- a/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi >> +++ b/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi >> @@ -36,7 +36,7 @@ i2c@118000 { >> #address-cells = <1>; >> #size-cells = <0>; >> cell-index = <0>; >> - compatible = "fsl-i2c"; >> + compatible = "fsl,mpc8543-i2c", "fsl-i2c"; >> reg = <0x118000 0x100>; >> interrupts = <38 2 0 0>; >> dfsrr; >> @@ -46,7 +46,7 @@ i2c@118100 { >> #address-cells = <1>; >> #size-cells = <0>; >> cell-index = <1>; >> - compatible = "fsl-i2c"; >> + compatible = "fsl,mpc8543-i2c", "fsl-i2c"; >> reg = <0x118100 0x100>; >> interrupts = <38 2 0 0>; >> dfsrr; > > Are all chips that use this dtsi 100% compatible with mpc8543's i2c, or > just in ways the Linux driver cares about? I have just looked briefly at the mpc8548 RM (covers mpc8543) and its i2c controller looks the same as the qoriq's. I cannot however state if they are 100% compatible. If we wanted to be on the safe side and strict (since we are not sure that the hardware is 100% compatible), we maybe should add a fsl,qoriq-i2c compatible to the driver that does the same as mpc8543-i2c. > > What about fsl,mpc8544-i2c, which has additional special handling in the > driver, but is only used in socrates.dts (not mpc8544ds.dts)? >>From the mpc8544 RM, this controller looks the same as the above 2, except for the prescaler from the driver which is set to 3. As to why it is only used in the socrates.dts, I cannot comment about it. The prescaler is confirmed to be 3 by default by the Table 3 of the AN-219 for the mpc8544. > > What about pq3-i2c-*.dtsi? > This is also interesting: from the AN-219 Table 4, some pq3 have a 2:1 (mcpc8536/43/45/47/48/67/68/72, plus p2020) prescaler where some don't (mpc8533/44, where it can be 3:1 -default- or 2:1). However pq3-i2c-*.dtsi defines no prescaler. Now if I look at what files include these pq3-i2c-*.dtsi, I see some that are in the the 2:1 list: arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi arch/powerpc/boot/dts/fsl/p2020si-post.dtsi I don't have any hardware to do some tests with these, but from my measurements on our qoriq based system (P2041 SoC) I think that the generated I2C clocks for the above SoC currently are not correct because of the ignored prescaler. Valentin