[PATCH] arm64: dts: rockchip: add BT/wifi nodes to Pinephone Pro
Heiko Stübner
heiko at sntech.de
Wed Sep 7 01:26:21 PDT 2022
Am Dienstag, 6. September 2022, 19:38:38 CEST schrieb Caleb Connolly:
>
> On 06/09/2022 13:47, Tom Fitzhenry wrote:
> > Pinephone Pro includes a AzureWave AW-CM256SM wifi (sdio0) and
> > bt (uart0) combo module, which is based on Cypress
> > CYP43455 (BCM43455).
> >
> > Signed-off-by: Tom Fitzhenry <tom at tom-fitzhenry.me.uk>
> > ---
> > .../dts/rockchip/rk3399-pinephone-pro.dts | 69 +++++++++++++++++++
> > 1 file changed, 69 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > index 2e058c3150256..096238126e4c1 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > @@ -43,6 +43,20 @@ key-power {
> > };
> > };
> >
> > + /* Power sequence for SDIO WiFi module */
>
> This comment isn't needed, instead give the node a better name/label
> > + sdio_pwrseq: sdio-pwrseq {
>
> wifi_pwrseq: sdio-pwrseq-wifi {
I guess, I'd move the components around a tiny bit and go with
wifi_pwrseq: sdio-wifi-pwrseq {
So far everywhere the "-pwrseq" is at the end and while I don't
think that this is enforced (yet), keeping some sort of consistency
might be nice :-)
Heiko
> > + compatible = "mmc-pwrseq-simple";
> > + clocks = <&rk818 1>;
> > + clock-names = "ext_clock";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&wifi_enable_h_pin>;
> > + post-power-on-delay-ms = <100>;
> > + power-off-delay-us = <500000>;
> > +
> > + /* WL_REG_ON on module */
> > + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
> > + };
> > +
> > vcc_sys: vcc-sys-regulator {
> > compatible = "regulator-fixed";
> > regulator-name = "vcc_sys";
> > @@ -360,11 +374,31 @@ vsel2_pin: vsel2-pin {
> > };
> > };
> >
> > + sdio-pwrseq {
> > + wifi_enable_h_pin: wifi-enable-h-pin {
> > + rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
> > + };
> > + };
> > +
> > sound {
> > vcc1v8_codec_en: vcc1v8-codec-en {
> > rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
> > };
> > };
> > +
> > + wireless-bluetooth {
> > + bt_wake_pin: bt-wake-pin {
> > + rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
> > + };
> > +
> > + bt_host_wake_pin: bt-host-wake-pin {
> > + rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
> > + };
> > +
> > + bt_reset_pin: bt-reset-pin {
> > + rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
> > + };
> > + };
> > };
> >
> > &sdmmc {
> > @@ -380,6 +414,20 @@ &sdmmc {
> > status = "okay";
> > };
> >
> > +&sdio0 {
> > + bus-width = <4>;
> > + cap-sd-highspeed;
> > + cap-sdio-irq;
> > + disable-wp;
> > + keep-power-in-suspend;
> > + mmc-pwrseq = <&sdio_pwrseq>;
> > + non-removable;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
> > + sd-uhs-sdr104;
> > + status = "okay";
> > +};
> > +
> > &sdhci {
> > bus-width = <8>;
> > mmc-hs200-1_8v;
> > @@ -393,6 +441,27 @@ &tsadc {
> > status = "okay";
> > };
> >
> > +&uart0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
> > + uart-has-rtscts;
> > + status = "okay";
> > +
> > + bluetooth {
> > + compatible = "brcm,bcm4345c5";
> > + clocks = <&rk818 1>;
> > + clock-names = "lpo";
> > + device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
> > + host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
> > + max-speed = <1500000>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>;
> > + shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
> > + vbat-supply = <&vcc3v3_sys>;
> > + vddio-supply = <&vcc_1v8>;
> > + };
> > +};
> > +
> > &uart2 {
> > status = "okay";
> > };
> > --
> > 2.37.1
> >
>
More information about the linux-arm-kernel
mailing list