From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from hauke-m.de ([5.39.93.123]:54225 "EHLO hauke-m.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751977AbaIMQCZ (ORCPT ); Sat, 13 Sep 2014 12:02:25 -0400 Message-ID: <54146A8D.1060704@hauke-m.de> (sfid-20140913_180228_634777_48D6608B) Date: Sat, 13 Sep 2014 18:02:21 +0200 From: Hauke Mehrtens MIME-Version: 1.0 To: Arend van Spriel CC: linux-wireless@vger.kernel.org, zajec5@gmail.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, arnd@arndb.de Subject: Re: [PATCH 1/2] bcma: register bcma as device tree driver References: <1410615446-7639-1-git-send-email-hauke@hauke-m.de> <54145F0E.8000506@broadcom.com> In-Reply-To: <54145F0E.8000506@broadcom.com> Content-Type: text/plain; charset=windows-1252 Sender: linux-wireless-owner@vger.kernel.org List-ID: On 09/13/2014 05:13 PM, Arend van Spriel wrote: > On 09/13/14 15:37, Hauke Mehrtens wrote: >> This driver is used by the bcm53xx ARM SoC code. Now it is possible to >> give the address of the chipcommon core in device tree and bcma will >> search for all the other cores. >> >> Signed-off-by: Hauke Mehrtens >> --- >> Documentation/devicetree/bindings/bus/bcma.txt | 41 +++++++++++++ >> drivers/bcma/bcma_private.h | 16 +++++ >> drivers/bcma/host_soc.c | 82 >> ++++++++++++++++++++++++++ >> drivers/bcma/main.c | 10 ++++ >> include/linux/bcma/bcma.h | 2 + >> 5 files changed, 151 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/bus/bcma.txt >> >> This is based on wireless-testing and should go into that tree. >> >> changes since: >> RFC: >> - reworded the irq description >> - improved the example >> - hocked into bcma_modeinit() and bcma_modexit() >> >> diff --git a/Documentation/devicetree/bindings/bus/bcma.txt >> b/Documentation/devicetree/bindings/bus/bcma.txt >> new file mode 100644 >> index 0000000..17e095f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/bus/bcma.txt >> @@ -0,0 +1,41 @@ >> +Broadcom AIX SoC bcma bus driver > > Hi Hauke, > > First of all a typo used all over the place: AIX should be AXI. I will fix that. > The backplane in Broadcom SoC is ARM AXI with additional plugin option > to make it discoverable. Indeed the IRQ info is not included, but I see > no reason for specifying the register space for the cores in device-tree > as that is discoverable by bcma. I specified the register space to make it possible to connect the device tree entry with the core. After the cores are automatically discovered, bcma searches for entry core found, for an device tree entry with the same address space and uses the irq number from that entry. If there is a core defined in device tree which is not found by bcma it will just be ignored. If a core is not specified in device tree it will get registered, but it will not get an IRQ. This was the most stable way I came up with, I also thought about using the core number, like assign the this IRQ to core number 5, but the core numbers could change when we do changes to bcma. In the Broadcom vendor code there is a list with the IRQ numbers which get assigned to a specific core type. For example there is a list with 4 IRQ numbers which get assigned to the first 4 Ethernet cores. This would also work, but I do not know how to do this in device tree. Hauke From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hauke Mehrtens Subject: Re: [PATCH 1/2] bcma: register bcma as device tree driver Date: Sat, 13 Sep 2014 18:02:21 +0200 Message-ID: <54146A8D.1060704@hauke-m.de> References: <1410615446-7639-1-git-send-email-hauke@hauke-m.de> <54145F0E.8000506@broadcom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <54145F0E.8000506-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Sender: linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Arend van Spriel Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org List-Id: devicetree@vger.kernel.org On 09/13/2014 05:13 PM, Arend van Spriel wrote: > On 09/13/14 15:37, Hauke Mehrtens wrote: >> This driver is used by the bcm53xx ARM SoC code. Now it is possible to >> give the address of the chipcommon core in device tree and bcma will >> search for all the other cores. >> >> Signed-off-by: Hauke Mehrtens >> --- >> Documentation/devicetree/bindings/bus/bcma.txt | 41 +++++++++++++ >> drivers/bcma/bcma_private.h | 16 +++++ >> drivers/bcma/host_soc.c | 82 >> ++++++++++++++++++++++++++ >> drivers/bcma/main.c | 10 ++++ >> include/linux/bcma/bcma.h | 2 + >> 5 files changed, 151 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/bus/bcma.txt >> >> This is based on wireless-testing and should go into that tree. >> >> changes since: >> RFC: >> - reworded the irq description >> - improved the example >> - hocked into bcma_modeinit() and bcma_modexit() >> >> diff --git a/Documentation/devicetree/bindings/bus/bcma.txt >> b/Documentation/devicetree/bindings/bus/bcma.txt >> new file mode 100644 >> index 0000000..17e095f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/bus/bcma.txt >> @@ -0,0 +1,41 @@ >> +Broadcom AIX SoC bcma bus driver > > Hi Hauke, > > First of all a typo used all over the place: AIX should be AXI. I will fix that. > The backplane in Broadcom SoC is ARM AXI with additional plugin option > to make it discoverable. Indeed the IRQ info is not included, but I see > no reason for specifying the register space for the cores in device-tree > as that is discoverable by bcma. I specified the register space to make it possible to connect the device tree entry with the core. After the cores are automatically discovered, bcma searches for entry core found, for an device tree entry with the same address space and uses the irq number from that entry. If there is a core defined in device tree which is not found by bcma it will just be ignored. If a core is not specified in device tree it will get registered, but it will not get an IRQ. This was the most stable way I came up with, I also thought about using the core number, like assign the this IRQ to core number 5, but the core numbers could change when we do changes to bcma. In the Broadcom vendor code there is a list with the IRQ numbers which get assigned to a specific core type. For example there is a list with 4 IRQ numbers which get assigned to the first 4 Ethernet cores. This would also work, but I do not know how to do this in device tree. Hauke -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" 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 From: hauke@hauke-m.de (Hauke Mehrtens) Date: Sat, 13 Sep 2014 18:02:21 +0200 Subject: [PATCH 1/2] bcma: register bcma as device tree driver In-Reply-To: <54145F0E.8000506@broadcom.com> References: <1410615446-7639-1-git-send-email-hauke@hauke-m.de> <54145F0E.8000506@broadcom.com> Message-ID: <54146A8D.1060704@hauke-m.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 09/13/2014 05:13 PM, Arend van Spriel wrote: > On 09/13/14 15:37, Hauke Mehrtens wrote: >> This driver is used by the bcm53xx ARM SoC code. Now it is possible to >> give the address of the chipcommon core in device tree and bcma will >> search for all the other cores. >> >> Signed-off-by: Hauke Mehrtens >> --- >> Documentation/devicetree/bindings/bus/bcma.txt | 41 +++++++++++++ >> drivers/bcma/bcma_private.h | 16 +++++ >> drivers/bcma/host_soc.c | 82 >> ++++++++++++++++++++++++++ >> drivers/bcma/main.c | 10 ++++ >> include/linux/bcma/bcma.h | 2 + >> 5 files changed, 151 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/bus/bcma.txt >> >> This is based on wireless-testing and should go into that tree. >> >> changes since: >> RFC: >> - reworded the irq description >> - improved the example >> - hocked into bcma_modeinit() and bcma_modexit() >> >> diff --git a/Documentation/devicetree/bindings/bus/bcma.txt >> b/Documentation/devicetree/bindings/bus/bcma.txt >> new file mode 100644 >> index 0000000..17e095f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/bus/bcma.txt >> @@ -0,0 +1,41 @@ >> +Broadcom AIX SoC bcma bus driver > > Hi Hauke, > > First of all a typo used all over the place: AIX should be AXI. I will fix that. > The backplane in Broadcom SoC is ARM AXI with additional plugin option > to make it discoverable. Indeed the IRQ info is not included, but I see > no reason for specifying the register space for the cores in device-tree > as that is discoverable by bcma. I specified the register space to make it possible to connect the device tree entry with the core. After the cores are automatically discovered, bcma searches for entry core found, for an device tree entry with the same address space and uses the irq number from that entry. If there is a core defined in device tree which is not found by bcma it will just be ignored. If a core is not specified in device tree it will get registered, but it will not get an IRQ. This was the most stable way I came up with, I also thought about using the core number, like assign the this IRQ to core number 5, but the core numbers could change when we do changes to bcma. In the Broadcom vendor code there is a list with the IRQ numbers which get assigned to a specific core type. For example there is a list with 4 IRQ numbers which get assigned to the first 4 Ethernet cores. This would also work, but I do not know how to do this in device tree. Hauke