From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?QWxleGFuZGVyIFNoaXlhbg==?= Subject: =?UTF-8?B?UmU6IFtQQVRDSCA0LzRdIEFSTTogZHRzOiBrZXlzdG9uZS1rMmhrOiBhZGQg?= =?UTF-8?B?ZHNwIGdwaW8gY29udHJvbGxlcnMgbm9kZXM=?= Date: Thu, 14 Aug 2014 16:12:01 +0400 Message-ID: <1408018321.928492982@f270.i.mail.ru> References: <1407946582-20927-1-git-send-email-grygorii.strashko@ti.com> <1407945984.545232249@f170.i.mail.ru> <53ECA7F3.7030702@ti.com> Reply-To: =?UTF-8?B?QWxleGFuZGVyIFNoaXlhbg==?= Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <53ECA7F3.7030702@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: =?UTF-8?B?R3J5Z29yaWkgU3RyYXNoa28=?= Cc: =?UTF-8?B?QWxleGFuZHJlIENvdXJib3Q=?= , devicetree@vger.kernel.org, =?UTF-8?B?TGludXMgV2FsbGVpag==?= , linux-gpio@vger.kernel.org, =?UTF-8?B?Um9iIEhlcnJpbmc=?= , santosh.shilimkar@ti.com, linux-arm-kernel@lists.infradead.org List-Id: linux-gpio@vger.kernel.org VGh1LCAxNCBBdWcgMjAxNCAxNToxMzozOSArMDMwMCDQvtGCIEdyeWdvcmlpIFN0cmFzaGtvIDxn cnlnb3JpaS5zdHJhc2hrb0B0aS5jb20+Ogo+IEhpIEFsZXhhbmRlciwKPiAKPiBPbiAwOC8xMy8y MDE0IDA3OjA2IFBNLCBBbGV4YW5kZXIgU2hpeWFuIHdyb3RlOgo+ID4gV2VkLCAxMyBBdWcgMjAx NCAxOToxNjoyMiArMDMwMCDQvtGCIEdyeWdvcmlpIFN0cmFzaGtvIDxncnlnb3JpaS5zdHJhc2hr b0B0aS5jb20+Ogo+ID4+IEFkZCBLZXlzdG9uZSAyIERTUCBHUElPIG5vZGVzLgo+ID4+IERTUCBH UElPIGJhbmtzIDAtNyBjb3JyZXNwb25kIHRvIERTUDAtRFNQNwo+ID4+Cj4gPj4gU2lnbmVkLW9m Zi1ieTogR3J5Z29yaWkgU3RyYXNoa28gPGdyeWdvcmlpLnN0cmFzaGtvQHRpLmNvbT4KPiA+PiAt LS0KPiA+PiAgIGFyY2gvYXJtL2Jvb3QvZHRzL2syaGsuZHRzaSB8ICAgNTYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAgMSBmaWxlIGNoYW5nZWQsIDU2 IGluc2VydGlvbnMoKykKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9r MmhrLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9rMmhrLmR0c2kKPiA+PiBpbmRleCAzMjFiYTJm Li4wMDllMTgwIDEwMDY0NAo+ID4+IC0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL2syaGsuZHRzaQo+ ID4+ICsrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL2syaGsuZHRzaQo+ID4+IEBAIC01MCw1ICs1MCw2 MSBAQAo+ID4+ICAgCQkJI2ludGVycnVwdC1jZWxscyA9IDwxPjsKPiA+PiAgIAkJCXRpLHN5c2Nv bi1kZXYgPSA8JmRldmN0cmwgMHgyYTA+Owo+ID4+ICAgCQl9Owo+ID4+ICsKPiA+PiArCQlkc3Bn cGlvMDoga2V5c3RvbmVfZHNwX2dwaW9AMDI2MjAyNDAgewo+ID4+ICsJCQljb21wYXRpYmxlID0g InRpLGtleXN0b25lLW1jdHJsLWdwaW8iOwo+ID4+ICsJCQlncGlvLWNvbnRyb2xsZXI7Cj4gPj4g KwkJCSNncGlvLWNlbGxzID0gPDI+Owo+ID4+ICsJCQlncGlvLHN5c2Nvbi1kZXYgPSA8JmRldmN0 cmwgMHgyNDA+Owo+ID4+ICsJCX07Cj4gPj4gKwo+ID4+ICsJCWRzcGdwaW8xOiBrZXlzdG9uZV9k c3BfZ3Bpb0AyNjIwMjQ0IHsKPiA+PiArCQkJY29tcGF0aWJsZSA9ICJ0aSxrZXlzdG9uZS1tY3Ry bC1ncGlvIjsKPiA+PiArCQkJZ3Bpby1jb250cm9sbGVyOwo+ID4+ICsJCQkjZ3Bpby1jZWxscyA9 IDwyPjsKPiA+PiArCQkJZ3BpbyxzeXNjb24tZGV2ID0gPCZkZXZjdHJsIDB4MjQ0PjsKPiA+PiAr CQl9Owo+ID4gLi4uCj4gPj4gKwkJZHNwZ3Bpbzc6IGtleXN0b25lX2RzcF9ncGlvQDI2MjAyNUMg ewo+ID4+ICsJCQljb21wYXRpYmxlID0gInRpLGtleXN0b25lLW1jdHJsLWdwaW8iOwo+ID4+ICsJ CQlncGlvLWNvbnRyb2xsZXI7Cj4gPj4gKwkJCSNncGlvLWNlbGxzID0gPDI+Owo+ID4+ICsJCQln cGlvLHN5c2Nvbi1kZXYgPSA8JmRldmN0cmwgMHgyNWM+Owo+ID4+ICsJCX07Cj4gPiAKPiA+IFNv LCBkZXZjdHJsIGlzIGEgc3lzY29uIGRldmljZSBhbmQgdGhpcyBEVFMgaW50cm9kdWNlIHNldmVy YWwKPiA+IGlkZW50aWNhbCBHUElPIGRlc2NyaXB0aW9ucz8KPiA+IAo+ID4gT24gbXkgb3Bpbmlv biB0aGlzIHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlIGdwaW8tc3lzY29uLmMsCj4gPiB3aGVyZSB5 b3UgY2FuIGFkZCBzdXBwb3J0IGZvciB0aSxrZXlzdG9uZS1kc3Awey4uN30tZ3Bpby4KPiA+IFN1 Y2ggY2hhbmdlIHdpbGwgYXZvaWQgcGFydHMgMiBhbmQgMyBvZiB0aGlzIHBhdGNoLgo+ID4gCj4g PiBzdGF0aWMgY29uc3Qgc3RydWN0IHN5c2Nvbl9ncGlvX2RhdGEgdGlfa2V5c3RvbmVfZHNwMF9n cGlvID0gewo+ID4gICAgLmNvbXBhdGlibGUgPSAidGksa2V5c3RvbmUtc3lzY29uIiwKPiA+ICAg IC5kYXRfYml0X29mZnNldCA9IDB4MjQwICogOCwKPiA+ICAgIC4uLgo+ID4gICAgLnNldCA9IGV0 Yy4uLgo+ID4gfTsKPiAKPiBTbywgaWYgSSB1bmRlcnN0YW5kIHlvdSByaWdodCwgeW91IHByb3Bv c2UgdG8gYWRkIDggYWRkaXRpb25hbCBjb21wYXRpYmxlCj4gc3RyaW5ncyBqdXN0IHRvIGVuY29k ZSBkaWZmZXJlbnQgcmVnaXN0ZXIgb2Zmc2V0cy4gSXMgaXQ/Cj4gMSkgYWRkICJ0aSxrZXlzdG9u ZS1tY3RybC1ncGlvMCIuLi4idGksa2V5c3RvbmUtbWN0cmwtZ3BpbzciCgpZZXMsIGJ1dCByZXBs YWNlICJtY3RybCIgd2l0aCAiZHNwIiBzaW5jZSBtY3RybCBpcyBub3QgYXBwbGljYWJsZSBoZXJl LgoKPiAyKSBhZGQgOCBzdHJ1Y3R1cmVzIGtleXN0b25lX21jdHJsX2dwaW8wLi5rZXlzdG9uZV9t Y3RybF9ncGlvNyBpbiBncGlvLXN5c2Nvbi5jCj4gICAgKHdoaWNoIHdpbGwgaGF2ZSBvbmx5IGRp ZmZlcmVudCB2YWx1ZXMgb2YgZmllbGQgLSAuZGF0X2JpdF9vZmZzZXQgPSAweDJ5eSAqIDgsKQo+ IAo+IDMpIGFkZCA4IGFkZGl0aW9uYWwgaXRlbXMgaW4gYXJyYXkgc3lzY29uX2dwaW9faWRzCj4g CXsKPiAJCS5jb21wYXRpYmxlCT0gInRpLGtleXN0b25lLW1jdHJsLWdwaW8wIiwKPiAJCS5kYXRh CQk9ICZrZXlzdG9uZV9tY3RybF9ncGlvMCwKPiAJfSwgLi4uCj4gCj4gSSBjYW4gZG8gaXQgaWYg eW91IHN0cmljdGx5IGluc2lzdCwgQlVUIEkgZG9uJ3QgbGlrZSBpdCA6KAo+IC0ganVzdCBpbWFn aW5lIGhvdyB5b3VyIGRyaXZlciB3aWxsIGxvb2sgbG9vayBsaWtlIGlmIDUgb3IgNiBTb0NzIHdp bGwgcmUtdXNlIGl0IDspCj4gLSBhcyBJIG1lbnRpb25lZCBpbiBjb3ZlciBsZXR0ZXIgYW5kIGNv bW1pdCBtZXNzYWdlcyBldmVuIGVhY2ggU29DIHJldmlzaW9uIGNhbiBoYXZlCj4gICBkaWZmZXJl bnQgU3lzY29uIGltcGxlbWVudGF0aW9uIHdpdGggZGlmZmVyZW50IHJlZ2lzdGVycyBvZmZzZXRz IGFuZCB3aXRoIGRpZmZlcmVudAo+ICAgbnVtYmVyIG9mIFN5c2NvbiByZWdpc3RlciByYW5nZXMg KGZvciBleGFtcGxlIGZvciBLZXlzdG9uZSAyIHdlIGFscmVhZHkgaGF2ZSB0d28KPiAgIFN5c2Nv biBkZXZpY2VzIGRlZmluZWQgaW4gRFQpLgoKVGhlIGluaXRpYWwgdmVyc2lvbiBvZiB0aGlzIGRy aXZlciBjb250YWlucyBhZGRyZXNzZXMgYW5kIG9mZnNldHMgaW4sIGJ1dCB0aGlzIGFwcHJvYWNo IGhhcwpiZWVuIGNyaXRpY2l6ZWQgYnkgRFQgbWFpbnRhaW5lcnMuCgoiZGlmZmVyZW50IFN5c2Nv biB3aXRoIGRpZmZlcmVudCByZWdpc3RlcnMiIC0gaXMgT0ssIHNpbmNlIHdlIHVzZSBjb21wYXRp YmxlIHN0cmluZyBpbiBkZWZpbml0aW9uLgpJZiB5b3UgaGF2ZSB0d28gaWRlbnRpY2FsIHN5c2Nv biwganVzdCBhcHBlbmQgYW4gdW5pcXVlIGFkZGl0aW9uYWwgc3RyaW5nIGFuZCB1c2UgaXQgaW4g dGhpcyBkcml2ZXIuCgo+IE5vdyB3ZSBhbHJlYWR5IGhhdmUgMyBLZXlzdG9uZSAyIFNvQyByZXZp c2lvbnMgKEsySEssIEsyTCwgSzJFKSAgYW5kIHRoZXJlIGFyZSBubyBndWFyYW50ZWUKPiB0aGF0 IHRoZSBuZXh0IHJldmlzaW9uIGsyWCB3aWxsIGhhdmUgdGhlIHNhbWUgcmVnaXN0ZXIgb2Zmc2V0 IGZvciBHUElPMC4KClRoZW4gdXNlIG1vcmUgZXhhY3Qgc3RyaW5nIGZvciBzeXNjb24tZ3Bpbywg bGlrZSB0aSxrZXlzdG9uZS1rMmhrLWRzcC1ncGlvMC4KCi0tLQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: shc_work@mail.ru (=?UTF-8?B?QWxleGFuZGVyIFNoaXlhbg==?=) Date: Thu, 14 Aug 2014 16:12:01 +0400 Subject: =?UTF-8?B?UmU6IFtQQVRDSCA0LzRdIEFSTTogZHRzOiBrZXlzdG9uZS1rMmhrOiBhZGQg?= =?UTF-8?B?ZHNwIGdwaW8gY29udHJvbGxlcnMgbm9kZXM=?= In-Reply-To: <53ECA7F3.7030702@ti.com> References: <1407946582-20927-1-git-send-email-grygorii.strashko@ti.com> <1407945984.545232249@f170.i.mail.ru> <53ECA7F3.7030702@ti.com> Message-ID: <1408018321.928492982@f270.i.mail.ru> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Thu, 14 Aug 2014 15:13:39 +0300 ?? Grygorii Strashko : > Hi Alexander, > > On 08/13/2014 07:06 PM, Alexander Shiyan wrote: > > Wed, 13 Aug 2014 19:16:22 +0300 ?? Grygorii Strashko : > >> Add Keystone 2 DSP GPIO nodes. > >> DSP GPIO banks 0-7 correspond to DSP0-DSP7 > >> > >> Signed-off-by: Grygorii Strashko > >> --- > >> arch/arm/boot/dts/k2hk.dtsi | 56 +++++++++++++++++++++++++++++++++++++++++++ > >> 1 file changed, 56 insertions(+) > >> > >> diff --git a/arch/arm/boot/dts/k2hk.dtsi b/arch/arm/boot/dts/k2hk.dtsi > >> index 321ba2f..009e180 100644 > >> --- a/arch/arm/boot/dts/k2hk.dtsi > >> +++ b/arch/arm/boot/dts/k2hk.dtsi > >> @@ -50,5 +50,61 @@ > >> #interrupt-cells = <1>; > >> ti,syscon-dev = <&devctrl 0x2a0>; > >> }; > >> + > >> + dspgpio0: keystone_dsp_gpio at 02620240 { > >> + compatible = "ti,keystone-mctrl-gpio"; > >> + gpio-controller; > >> + #gpio-cells = <2>; > >> + gpio,syscon-dev = <&devctrl 0x240>; > >> + }; > >> + > >> + dspgpio1: keystone_dsp_gpio at 2620244 { > >> + compatible = "ti,keystone-mctrl-gpio"; > >> + gpio-controller; > >> + #gpio-cells = <2>; > >> + gpio,syscon-dev = <&devctrl 0x244>; > >> + }; > > ... > >> + dspgpio7: keystone_dsp_gpio at 262025C { > >> + compatible = "ti,keystone-mctrl-gpio"; > >> + gpio-controller; > >> + #gpio-cells = <2>; > >> + gpio,syscon-dev = <&devctrl 0x25c>; > >> + }; > > > > So, devctrl is a syscon device and this DTS introduce several > > identical GPIO descriptions? > > > > On my opinion this should be placed in the gpio-syscon.c, > > where you can add support for ti,keystone-dsp0{..7}-gpio. > > Such change will avoid parts 2 and 3 of this patch. > > > > static const struct syscon_gpio_data ti_keystone_dsp0_gpio = { > > .compatible = "ti,keystone-syscon", > > .dat_bit_offset = 0x240 * 8, > > ... > > .set = etc... > > }; > > So, if I understand you right, you propose to add 8 additional compatible > strings just to encode different register offsets. Is it? > 1) add "ti,keystone-mctrl-gpio0"..."ti,keystone-mctrl-gpio7" Yes, but replace "mctrl" with "dsp" since mctrl is not applicable here. > 2) add 8 structures keystone_mctrl_gpio0..keystone_mctrl_gpio7 in gpio-syscon.c > (which will have only different values of field - .dat_bit_offset = 0x2yy * 8,) > > 3) add 8 additional items in array syscon_gpio_ids > { > .compatible = "ti,keystone-mctrl-gpio0", > .data = &keystone_mctrl_gpio0, > }, ... > > I can do it if you strictly insist, BUT I don't like it :( > - just imagine how your driver will look look like if 5 or 6 SoCs will re-use it ;) > - as I mentioned in cover letter and commit messages even each SoC revision can have > different Syscon implementation with different registers offsets and with different > number of Syscon register ranges (for example for Keystone 2 we already have two > Syscon devices defined in DT). The initial version of this driver contains addresses and offsets in, but this approach has been criticized by DT maintainers. "different Syscon with different registers" - is OK, since we use compatible string in definition. If you have two identical syscon, just append an unique additional string and use it in this driver. > Now we already have 3 Keystone 2 SoC revisions (K2HK, K2L, K2E) and there are no guarantee > that the next revision k2X will have the same register offset for GPIO0. Then use more exact string for syscon-gpio, like ti,keystone-k2hk-dsp-gpio0. ---