diff mbox

[v2] ARM: dts: imx7d-pico: Add Wifi support

Message ID 1503056221-29183-1-git-send-email-vanessa.maegima@nxp.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vanessa Maegima Aug. 18, 2017, 11:37 a.m. UTC
imx7d-pico has an ap6212 wifi chip connected to usdhc2 port.

Add support for the usdhc2 port and to the WL_REG_ON regulator
so Wifi can be functional on this board.

Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>
---
Changes since v1:
- Fix bad identation.
- Remove unused pin MX7D_PAD_ECSPI1_SS0__GPIO4_IO19.

 arch/arm/boot/dts/imx7d-pico.dts | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

Comments

Otavio Salvador Oct. 31, 2017, 6:11 p.m. UTC | #1
On Fri, Aug 18, 2017 at 8:37 AM, Vanessa Maegima
<vanessa.maegima@nxp.com> wrote:
> imx7d-pico has an ap6212 wifi chip connected to usdhc2 port.
>
> Add support for the usdhc2 port and to the WL_REG_ON regulator
> so Wifi can be functional on this board.
>
> Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>

It seems the name of the dtb is misleading ... this dtb refers mostly
to the imx7d-pico-pi board no?
Vanessa Maegima Nov. 1, 2017, 12:38 p.m. UTC | #2
Hi Otavio,

On Ter, 2017-10-31 at 16:11 -0200, Otavio Salvador wrote:
> On Fri, Aug 18, 2017 at 8:37 AM, Vanessa Maegima
> <vanessa.maegima@nxp.com> wrote:
> > 
> > imx7d-pico has an ap6212 wifi chip connected to usdhc2 port.
> > 
> > Add support for the usdhc2 port and to the WL_REG_ON regulator
> > so Wifi can be functional on this board.
> > 
> > Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>
> It seems the name of the dtb is misleading ... this dtb refers mostly
> to the imx7d-pico-pi board no?
> 

Yes, this refers to the imx7d-pico-pi board. At the time I added this
support, I was not aware of the board variants as I had only the pico-
pi baseboard. I can work to separate this dts into SoM and baseboard
dts if you think this would be better, but I can only support pico-pi
as I do not have access to the other baseboards.

Best,
Vanessa
Otavio Salvador Nov. 1, 2017, 12:47 p.m. UTC | #3
On Wed, Nov 1, 2017 at 10:38 AM, Vanessa Maegima
<vanessa.maegima@nxp.com> wrote:
> On Ter, 2017-10-31 at 16:11 -0200, Otavio Salvador wrote:
>> On Fri, Aug 18, 2017 at 8:37 AM, Vanessa Maegima
>> <vanessa.maegima@nxp.com> wrote:
>> >
>> > imx7d-pico has an ap6212 wifi chip connected to usdhc2 port.
>> >
>> > Add support for the usdhc2 port and to the WL_REG_ON regulator
>> > so Wifi can be functional on this board.
>> >
>> > Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>
>> It seems the name of the dtb is misleading ... this dtb refers mostly
>> to the imx7d-pico-pi board no?
>>
>
> Yes, this refers to the imx7d-pico-pi board. At the time I added this
> support, I was not aware of the board variants as I had only the pico-
> pi baseboard. I can work to separate this dts into SoM and baseboard
> dts if you think this would be better, but I can only support pico-pi
> as I do not have access to the other baseboards.

Agreed, splitting it makes sense.

I think we'd need to:

- rename imx7d-pico.dts to imx7d-pico.dtsi
- make a new imx7d-pico.dts to keep compatibility (Shawn is it need?)
- try to make a imx7d-pico-pi.dts that includes imx7d-pico.dtsi and
technexion-pico-pi.dtsi?

It allows for adding the imx6ul-pico-pi and also split hobit baseboard as well.
John Weber Nov. 1, 2017, 5:24 p.m. UTC | #4
On 11/1/17, 7:47 AM, "Otavio Salvador" <otavio.salvador@ossystems.com.br> wrote:

    On Wed, Nov 1, 2017 at 10:38 AM, Vanessa Maegima
    <vanessa.maegima@nxp.com> wrote:
    > On Ter, 2017-10-31 at 16:11 -0200, Otavio Salvador wrote:

    >> On Fri, Aug 18, 2017 at 8:37 AM, Vanessa Maegima

    >> <vanessa.maegima@nxp.com> wrote:

    >> >

    >> > imx7d-pico has an ap6212 wifi chip connected to usdhc2 port.

    >> >

    >> > Add support for the usdhc2 port and to the WL_REG_ON regulator

    >> > so Wifi can be functional on this board.

    >> >

    >> > Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>

    >> It seems the name of the dtb is misleading ... this dtb refers mostly

    >> to the imx7d-pico-pi board no?

    >>

    >

    > Yes, this refers to the imx7d-pico-pi board. At the time I added this

    > support, I was not aware of the board variants as I had only the pico-

    > pi baseboard. I can work to separate this dts into SoM and baseboard

    > dts if you think this would be better, but I can only support pico-pi

    > as I do not have access to the other baseboards.

    
    Agreed, splitting it makes sense.
    
    I think we'd need to:
    
    - rename imx7d-pico.dts to imx7d-pico.dtsi
    - make a new imx7d-pico.dts to keep compatibility (Shawn is it need?)
    - try to make a imx7d-pico-pi.dts that includes imx7d-pico.dtsi and
    technexion-pico-pi.dtsi?
    
    It allows for adding the imx6ul-pico-pi and also split hobit baseboard as well.

This is the way that it has been done in the TechNexion downstream kernel based on NXP’s 4.1.15 kernel:

For reference:
https://github.com/TechNexion/linux/tree/tn-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts

We have split the baseboards out into .dtsi files with “baseboard_pico_(pi,nymph,hobbit,dwarf).dtsi”

John
diff mbox

Patch

diff --git a/arch/arm/boot/dts/imx7d-pico.dts b/arch/arm/boot/dts/imx7d-pico.dts
index e78c2c9..bddbf7c 100644
--- a/arch/arm/boot/dts/imx7d-pico.dts
+++ b/arch/arm/boot/dts/imx7d-pico.dts
@@ -52,6 +52,17 @@ 
 		reg = <0x80000000 0x80000000>;
 	};
 
+	reg_ap6212: regulator-ap6212 {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_ap6212>;
+		regulator-name = "AP6212";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
 	reg_2p5v: regulator-2p5v {
 		compatible = "regulator-fixed";
 		regulator-name = "2P5V";
@@ -271,6 +282,17 @@ 
 	status = "okay";
 };
 
+&usdhc2 { /* Wifi SDIO */
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc2>;
+	no-1-8-v;
+	non-removable;
+	keep-power-in-suspend;
+	wakeup-source;
+	vmmc-supply = <&reg_ap6212>;
+	status = "okay";
+};
+
 &usdhc3 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 	pinctrl-0 = <&pinctrl_usdhc3>;
@@ -326,6 +348,12 @@ 
 		>;
 	};
 
+	pinctrl_reg_ap6212: regap6212grp {
+		fsl,pins = <
+			MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16	0x59
+		>;
+	};
+
 	pinctrl_sai1: sai1grp {
 		fsl,pins = <
 			MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK	0x1f
@@ -348,6 +376,17 @@ 
 		>;
 	};
 
+	pinctrl_usdhc2: usdhc2grp {
+			fsl,pins = <
+				MX7D_PAD_SD2_CMD__SD2_CMD	0x59
+				MX7D_PAD_SD2_CLK__SD2_CLK	0x19
+				MX7D_PAD_SD2_DATA0__SD2_DATA0	0x59
+				MX7D_PAD_SD2_DATA1__SD2_DATA1	0x59
+				MX7D_PAD_SD2_DATA2__SD2_DATA2	0x59
+				MX7D_PAD_SD2_DATA3__SD2_DATA3	0x59
+			>;
+	};
+
 	pinctrl_usdhc3: usdhc3grp {
 		fsl,pins = <
 			MX7D_PAD_SD3_CMD__SD3_CMD		0x59