From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev) Date: Thu, 29 Jun 2017 16:39:45 +0000 Subject: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board In-Reply-To: <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop> References: <20170626151118.19507-1-Eugeniy.Paltsev@synopsys.com> <20170626151118.19507-4-Eugeniy.Paltsev@synopsys.com> <1498494334.28955.58.camel@synopsys.com> <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop> List-ID: Message-ID: <1498754384.2378.10.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org On Wed, 2017-06-28@17:50 -0500, Rob Herring wrote: > > > > +???????????????????????#clock-cells = <0>; > > > > +???????????????????????compatible = "fixed-clock"; > > > > +???????????????????????clock-frequency = <1000000000>; > > > > +???????????????}; > > > > + > > > > +???????????????core_intc: archs-intc at cpu { > > > > > > cpu is not a valid unit-address. How are these interrupt > > > controllers addressed? > > > > We have per-core INTC so each core communicates to its own INTC and > > there's no way > > for any core to talk with INTC of another core. > > > > But then we have the next level INTC which is IDU (Interrupt > > Distribution Unit) > > which dispatches "common" IRQs to different upstream per-core INTC, > > see below its node.? > > Okay, I'd just do "cpu-interrupt-controller" for the node name then.? > There doesn't seem to be an easy way to use just "interrupt- > controller"? > since you have 2 nodes at the same level and no unit-address (i.e. a? > reg property). > To be more clarify, what is better way do describe such hardware in device tree? -------------????-------------?? | cpu core 0|????| cpu core 1|?? -------------????-------------?? | interrupt |????| interrupt |?? | controller|????| controller|?? |?????0?????|????|?????1?????|?? -------------????-------------?? ??????^????????????????^ ??????|????????????????| ?????????????----------- ??????|??????| ---------------- |???interrupt??| | distribution | |?????unit?????| ---------------- ??????^ ??????| ??????|<--other devices interrupt lines We can't just create a node for each core interrupt controller because we wouldn't able to specify which one is parent for interrupt distribution unit: ------------>>>------------- cpus { ????cpu at 0 { intc at 0 }; ????cpu at 1 { intc at 1 }; }; interrupt-distribution-unit { ????interrupt-parent = ???? }; ------------>>>------------- Should we simply create one core interrupt controller node for all cpus (instead of one per each cpu core), or where is a better option? -- ?Eugeniy Paltsev From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugeniy Paltsev Subject: Re: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board Date: Thu, 29 Jun 2017 16:39:45 +0000 Message-ID: <1498754384.2378.10.camel@synopsys.com> References: <20170626151118.19507-1-Eugeniy.Paltsev@synopsys.com> <20170626151118.19507-4-Eugeniy.Paltsev@synopsys.com> <1498494334.28955.58.camel@synopsys.com> <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop> Content-Language: en-US Content-ID: <510F4FDEE91E5247BB1E8C004AD14A4A-z7JfP6tgrtVBCHUSTMH8dZqQE7yCjDx5@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: "robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org" Cc: "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org" , "Eugeniy.Paltsev-HKixBCOQz3hWk0Htik3J/w@public.gmane.org" , "Alexey.Brodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org" , "linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: devicetree@vger.kernel.org T24gV2VkLCAyMDE3LTA2LTI4IGF0IDE3OjUwIC0wNTAwLCBSb2IgSGVycmluZyB3cm90ZToNCj4g PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjY2xv Y2stY2VsbHMgPSA8MD47DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgY29tcGF0aWJsZSA9ICJmaXhlZC1jbG9jayI7DQo+ID4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY2xvY2stZnJlcXVlbmN5 ID0gPDEwMDAwMDAwMDA+Ow0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg fTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29y ZV9pbnRjOiBhcmNocy1pbnRjQGNwdSB7DQo+ID4gPiANCj4gPiA+IGNwdSBpcyBub3QgYSB2YWxp ZCB1bml0LWFkZHJlc3MuIEhvdyBhcmUgdGhlc2UgaW50ZXJydXB0DQo+ID4gPiBjb250cm9sbGVy cyBhZGRyZXNzZWQ/DQo+ID4gDQo+ID4gV2UgaGF2ZSBwZXItY29yZSBJTlRDIHNvIGVhY2ggY29y ZSBjb21tdW5pY2F0ZXMgdG8gaXRzIG93biBJTlRDIGFuZA0KPiA+IHRoZXJlJ3Mgbm8gd2F5DQo+ ID4gZm9yIGFueSBjb3JlIHRvIHRhbGsgd2l0aCBJTlRDIG9mIGFub3RoZXIgY29yZS4NCj4gPiAN Cj4gPiBCdXQgdGhlbiB3ZSBoYXZlIHRoZSBuZXh0IGxldmVsIElOVEMgd2hpY2ggaXMgSURVIChJ bnRlcnJ1cHQNCj4gPiBEaXN0cmlidXRpb24gVW5pdCkNCj4gPiB3aGljaCBkaXNwYXRjaGVzICJj b21tb24iIElSUXMgdG8gZGlmZmVyZW50IHVwc3RyZWFtIHBlci1jb3JlIElOVEMsDQo+ID4gc2Vl IGJlbG93IGl0cyBub2RlLsKgDQo+IA0KPiBPa2F5LCBJJ2QganVzdCBkbyAiY3B1LWludGVycnVw dC1jb250cm9sbGVyIiBmb3IgdGhlIG5vZGUgbmFtZSB0aGVuLsKgDQo+IFRoZXJlIGRvZXNuJ3Qg c2VlbSB0byBiZSBhbiBlYXN5IHdheSB0byB1c2UganVzdCAiaW50ZXJydXB0LQ0KPiBjb250cm9s bGVyIsKgDQo+IHNpbmNlIHlvdSBoYXZlIDIgbm9kZXMgYXQgdGhlIHNhbWUgbGV2ZWwgYW5kIG5v IHVuaXQtYWRkcmVzcyAoaS5lLiBhwqANCj4gcmVnIHByb3BlcnR5KS4NCj4gDQoNClRvIGJlIG1v cmUgY2xhcmlmeSwgd2hhdCBpcyBiZXR0ZXIgd2F5IGRvIGRlc2NyaWJlIHN1Y2ggaGFyZHdhcmUg aW4NCmRldmljZSB0cmVlPw0KDQotLS0tLS0tLS0tLS0twqDCoMKgwqAtLS0tLS0tLS0tLS0twqDC oA0KfCBjcHUgY29yZSAwfMKgwqDCoMKgfCBjcHUgY29yZSAxfMKgwqANCi0tLS0tLS0tLS0tLS3C oMKgwqDCoC0tLS0tLS0tLS0tLS3CoMKgDQp8IGludGVycnVwdCB8wqDCoMKgwqB8IGludGVycnVw dCB8wqDCoA0KfCBjb250cm9sbGVyfMKgwqDCoMKgfCBjb250cm9sbGVyfMKgwqANCnzCoMKgwqDC oMKgMMKgwqDCoMKgwqB8wqDCoMKgwqB8wqDCoMKgwqDCoDHCoMKgwqDCoMKgfMKgwqANCi0tLS0t LS0tLS0tLS3CoMKgwqDCoC0tLS0tLS0tLS0tLS3CoMKgDQrCoMKgwqDCoMKgwqBewqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBeDQrCoMKgwqDCoMKgwqB8wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB8DQrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC0tLS0tLS0tLS0tDQrC oMKgwqDCoMKgwqB8wqDCoMKgwqDCoMKgfA0KLS0tLS0tLS0tLS0tLS0tLQ0KfMKgwqDCoGludGVy cnVwdMKgwqB8DQp8IGRpc3RyaWJ1dGlvbiB8DQp8wqDCoMKgwqDCoHVuaXTCoMKgwqDCoMKgfA0K LS0tLS0tLS0tLS0tLS0tLQ0KwqDCoMKgwqDCoMKgXg0KwqDCoMKgwqDCoMKgfA0KwqDCoMKgwqDC oMKgfDwtLW90aGVyIGRldmljZXMgaW50ZXJydXB0IGxpbmVzDQoNCldlIGNhbid0IGp1c3QgY3Jl YXRlIGEgbm9kZSBmb3IgZWFjaCBjb3JlIGludGVycnVwdCBjb250cm9sbGVyIGJlY2F1c2UNCndl IHdvdWxkbid0IGFibGUgdG8gc3BlY2lmeSB3aGljaCBvbmUgaXMgcGFyZW50IGZvciBpbnRlcnJ1 cHQNCmRpc3RyaWJ1dGlvbiB1bml0Og0KDQotLS0tLS0tLS0tLS0+Pj4tLS0tLS0tLS0tLS0tDQpj cHVzIHsNCsKgwqDCoMKgY3B1QDAgeyBpbnRjQDAgfTsNCsKgwqDCoMKgY3B1QDEgeyBpbnRjQDEg fTsNCn07DQoNCmludGVycnVwdC1kaXN0cmlidXRpb24tdW5pdCB7DQrCoMKgwqDCoGludGVycnVw dC1wYXJlbnQgPSA/Pz8/DQp9Ow0KLS0tLS0tLS0tLS0tPj4+LS0tLS0tLS0tLS0tLQ0KDQpTaG91 bGQgd2Ugc2ltcGx5IGNyZWF0ZSBvbmUgY29yZSBpbnRlcnJ1cHQgY29udHJvbGxlciBub2RlIGZv ciBhbGwgY3B1cw0KKGluc3RlYWQgb2Ygb25lIHBlciBlYWNoIGNwdSBjb3JlKSwgb3Igd2hlcmUg aXMgYSBiZXR0ZXIgb3B0aW9uPw0KDQotLSANCsKgRXVnZW5peSBQYWx0c2V2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752729AbdF2Qj4 (ORCPT ); Thu, 29 Jun 2017 12:39:56 -0400 Received: from smtprelay.synopsys.com ([198.182.60.111]:49969 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751783AbdF2Qjt (ORCPT ); Thu, 29 Jun 2017 12:39:49 -0400 From: Eugeniy Paltsev To: "robh@kernel.org" CC: "linux-kernel@vger.kernel.org" , "Vineet.Gupta1@synopsys.com" , "Eugeniy.Paltsev@synopsys.com" , "Alexey.Brodkin@synopsys.com" , "linux-snps-arc@lists.infradead.org" , "devicetree@vger.kernel.org" Subject: Re: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board Thread-Topic: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board Thread-Index: AQHS7o6C/SwB24S3Y0WazysK8E068qI3KWQAgAAJpYCAA5AXgIABKtsA Date: Thu, 29 Jun 2017 16:39:45 +0000 Message-ID: <1498754384.2378.10.camel@synopsys.com> References: <20170626151118.19507-1-Eugeniy.Paltsev@synopsys.com> <20170626151118.19507-4-Eugeniy.Paltsev@synopsys.com> <1498494334.28955.58.camel@synopsys.com> <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop> In-Reply-To: <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.121.8.106] Content-Type: text/plain; charset="utf-8" Content-ID: <510F4FDEE91E5247BB1E8C004AD14A4A@internal.synopsys.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v5TGdxgt015461 On Wed, 2017-06-28 at 17:50 -0500, Rob Herring wrote: > > > > +                       #clock-cells = <0>; > > > > +                       compatible = "fixed-clock"; > > > > +                       clock-frequency = <1000000000>; > > > > +               }; > > > > + > > > > +               core_intc: archs-intc@cpu { > > > > > > cpu is not a valid unit-address. How are these interrupt > > > controllers addressed? > > > > We have per-core INTC so each core communicates to its own INTC and > > there's no way > > for any core to talk with INTC of another core. > > > > But then we have the next level INTC which is IDU (Interrupt > > Distribution Unit) > > which dispatches "common" IRQs to different upstream per-core INTC, > > see below its node.  > > Okay, I'd just do "cpu-interrupt-controller" for the node name then.  > There doesn't seem to be an easy way to use just "interrupt- > controller"  > since you have 2 nodes at the same level and no unit-address (i.e. a  > reg property). > To be more clarify, what is better way do describe such hardware in device tree? -------------    -------------   | cpu core 0|    | cpu core 1|   -------------    -------------   | interrupt |    | interrupt |   | controller|    | controller|   |     0     |    |     1     |   -------------    -------------         ^                ^       |                |              -----------       |      | ---------------- |   interrupt  | | distribution | |     unit     | ----------------       ^       |       |<--other devices interrupt lines We can't just create a node for each core interrupt controller because we wouldn't able to specify which one is parent for interrupt distribution unit: ------------>>>------------- cpus {     cpu@0 { intc@0 };     cpu@1 { intc@1 }; }; interrupt-distribution-unit {     interrupt-parent = ???? }; ------------>>>------------- Should we simply create one core interrupt controller node for all cpus (instead of one per each cpu core), or where is a better option? --  Eugeniy Paltsev