lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <10789434.psaOHqdiec@diego>
Date:   Mon, 11 Feb 2019 13:33:08 +0100
From:   Heiko Stübner <heiko@...ech.de>
To:     Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Cc:     Peter Robinson <pbrobinson@...il.com>,
        linux-rockchip@...ts.infradead.org,
        linux-arm-kernel@...ts.infradead.org, ezequiel@...labora.com,
        tom@...rs.com, dev@...rs.com, linux-kernel@...r.kernel.org,
        mani@...nel.org
Subject: Re: [PATCH] arm64: dts: rockchip: Add on-board WiFi/BT support for Rock960 boards

Am Montag, 11. Februar 2019, 12:31:28 CET schrieb Manivannan Sadhasivam:
> Hi Peter,
> 
> On Fri, Feb 08, 2019 at 04:45:01PM +0000, Peter Robinson wrote:
> > Hi Mani,
> > 
> > On Thu, Feb 7, 2019 at 5:54 AM Manivannan Sadhasivam
> > 
> > <manivannan.sadhasivam@...aro.org> wrote:
> > > Add on-board WiFi/BT support for Rock960 boards such as Rock960 based
> > > on AP6356S and Ficus based on AP6354 wireless modules.
> > > 
> > > Firmwares for the respective boards are available here:
> > > 
> > > http://people.linaro.org/~manivannan.sadhasivam/rock960_wifi/
> > > http://people.linaro.org/~manivannan.sadhasivam/ficus_wifi/
> > > 
> > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
> > 
> > There's some warnings on building these I noticed in testing this on 
Fedora:
> >   DTC     arch/arm64/boot/dts/rockchip/rk3399-ficus.dtb
> > 
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi:490.3-13: Warning
> > (reg_format): /dwmmc@...10000/wifi@1:reg: property has invalid length
> > (4 bytes) (#address-cells == 2, #size-cells == 1)
> > arch/arm64/boot/dts/rockchip/rk3399-ficus.dtb: Warning
> > (pci_device_bus_num): Failed prerequisite 'reg_format'
> > arch/arm64/boot/dts/rockchip/rk3399-ficus.dtb: Warning (i2c_bus_reg):
> > Failed prerequisite 'reg_format'
> > arch/arm64/boot/dts/rockchip/rk3399-ficus.dtb: Warning (spi_bus_reg):
> > Failed prerequisite 'reg_format'
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi:488.16-496.4: Warning
> > (avoid_default_addr_size): /dwmmc@...10000/wifi@1: Relying on default
> > #address-cells value
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi:488.16-496.4: Warning
> > (avoid_default_addr_size): /dwmmc@...10000/wifi@1: Relying on default
> > #size-cells value
> > 
> >   DTC     arch/arm64/boot/dts/rockchip/rk3399-rock960.dtb
> > 
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi:490.3-13: Warning
> > (reg_format): /dwmmc@...10000/wifi@1:reg: property has invalid length
> > (4 bytes) (#address-cells == 2, #size-cells == 1)
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtb: Warning
> > (pci_device_bus_num): Failed prerequisite 'reg_format'
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtb: Warning
> > (i2c_bus_reg): Failed prerequisite 'reg_format'
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtb: Warning
> > (spi_bus_reg): Failed prerequisite 'reg_format'
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi:488.16-496.4: Warning
> > (avoid_default_addr_size): /dwmmc@...10000/wifi@1: Relying on default
> > #address-cells value
> > arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi:488.16-496.4: Warning
> > (avoid_default_addr_size): /dwmmc@...10000/wifi@1: Relying on default
> > #size-cells value
> 
> Hmm. Since the parent node "sdio0" is missing the address/size cells
> property, the default value has been used by the DTC. I think it would
> make sense to just drop the reg property from "wifi" node instead of
> modifying the parent "sdio0" node.
> 
> If no one has any issue over this, I'll send out another revision with the
> reg property removed.

actually I do think you might just want to add address+size-cells
to your &sdio0 instance instead. Especially as I'm not sure that the
system will find the card-node when matching against the card itself
without the reg property?

The core sdio0 does not necessarily have subnodes, so I guess
the *-cells may just live in the board dts?


Heiko



> > > ---
> > > 
> > >  .../boot/dts/rockchip/rk3399-rock960.dtsi     | 96 ++++++++++++++++++-
> > >  1 file changed, 95 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> > > b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi index
> > > 56abbb08c133..1b2f7cd82244 100644
> > > --- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> > > +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> > > @@ -9,6 +9,15 @@
> > > 
> > >  #include "rk3399-opp.dtsi"
> > >  
> > >  / {
> > > 
> > > +       sdio_pwrseq: sdio-pwrseq {
> > > +               compatible = "mmc-pwrseq-simple";
> > > +               clocks = <&rk808 1>;
> > > +               clock-names = "ext_clock";
> > > +               pinctrl-names = "default";
> > > +               pinctrl-0 = <&wifi_enable_h>;
> > > +               reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
> > > +       };
> > > +
> > > 
> > >         vcc1v8_s0: vcc1v8-s0 {
> > >         
> > >                 compatible = "regulator-fixed";
> > >                 regulator-name = "vcc1v8_s0";
> > > 
> > > @@ -362,6 +371,20 @@
> > > 
> > >  };
> > >  
> > >  &pinctrl {
> > > 
> > > +       bt {
> > > +               bt_enable_h: bt-enable-h {
> > > +                       rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO
> > > &pcfg_pull_none>; +               };
> > > +
> > > +               bt_host_wake_l: bt-host-wake-l {
> > > +                       rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO
> > > &pcfg_pull_none>; +               };
> > > +
> > > +               bt_wake_l: bt-wake-l {
> > > +                       rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO
> > > &pcfg_pull_none>; +               };
> > > +       };
> > > +
> > > 
> > >         sdmmc {
> > >         
> > >                 sdmmc_bus1: sdmmc-bus1 {
> > >                 
> > >                         rockchip,pins =
> > > 
> > > @@ -387,6 +410,26 @@
> > > 
> > >                 };
> > >         
> > >         };
> > > 
> > > +       sdio0 {
> > > +               sdio0_bus4: sdio0-bus4 {
> > > +                       rockchip,pins =
> > > +                               <2 20 RK_FUNC_1 &pcfg_pull_up_20ma>,
> > > +                               <2 21 RK_FUNC_1 &pcfg_pull_up_20ma>,
> > > +                               <2 22 RK_FUNC_1 &pcfg_pull_up_20ma>,
> > > +                               <2 23 RK_FUNC_1 &pcfg_pull_up_20ma>;
> > > +               };
> > > +
> > > +               sdio0_cmd: sdio0-cmd {
> > > +                       rockchip,pins =
> > > +                               <2 24 RK_FUNC_1 &pcfg_pull_up_20ma>;
> > > +               };
> > > +
> > > +               sdio0_clk: sdio0-clk {
> > > +                       rockchip,pins =
> > > +                               <2 25 RK_FUNC_1 &pcfg_pull_none_20ma>;
> > > +               };
> > > +       };
> > > +
> > > 
> > >         pmic {
> > >         
> > >                 pmic_int_l: pmic-int-l {
> > >                 
> > >                         rockchip,pins =
> > > 
> > > @@ -403,6 +446,19 @@
> > > 
> > >                                 <1 14 RK_FUNC_GPIO &pcfg_pull_down>;
> > >                 
> > >                 };
> > >         
> > >         };
> > > 
> > > +
> > > +       sdio-pwrseq {
> > > +               wifi_enable_h: wifi-enable-h {
> > > +                       rockchip,pins =
> > > +                               <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
> > > +               };
> > > +       };
> > > +
> > > +       wifi {
> > > +               wifi_host_wake_l: wifi-host-wake-l {
> > > +                       rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO
> > > &pcfg_pull_none>; +               };
> > > +       };
> > > 
> > >  };
> > >  
> > >  &pwm2 {
> > > 
> > > @@ -413,6 +469,33 @@
> > > 
> > >         status = "okay";
> > >  
> > >  };
> > > 
> > > +&sdio0 {
> > > +       clock-frequency = <50000000>;
> > > +       bus-width = <4>;
> > > +       cap-sdio-irq;
> > > +       cap-sd-highspeed;
> > > +       no-emmc;
> > > +       keep-power-in-suspend;
> > > +       mmc-pwrseq = <&sdio_pwrseq>;
> > > +       non-removable;
> > > +       num-slots = <1>;
> > > +       pinctrl-names = "default";
> > > +       pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
> > > +       sd-uhs-sdr104;
> > > +
> > > +       status = "okay";
> > > +
> > > +       brcmf: wifi@1 {
> > > +               compatible = "brcm,bcm4329-fmac";
> > > +               reg = <1>;
> > > +               interrupt-parent = <&gpio0>;
> > > +               interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
> > > +               interrupt-names = "host-wake";
> > > +               pinctrl-names = "default";
> > > +               pinctrl-0 = <&wifi_host_wake_l>;
> > > +       };
> > > +};
> > > +
> > > 
> > >  &sdhci {
> > >  
> > >         bus-width = <8>;
> > >         mmc-hs400-1_8v;
> > > 
> > > @@ -439,8 +522,19 @@
> > > 
> > >  &uart0 {
> > >  
> > >         pinctrl-names = "default";
> > > 
> > > -       pinctrl-0 = <&uart0_xfer &uart0_cts>;
> > > +       pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
> > > 
> > >         status = "okay";
> > > 
> > > +
> > > +       bluetooth {
> > > +               compatible = "brcm,bcm43438-bt";
> > > +               clocks = <&rk808 1>;
> > > +               clock-names = "ext_clock";
> > > +               device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
> > > +               host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
> > > +               shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
> > > +               pinctrl-names = "default";
> > > +               pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
> > > +       };
> > > 
> > >  };
> > >  
> > >  &uart2 {
> > > 
> > > --
> > > 2.17.1




Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ