* [PATCH v4 0/4] brcmfmac: OOB interrupt support @ 2014-06-29 14:16 Hans de Goede [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw) To: John W. Linville Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw Hi All, Here is v2 of the brcmfmac: OOB interrupt support series. Changes since v1: -Post as a stand alone series, rather then together with sunxi pinctrl changes, etc. -Add a patch to fixup the names of the register addresses used in the "brcmfmac: Fix OOB interrupt not working for BCM43362" patch -Use the new register names in: "brcmfmac: Fix OOB interrupt not working for BCM43362" Changes since v2: -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices" * changed the compatible string to brcm,bcm4329-fmac * replaced the dt-bindings example with a real world example -"brcmfmac: Fix OOB interrupt not working for BCM43362" * updated commit message with confirmation from broadcom that this is the right thing to do Regards, Hans ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2014-06-29 14:16 ` Hans de Goede [not found] ` <1404051421-24377-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-06-29 14:16 ` [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices Hans de Goede ` (4 subsequent siblings) 5 siblings, 1 reply; 11+ messages in thread From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw) To: John W. Linville Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> The Broadcom bcm43xx sdio devices are fullmac devices that may be integrated in ARM platforms. Currently, the brcmfmac driver for these devices support use of platform data. This patch specifies the bindings that allow this platform data to be expressed in the devicetree. Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus on how to handle this yet] [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings] Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> --- .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt new file mode 100644 index 0000000..5dbf169 --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt @@ -0,0 +1,41 @@ +Broadcom BCM43xx Fullmac wireless SDIO devices + +This node provides properties for controlling the Broadcom wireless device. The +node is expected to be specified as a child node to the SDIO controller that +connects the device to the system. + +Required properties: + + - compatible : Should be "brcm,bcm4329-fmac". + +Optional properties: + - brcm,drive-strength : drive strength used for SDIO pins on device in mA + (default = 6). + - interrupt-parent : the phandle for the interrupt controller to which the + device interrupts are connected. + - interrupts : specifies attributes for the out-of-band interrupt (host-wake). + When not specified the device will use in-band SDIO interrupts. + - interrupt-names : name of the out-of-band interrupt, which must be set + to "host-wake". + +Example: + +mmc3: mmc@01c12000 { + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&mmc3_pins_a>; + vmmc-supply = <®_vmmc3>; + bus-width = <4>; + non-removable; + status = "okay"; + + brcmf: bcrmf@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + interrupt-parent = <&pio>; + interrupts = <10 8>; /* PH10 / EINT10 */ + interrupt-names = "host-wake"; + }; +}; -- 2.0.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
[parent not found: <1404051421-24377-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices [not found] ` <1404051421-24377-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2014-06-30 8:31 ` Arend van Spriel [not found] ` <53B12059.50808-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> 2014-07-07 18:23 ` John W. Linville 1 sibling, 1 reply; 11+ messages in thread From: Arend van Spriel @ 2014-06-30 8:31 UTC (permalink / raw) To: Hans de Goede, John W. Linville Cc: Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw On 29-06-14 16:16, Hans de Goede wrote: > From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > > The Broadcom bcm43xx sdio devices are fullmac devices that may be > integrated in ARM platforms. Currently, the brcmfmac driver for > these devices support use of platform data. This patch specifies > the bindings that allow this platform data to be expressed in the > devicetree. > > Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus > on how to handle this yet] > [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings] > Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > --- > .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt > > diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt > new file mode 100644 > index 0000000..5dbf169 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt > @@ -0,0 +1,41 @@ > +Broadcom BCM43xx Fullmac wireless SDIO devices > + > +This node provides properties for controlling the Broadcom wireless device. The > +node is expected to be specified as a child node to the SDIO controller that > +connects the device to the system. > + > +Required properties: > + > + - compatible : Should be "brcm,bcm4329-fmac". > + > +Optional properties: > + - brcm,drive-strength : drive strength used for SDIO pins on device in mA > + (default = 6). > + - interrupt-parent : the phandle for the interrupt controller to which the > + device interrupts are connected. > + - interrupts : specifies attributes for the out-of-band interrupt (host-wake). > + When not specified the device will use in-band SDIO interrupts. > + - interrupt-names : name of the out-of-band interrupt, which must be set > + to "host-wake". > + > +Example: > + > +mmc3: mmc@01c12000 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc3_pins_a>; > + vmmc-supply = <®_vmmc3>; > + bus-width = <4>; > + non-removable; > + status = "okay"; > + > + brcmf: bcrmf@1 { > + reg = <1>; I guess the reg property is needed to have this node linked to sdio func 1 dev, right? I would add it to the list of required properties above even if this behaviour is already described in a more generic binding. Regards, Arend > + compatible = "brcm,bcm4329-fmac"; > + interrupt-parent = <&pio>; > + interrupts = <10 8>; /* PH10 / EINT10 */ > + interrupt-names = "host-wake"; > + }; > +}; > ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <53B12059.50808-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>]
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices [not found] ` <53B12059.50808-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> @ 2014-06-30 9:09 ` Hans de Goede 0 siblings, 0 replies; 11+ messages in thread From: Hans de Goede @ 2014-06-30 9:09 UTC (permalink / raw) To: Arend van Spriel, John W. Linville Cc: Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw Hi, On 06/30/2014 10:31 AM, Arend van Spriel wrote: > On 29-06-14 16:16, Hans de Goede wrote: >> From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> >> The Broadcom bcm43xx sdio devices are fullmac devices that may be >> integrated in ARM platforms. Currently, the brcmfmac driver for >> these devices support use of platform data. This patch specifies >> the bindings that allow this platform data to be expressed in the >> devicetree. >> >> Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus >> on how to handle this yet] >> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings] >> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >> --- >> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++ >> 1 file changed, 41 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt >> >> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt >> new file mode 100644 >> index 0000000..5dbf169 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt >> @@ -0,0 +1,41 @@ >> +Broadcom BCM43xx Fullmac wireless SDIO devices >> + >> +This node provides properties for controlling the Broadcom wireless device. The >> +node is expected to be specified as a child node to the SDIO controller that >> +connects the device to the system. >> + >> +Required properties: >> + >> + - compatible : Should be "brcm,bcm4329-fmac". >> + >> +Optional properties: >> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA >> + (default = 6). >> + - interrupt-parent : the phandle for the interrupt controller to which the >> + device interrupts are connected. >> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake). >> + When not specified the device will use in-band SDIO interrupts. >> + - interrupt-names : name of the out-of-band interrupt, which must be set >> + to "host-wake". >> + >> +Example: >> + >> +mmc3: mmc@01c12000 { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&mmc3_pins_a>; >> + vmmc-supply = <®_vmmc3>; >> + bus-width = <4>; >> + non-removable; >> + status = "okay"; >> + >> + brcmf: bcrmf@1 { >> + reg = <1>; > > I guess the reg property is needed to have this node linked to sdio func > 1 dev, right? Right. > I would add it to the list of required properties above > even if this behaviour is already described in a more generic binding. Then we would also need to describe the need to add: #address-cells = <1>; #size-cells = <0>; To the mmc-host node itself, I don't think that that really belongs here, and thus the description of the reg property itself also does not really belong here IMHO. Regards, Hans ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices [not found] ` <1404051421-24377-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-06-30 8:31 ` Arend van Spriel @ 2014-07-07 18:23 ` John W. Linville [not found] ` <20140707182302.GA29650-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> 1 sibling, 1 reply; 11+ messages in thread From: John W. Linville @ 2014-07-07 18:23 UTC (permalink / raw) To: Hans de Goede Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw Any word from the devicetree folks? On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote: > From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > > The Broadcom bcm43xx sdio devices are fullmac devices that may be > integrated in ARM platforms. Currently, the brcmfmac driver for > these devices support use of platform data. This patch specifies > the bindings that allow this platform data to be expressed in the > devicetree. > > Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus > on how to handle this yet] > [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings] > Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > --- > .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt > > diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt > new file mode 100644 > index 0000000..5dbf169 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt > @@ -0,0 +1,41 @@ > +Broadcom BCM43xx Fullmac wireless SDIO devices > + > +This node provides properties for controlling the Broadcom wireless device. The > +node is expected to be specified as a child node to the SDIO controller that > +connects the device to the system. > + > +Required properties: > + > + - compatible : Should be "brcm,bcm4329-fmac". > + > +Optional properties: > + - brcm,drive-strength : drive strength used for SDIO pins on device in mA > + (default = 6). > + - interrupt-parent : the phandle for the interrupt controller to which the > + device interrupts are connected. > + - interrupts : specifies attributes for the out-of-band interrupt (host-wake). > + When not specified the device will use in-band SDIO interrupts. > + - interrupt-names : name of the out-of-band interrupt, which must be set > + to "host-wake". > + > +Example: > + > +mmc3: mmc@01c12000 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc3_pins_a>; > + vmmc-supply = <®_vmmc3>; > + bus-width = <4>; > + non-removable; > + status = "okay"; > + > + brcmf: bcrmf@1 { > + reg = <1>; > + compatible = "brcm,bcm4329-fmac"; > + interrupt-parent = <&pio>; > + interrupts = <10 8>; /* PH10 / EINT10 */ > + interrupt-names = "host-wake"; > + }; > +}; > -- > 2.0.0 > > -- John W. Linville Someday the world will need a hero, and you linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org might be all we have. Be ready. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <20140707182302.GA29650-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>]
* Re: Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices [not found] ` <20140707182302.GA29650-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> @ 2014-07-08 6:55 ` Hans de Goede 0 siblings, 0 replies; 11+ messages in thread From: Hans de Goede @ 2014-07-08 6:55 UTC (permalink / raw) To: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree Hi, On 07/07/2014 08:23 PM, John W. Linville wrote: > Any word from the devicetree folks? We changed the compatible string from brcm,bcm43xx-fmac to brcm,bcm4329-fmac at their request, that is the only feedback we've gotten from them AFAIK. Regards, Hans > > On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote: >> From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> >> The Broadcom bcm43xx sdio devices are fullmac devices that may be >> integrated in ARM platforms. Currently, the brcmfmac driver for >> these devices support use of platform data. This patch specifies >> the bindings that allow this platform data to be expressed in the >> devicetree. >> >> Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus >> on how to handle this yet] >> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings] >> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >> --- >> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++ >> 1 file changed, 41 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt >> >> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt >> new file mode 100644 >> index 0000000..5dbf169 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt >> @@ -0,0 +1,41 @@ >> +Broadcom BCM43xx Fullmac wireless SDIO devices >> + >> +This node provides properties for controlling the Broadcom wireless device. The >> +node is expected to be specified as a child node to the SDIO controller that >> +connects the device to the system. >> + >> +Required properties: >> + >> + - compatible : Should be "brcm,bcm4329-fmac". >> + >> +Optional properties: >> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA >> + (default = 6). >> + - interrupt-parent : the phandle for the interrupt controller to which the >> + device interrupts are connected. >> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake). >> + When not specified the device will use in-band SDIO interrupts. >> + - interrupt-names : name of the out-of-band interrupt, which must be set >> + to "host-wake". >> + >> +Example: >> + >> +mmc3: mmc@01c12000 { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&mmc3_pins_a>; >> + vmmc-supply = <®_vmmc3>; >> + bus-width = <4>; >> + non-removable; >> + status = "okay"; >> + >> + brcmf: bcrmf@1 { >> + reg = <1>; >> + compatible = "brcm,bcm4329-fmac"; >> + interrupt-parent = <&pio>; >> + interrupts = <10 8>; /* PH10 / EINT10 */ >> + interrupt-names = "host-wake"; >> + }; >> +}; >> -- >> 2.0.0 >> >> > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-06-29 14:16 ` [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices Hans de Goede @ 2014-06-29 14:16 ` Hans de Goede 2014-06-29 14:17 ` [PATCH v3 3/4] brcmfmac: Fix some wrong register defines Hans de Goede ` (3 subsequent siblings) 5 siblings, 0 replies; 11+ messages in thread From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw) To: John W. Linville Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede From: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org> brcmfmac devices can use an out-of-band interrupt on a GPIO line. Currently this is specified using platform data. Add support for specifying out-of-band interrupt via device tree. Signed-off-by: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org> [arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org: conditionalize more of-code, use driver debug routines] Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus on how to handle this yet] Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> --- drivers/net/wireless/brcm80211/brcmfmac/Makefile | 2 + drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 4 ++ drivers/net/wireless/brcm80211/brcmfmac/of.c | 56 ++++++++++++++++++++++++ drivers/net/wireless/brcm80211/brcmfmac/of.h | 22 ++++++++++ 4 files changed, 84 insertions(+) create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.c create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.h diff --git a/drivers/net/wireless/brcm80211/brcmfmac/Makefile b/drivers/net/wireless/brcm80211/brcmfmac/Makefile index 98e67c1..e2752cb 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/Makefile +++ b/drivers/net/wireless/brcm80211/brcmfmac/Makefile @@ -44,3 +44,5 @@ brcmfmac-$(CONFIG_BRCMDBG) += \ dhd_dbg.o brcmfmac-$(CONFIG_BRCM_TRACING) += \ tracepoint.o +brcmfmac-$(CONFIG_OF) += \ + of.o diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c index a16e644..0fc707c 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c @@ -43,6 +43,7 @@ #include "dhd_bus.h" #include "dhd_dbg.h" #include "sdio_host.h" +#include "of.h" #define SDIOH_API_ACCESS_RETRY_LIMIT 2 @@ -1043,6 +1044,9 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, sdiodev->dev = &sdiodev->func[1]->dev; sdiodev->pdata = brcmfmac_sdio_pdata; + if (!sdiodev->pdata) + brcmf_of_probe(sdiodev); + atomic_set(&sdiodev->suspend, false); init_waitqueue_head(&sdiodev->request_word_wait); init_waitqueue_head(&sdiodev->request_buffer_wait); diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.c b/drivers/net/wireless/brcm80211/brcmfmac/of.c new file mode 100644 index 0000000..f05f527 --- /dev/null +++ b/drivers/net/wireless/brcm80211/brcmfmac/of.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2014 Broadcom Corporation + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +#include <linux/init.h> +#include <linux/of.h> +#include <linux/of_irq.h> +#include <linux/mmc/card.h> +#include <linux/platform_data/brcmfmac-sdio.h> +#include <linux/mmc/sdio_func.h> + +#include <defs.h> +#include "dhd_dbg.h" +#include "sdio_host.h" + +void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev) +{ + struct device *dev = sdiodev->dev; + struct device_node *np = dev->of_node; + int irq; + u32 irqf; + u32 val; + + if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac")) + return; + + sdiodev->pdata = devm_kzalloc(dev, sizeof(*sdiodev->pdata), GFP_KERNEL); + if (!sdiodev->pdata) + return; + + irq = irq_of_parse_and_map(np, 0); + if (irq < 0) { + brcmf_err("interrupt could not be mapped: err=%d\n", irq); + devm_kfree(dev, sdiodev->pdata); + return; + } + irqf = irqd_get_trigger_type(irq_get_irq_data(irq)); + + sdiodev->pdata->oob_irq_supported = true; + sdiodev->pdata->oob_irq_nr = irq; + sdiodev->pdata->oob_irq_flags = irqf; + + if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0) + sdiodev->pdata->drive_strength = val; +} diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.h b/drivers/net/wireless/brcm80211/brcmfmac/of.h new file mode 100644 index 0000000..5f7c355 --- /dev/null +++ b/drivers/net/wireless/brcm80211/brcmfmac/of.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014 Broadcom Corporation + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +#ifdef CONFIG_OF +void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev); +#else +static void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev) +{ +} +#endif /* CONFIG_OF */ -- 2.0.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 3/4] brcmfmac: Fix some wrong register defines [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-06-29 14:16 ` [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices Hans de Goede 2014-06-29 14:16 ` [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices Hans de Goede @ 2014-06-29 14:17 ` Hans de Goede 2014-06-29 14:17 ` [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362 Hans de Goede ` (2 subsequent siblings) 5 siblings, 0 replies; 11+ messages in thread From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw) To: John W. Linville Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> --- drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h index 3deab79..6e6a366 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h +++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h @@ -72,12 +72,12 @@ #define SBSDIO_SPROM_DATA_HIGH 0x10003 /* sprom indirect access addr byte 0 */ #define SBSDIO_SPROM_ADDR_LOW 0x10004 -/* sprom indirect access addr byte 0 */ -#define SBSDIO_SPROM_ADDR_HIGH 0x10005 -/* xtal_pu (gpio) output */ -#define SBSDIO_CHIP_CTRL_DATA 0x10006 -/* xtal_pu (gpio) enable */ -#define SBSDIO_CHIP_CTRL_EN 0x10007 +/* gpio select */ +#define SBSDIO_GPIO_SELECT 0x10005 +/* gpio output */ +#define SBSDIO_GPIO_OUT 0x10006 +/* gpio enable */ +#define SBSDIO_GPIO_EN 0x10007 /* rev < 7, watermark for sdio device */ #define SBSDIO_WATERMARK 0x10008 /* control busy signal generation */ -- 2.0.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362 [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> ` (2 preceding siblings ...) 2014-06-29 14:17 ` [PATCH v3 3/4] brcmfmac: Fix some wrong register defines Hans de Goede @ 2014-06-29 14:17 ` Hans de Goede 2014-06-30 8:15 ` [PATCH v4 0/4] brcmfmac: OOB interrupt support Arend van Spriel 2014-07-15 20:58 ` John W. Linville 5 siblings, 0 replies; 11+ messages in thread From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw) To: John W. Linville Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede It has taken me a long long time to get the OOB interrupt working on the AP6210 sdio wifi/bt module found on various Allwinner A20 boards. In the end I found these magic register pokes in the cubietruck kernel tree: https://github.com/cubieboard2/linux-sunxi/commit/7f08ba395617d17e7a711507503d89a50406fe7a This is also done for the bcm43362 in broadcom's internal/proprietary driver. Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Reviewed-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> --- drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c index 0fc707c..58e86a5 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c @@ -39,7 +39,9 @@ #include <brcm_hw_ids.h> #include <brcmu_utils.h> #include <brcmu_wifi.h> +#include <chipcommon.h> #include <soc.h> +#include "chip.h" #include "dhd_bus.h" #include "dhd_dbg.h" #include "sdio_host.h" @@ -119,6 +121,7 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev) { int ret = 0; u8 data; + u32 addr, gpiocontrol; unsigned long flags; if ((sdiodev->pdata) && (sdiodev->pdata->oob_irq_supported)) { @@ -148,6 +151,19 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev) sdio_claim_host(sdiodev->func[1]); + if (sdiodev->bus_if->chip == BCM43362_CHIP_ID) { + /* assign GPIO to SDIO core */ + addr = CORE_CC_REG(SI_ENUM_BASE, gpiocontrol); + gpiocontrol = brcmf_sdiod_regrl(sdiodev, addr, &ret); + gpiocontrol |= 0x2; + brcmf_sdiod_regwl(sdiodev, addr, gpiocontrol, &ret); + + brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_SELECT, 0xf, + &ret); + brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_OUT, 0, &ret); + brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_EN, 0x2, &ret); + } + /* must configure SDIO_CCCR_IENx to enable irq */ data = brcmf_sdiod_regrb(sdiodev, SDIO_CCCR_IENx, &ret); data |= 1 << SDIO_FUNC_1 | 1 << SDIO_FUNC_2 | 1; -- 2.0.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/4] brcmfmac: OOB interrupt support [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> ` (3 preceding siblings ...) 2014-06-29 14:17 ` [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362 Hans de Goede @ 2014-06-30 8:15 ` Arend van Spriel 2014-07-15 20:58 ` John W. Linville 5 siblings, 0 replies; 11+ messages in thread From: Arend van Spriel @ 2014-06-30 8:15 UTC (permalink / raw) To: Hans de Goede, John W. Linville Cc: Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw On 29-06-14 16:16, Hans de Goede wrote: > Hi All, > > Here is v2 of the brcmfmac: OOB interrupt support series. I guess this could use an update :-p Regards, Arend > Changes since v1: > -Post as a stand alone series, rather then together with sunxi pinctrl changes, > etc. > -Add a patch to fixup the names of the register addresses used in the > "brcmfmac: Fix OOB interrupt not working for BCM43362" patch > -Use the new register names in: > "brcmfmac: Fix OOB interrupt not working for BCM43362" > > Changes since v2: > -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices" > * changed the compatible string to brcm,bcm4329-fmac > * replaced the dt-bindings example with a real world example > -"brcmfmac: Fix OOB interrupt not working for BCM43362" > * updated commit message with confirmation from broadcom that this is the > right thing to do > > Regards, > > Hans > -- 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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/4] brcmfmac: OOB interrupt support [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> ` (4 preceding siblings ...) 2014-06-30 8:15 ` [PATCH v4 0/4] brcmfmac: OOB interrupt support Arend van Spriel @ 2014-07-15 20:58 ` John W. Linville 5 siblings, 0 replies; 11+ messages in thread From: John W. Linville @ 2014-07-15 20:58 UTC (permalink / raw) To: Hans de Goede Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw The patch "brcmfmac: Cleanup used device IDs." makes this series not build. Unfortunately, I already merged that one... Would you mind rebasing/reposting this? Sorry... John On Sun, Jun 29, 2014 at 04:16:57PM +0200, Hans de Goede wrote: > Hi All, > > Here is v2 of the brcmfmac: OOB interrupt support series. > > Changes since v1: > -Post as a stand alone series, rather then together with sunxi pinctrl changes, > etc. > -Add a patch to fixup the names of the register addresses used in the > "brcmfmac: Fix OOB interrupt not working for BCM43362" patch > -Use the new register names in: > "brcmfmac: Fix OOB interrupt not working for BCM43362" > > Changes since v2: > -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices" > * changed the compatible string to brcm,bcm4329-fmac > * replaced the dt-bindings example with a real world example > -"brcmfmac: Fix OOB interrupt not working for BCM43362" > * updated commit message with confirmation from broadcom that this is the > right thing to do > > Regards, > > Hans > -- John W. Linville Someday the world will need a hero, and you linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org might be all we have. Be ready. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-07-15 20:58 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-06-29 14:16 [PATCH v4 0/4] brcmfmac: OOB interrupt support Hans de Goede [not found] ` <1404051421-24377-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-06-29 14:16 ` [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices Hans de Goede [not found] ` <1404051421-24377-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-06-30 8:31 ` Arend van Spriel [not found] ` <53B12059.50808-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> 2014-06-30 9:09 ` Hans de Goede 2014-07-07 18:23 ` John W. Linville [not found] ` <20140707182302.GA29650-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> 2014-07-08 6:55 ` Hans de Goede 2014-06-29 14:16 ` [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices Hans de Goede 2014-06-29 14:17 ` [PATCH v3 3/4] brcmfmac: Fix some wrong register defines Hans de Goede 2014-06-29 14:17 ` [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362 Hans de Goede 2014-06-30 8:15 ` [PATCH v4 0/4] brcmfmac: OOB interrupt support Arend van Spriel 2014-07-15 20:58 ` John W. Linville
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).