* [PATCH] am437x-gp-evm: add wilink8 support @ 2015-04-30 9:15 Eyal Reizer 2015-05-03 11:45 ` Peter Hurley 0 siblings, 1 reply; 7+ messages in thread From: Eyal Reizer @ 2015-04-30 9:15 UTC (permalink / raw) To: tony, robh+dt, pawel.moll, mark.rutland, ijc+devicetree, galak, linux, linux-omap Cc: Eyal Reizer enable mmc3 used for wlan and uart3 used for bluetooth configure the gpios used for wlan and bluetooth controls add fixed voltage regulator used for wlan power control Configure shared transport support for uart3 Signed-off-by: Eyal Reizer <eyalr@ti.com> --- arch/arm/boot/dts/am437x-gp-evm.dts | 114 ++++++++++++++++++++++++++++++++++ include/dt-bindings/pinctrl/am43xx.h | 1 + 2 files changed, 115 insertions(+) diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts index 26956cb..2b2f715 100644 --- a/arch/arm/boot/dts/am437x-gp-evm.dts +++ b/arch/arm/boot/dts/am437x-gp-evm.dts @@ -21,6 +21,7 @@ aliases { display0 = &lcd0; + serial3 = &uart3; }; vmmcsd_fixed: fixedregulator-sd { @@ -42,6 +43,15 @@ gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; }; + vmmcwl_fixed: fixedregulator-mmcwl { + compatible = "regulator-fixed"; + regulator-name = "vmmcwl_fixed"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + backlight { compatible = "pwm-backlight"; pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; @@ -106,9 +116,25 @@ }; }; }; + + kim { + compatible = "kim"; + nshutdown_gpio = <48>; /* Bank1, pin16 */ + dev_name = "/dev/ttyS3"; + flow_cntrl = <1>; + baud_rate = <3000000>; + }; + + btwilink { + compatible = "btwilink"; + }; }; &am43xx_pinmux { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&wlan_pins_default>; + pinctrl-1 = <&wlan_pins_sleep>; + i2c0_pins: i2c0_pins { pinctrl-single,pins = < 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */ @@ -340,6 +366,53 @@ 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data7 mode 0*/ >; }; + + mmc3_pins_default: pinmux_mmc3_pins_default { + pinctrl-single,pins = < + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk */ + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */ + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a1.mmc2_dat0 */ + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a2.mmc2_dat1 */ + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a3.mmc2_dat2 */ + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_be1n.mmc2_dat3 */ + >; + }; + + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { + pinctrl-single,pins = < + 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_clk.mmc2_clk */ + 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_csn3.mmc2_cmd */ + 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a1.mmc2_dat0 */ + 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a2.mmc2_dat1 */ + 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a3.mmc2_dat2 */ + 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_be1n.mmc2_dat3 */ + >; + }; + + wlan_pins_default: pinmux_wlan_pins_default { + pinctrl-single,pins = < + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a4.gpio1_20 WL_EN */ + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) /* gpmc_a7.gpio1_23 WL_IRQ*/ + 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a0.gpio1_16 BT_EN*/ + >; + }; + + wlan_pins_sleep: pinmux_wlan_pins_sleep { + pinctrl-single,pins = < + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a4.gpio1_20 WL_EN */ + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) /* gpmc_a7.gpio1_23 WL_IRQ*/ + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a0.gpio1_16 BT_EN*/ + >; + }; + + uart3_pins: uart3_pins { + pinctrl-single,pins = < + 0x228 (PIN_INPUT | MUX_MODE0) /* uart3_rxd.uart3_rxd */ + 0x22c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_txd.uart3_txd */ + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_ctsn.uart3_ctsn */ + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */ + >; + }; }; &i2c0 { @@ -446,6 +519,10 @@ status = "okay"; }; +&gpio1 { + status = "okay"; +}; + &gpio3 { status = "okay"; }; @@ -468,6 +545,43 @@ cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; +&mmc3 { + status = "okay"; + /* these are on the crossbar and are outlined in the + xbar-event-map element */ + dmas = <&edma 30 + &edma 31>; + dma-names = "tx", "rx"; + vmmc-supply = <&vmmcwl_fixed>; + bus-width = <4>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&mmc3_pins_default>; + pinctrl-1 = <&mmc3_pins_sleep>; + cap-power-off-card; + keep-power-in-suspend; + ti,non-removable; + + #address-cells = <1>; + #size-cells = <0>; + wlcore: wlcore@0 { + compatible = "ti,wl1835"; + reg = <2>; + interrupt-parent = <&gpio1>; + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; + }; +}; + +&edma { + ti,edma-xbar-event-map = /bits/ 16 <1 30 + 2 31>; +}; + +&uart3 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart3_pins>; +}; + &usb2_phy1 { status = "okay"; }; diff --git a/include/dt-bindings/pinctrl/am43xx.h b/include/dt-bindings/pinctrl/am43xx.h index 5f4d0189..b00bbc9 100644 --- a/include/dt-bindings/pinctrl/am43xx.h +++ b/include/dt-bindings/pinctrl/am43xx.h @@ -21,6 +21,7 @@ #define SLEWCTRL_SLOW (1 << 19) #define SLEWCTRL_FAST 0 #define DS0_PULL_UP_DOWN_EN (1 << 27) +#define WAKEUP_ENABLE (1 << 29) #define PIN_OUTPUT (PULL_DISABLE) #define PIN_OUTPUT_PULLUP (PULL_UP) -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] am437x-gp-evm: add wilink8 support 2015-04-30 9:15 [PATCH] am437x-gp-evm: add wilink8 support Eyal Reizer @ 2015-05-03 11:45 ` Peter Hurley 2015-05-03 12:47 ` Reizer, Eyal 0 siblings, 1 reply; 7+ messages in thread From: Peter Hurley @ 2015-05-03 11:45 UTC (permalink / raw) To: Eyal Reizer Cc: tony, robh+dt, pawel.moll, mark.rutland, ijc+devicetree, galak, linux, linux-omap, Eyal Reizer Hi Eyal, On 04/30/2015 05:15 AM, Eyal Reizer wrote: > enable mmc3 used for wlan and uart3 used for bluetooth > > configure the gpios used for wlan and bluetooth controls > > add fixed voltage regulator used for wlan power control > > Configure shared transport support for uart3 > > Signed-off-by: Eyal Reizer <eyalr@ti.com> > --- > arch/arm/boot/dts/am437x-gp-evm.dts | 114 ++++++++++++++++++++++++++++++++++ > include/dt-bindings/pinctrl/am43xx.h | 1 + > 2 files changed, 115 insertions(+) > > diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts > index 26956cb..2b2f715 100644 > --- a/arch/arm/boot/dts/am437x-gp-evm.dts > +++ b/arch/arm/boot/dts/am437x-gp-evm.dts > @@ -21,6 +21,7 @@ > > aliases { > display0 = &lcd0; > + serial3 = &uart3; > }; > > vmmcsd_fixed: fixedregulator-sd { > @@ -42,6 +43,15 @@ > gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; > }; > > + vmmcwl_fixed: fixedregulator-mmcwl { > + compatible = "regulator-fixed"; > + regulator-name = "vmmcwl_fixed"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > backlight { > compatible = "pwm-backlight"; > pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; > @@ -106,9 +116,25 @@ > }; > }; > }; > + > + kim { > + compatible = "kim"; > + nshutdown_gpio = <48>; /* Bank1, pin16 */ > + dev_name = "/dev/ttyS3"; > + flow_cntrl = <1>; > + baud_rate = <3000000>; > + }; > + > + btwilink { > + compatible = "btwilink"; > + }; I'd really like to see TI working _with_ the Linux kernel bluetooth stack, rather than working *around* it. The st_kim driver is really a mess, and wilink8 has no other channels but BT, which the hci_ll BT protocol driver already handles. > }; > > &am43xx_pinmux { > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&wlan_pins_default>; > + pinctrl-1 = <&wlan_pins_sleep>; > + > i2c0_pins: i2c0_pins { > pinctrl-single,pins = < > 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */ > @@ -340,6 +366,53 @@ > 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data7 mode 0*/ > >; > }; > + > + mmc3_pins_default: pinmux_mmc3_pins_default { > + pinctrl-single,pins = < > + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk */ > + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */ > + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a1.mmc2_dat0 */ > + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a2.mmc2_dat1 */ > + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a3.mmc2_dat2 */ > + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_be1n.mmc2_dat3 */ > + >; > + }; > + > + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { > + pinctrl-single,pins = < > + 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_clk.mmc2_clk */ > + 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_csn3.mmc2_cmd */ > + 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a1.mmc2_dat0 */ > + 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a2.mmc2_dat1 */ > + 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a3.mmc2_dat2 */ > + 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_be1n.mmc2_dat3 */ > + >; > + }; > + > + wlan_pins_default: pinmux_wlan_pins_default { > + pinctrl-single,pins = < > + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a4.gpio1_20 WL_EN */ > + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) /* gpmc_a7.gpio1_23 WL_IRQ*/ > + 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a0.gpio1_16 BT_EN*/ > + >; > + }; > + > + wlan_pins_sleep: pinmux_wlan_pins_sleep { > + pinctrl-single,pins = < > + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a4.gpio1_20 WL_EN */ > + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) /* gpmc_a7.gpio1_23 WL_IRQ*/ > + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a0.gpio1_16 BT_EN*/ > + >; > + }; > + > + uart3_pins: uart3_pins { > + pinctrl-single,pins = < > + 0x228 (PIN_INPUT | MUX_MODE0) /* uart3_rxd.uart3_rxd */ > + 0x22c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_txd.uart3_txd */ > + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_ctsn.uart3_ctsn */ > + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */ > + >; > + }; > }; > > &i2c0 { > @@ -446,6 +519,10 @@ > status = "okay"; > }; > > +&gpio1 { > + status = "okay"; > +}; > + > &gpio3 { > status = "okay"; > }; > @@ -468,6 +545,43 @@ > cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; > }; > > +&mmc3 { > + status = "okay"; > + /* these are on the crossbar and are outlined in the > + xbar-event-map element */ > + dmas = <&edma 30 > + &edma 31>; > + dma-names = "tx", "rx"; > + vmmc-supply = <&vmmcwl_fixed>; > + bus-width = <4>; > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&mmc3_pins_default>; > + pinctrl-1 = <&mmc3_pins_sleep>; So the wilink8 module is the only thing that can be plugged into the camera header? I think all this really needs to go into a DT overlay. Regards, Peter Hurley > + cap-power-off-card; > + keep-power-in-suspend; > + ti,non-removable; > + > + #address-cells = <1>; > + #size-cells = <0>; > + wlcore: wlcore@0 { > + compatible = "ti,wl1835"; > + reg = <2>; > + interrupt-parent = <&gpio1>; > + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; > + }; > +}; > + > +&edma { > + ti,edma-xbar-event-map = /bits/ 16 <1 30 > + 2 31>; > +}; > + > +&uart3 { > + status = "okay"; > + pinctrl-names = "default"; > + pinctrl-0 = <&uart3_pins>; > +}; > + > &usb2_phy1 { > status = "okay"; > }; > diff --git a/include/dt-bindings/pinctrl/am43xx.h b/include/dt-bindings/pinctrl/am43xx.h > index 5f4d0189..b00bbc9 100644 > --- a/include/dt-bindings/pinctrl/am43xx.h > +++ b/include/dt-bindings/pinctrl/am43xx.h > @@ -21,6 +21,7 @@ > #define SLEWCTRL_SLOW (1 << 19) > #define SLEWCTRL_FAST 0 > #define DS0_PULL_UP_DOWN_EN (1 << 27) > +#define WAKEUP_ENABLE (1 << 29) > > #define PIN_OUTPUT (PULL_DISABLE) > #define PIN_OUTPUT_PULLUP (PULL_UP) ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] am437x-gp-evm: add wilink8 support 2015-05-03 11:45 ` Peter Hurley @ 2015-05-03 12:47 ` Reizer, Eyal 2015-05-03 13:26 ` Peter Hurley 0 siblings, 1 reply; 7+ messages in thread From: Reizer, Eyal @ 2015-05-03 12:47 UTC (permalink / raw) To: Peter Hurley, Eyal Reizer Cc: tony@atomide.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, linux-omap@vger.kernel.org Hi Peter, > -----Original Message----- > From: Peter Hurley [mailto:peter@hurleysoftware.com] > Sent: Sunday, May 03, 2015 2:46 PM > To: Eyal Reizer > Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; > mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; > galak@codeaurora.org; linux@arm.linux.org.uk; linux-omap@vger.kernel.org; > Reizer, Eyal > Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support > > Hi Eyal, > > On 04/30/2015 05:15 AM, Eyal Reizer wrote: > > enable mmc3 used for wlan and uart3 used for bluetooth > > > > configure the gpios used for wlan and bluetooth controls > > > > add fixed voltage regulator used for wlan power control > > > > Configure shared transport support for uart3 > > > > Signed-off-by: Eyal Reizer <eyalr@ti.com> > > --- > > arch/arm/boot/dts/am437x-gp-evm.dts | 114 > ++++++++++++++++++++++++++++++++++ > > include/dt-bindings/pinctrl/am43xx.h | 1 + > > 2 files changed, 115 insertions(+) > > > > diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts > > b/arch/arm/boot/dts/am437x-gp-evm.dts > > index 26956cb..2b2f715 100644 > > --- a/arch/arm/boot/dts/am437x-gp-evm.dts > > +++ b/arch/arm/boot/dts/am437x-gp-evm.dts > > @@ -21,6 +21,7 @@ > > > > aliases { > > display0 = &lcd0; > > + serial3 = &uart3; > > }; > > > > vmmcsd_fixed: fixedregulator-sd { > > @@ -42,6 +43,15 @@ > > gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; > > }; > > > > + vmmcwl_fixed: fixedregulator-mmcwl { > > + compatible = "regulator-fixed"; > > + regulator-name = "vmmcwl_fixed"; > > + regulator-min-microvolt = <1800000>; > > + regulator-max-microvolt = <1800000>; > > + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; > > + enable-active-high; > > + }; > > + > > backlight { > > compatible = "pwm-backlight"; > > pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; @@ > -106,9 +116,25 @@ > > }; > > }; > > }; > > + > > + kim { > > + compatible = "kim"; > > + nshutdown_gpio = <48>; /* Bank1, pin16 */ > > + dev_name = "/dev/ttyS3"; > > + flow_cntrl = <1>; > > + baud_rate = <3000000>; > > + }; > > + > > + btwilink { > > + compatible = "btwilink"; > > + }; > > I'd really like to see TI working _with_ the Linux kernel bluetooth stack, rather > than working *around* it. > > The st_kim driver is really a mess, and wilink8 has no other channels but BT, > which the hci_ll BT protocol driver already handles. > Wilink8 has both Bluetooth as well as GPS using the same UART. So the shared transport is needed also for working with the kernel Bluetooth stack. The st_kim driver indeed needs some rework and it will be looked at regardless. Still we want to have wilink8 Bluetooth functional in upstream with the driver that is there today. > > > }; > > > > &am43xx_pinmux { > > + pinctrl-names = "default", "sleep"; > > + pinctrl-0 = <&wlan_pins_default>; > > + pinctrl-1 = <&wlan_pins_sleep>; > > + > > i2c0_pins: i2c0_pins { > > pinctrl-single,pins = < > > 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | > MUX_MODE0) /* > > i2c0_sda.i2c0_sda */ @@ -340,6 +366,53 @@ > > 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | > MUX_MODE7) /* cam1_data7 mode 0*/ > > >; > > }; > > + > > + mmc3_pins_default: pinmux_mmc3_pins_default { > > + pinctrl-single,pins = < > > + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) /* > gpmc_clk.mmc2_clk */ > > + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* > gpmc_csn3.mmc2_cmd */ > > + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* > gpmc_a1.mmc2_dat0 */ > > + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* > gpmc_a2.mmc2_dat1 */ > > + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) /* > gpmc_a3.mmc2_dat2 */ > > + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) /* > gpmc_be1n.mmc2_dat3 */ > > + >; > > + }; > > + > > + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { > > + pinctrl-single,pins = < > > + 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > gpmc_clk.mmc2_clk */ > > + 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > gpmc_csn3.mmc2_cmd */ > > + 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > gpmc_a1.mmc2_dat0 */ > > + 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > gpmc_a2.mmc2_dat1 */ > > + 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > gpmc_a3.mmc2_dat2 */ > > + 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > gpmc_be1n.mmc2_dat3 */ > > + >; > > + }; > > + > > + wlan_pins_default: pinmux_wlan_pins_default { > > + pinctrl-single,pins = < > > + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) > /* gpmc_a4.gpio1_20 WL_EN */ > > + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) > /* gpmc_a7.gpio1_23 WL_IRQ*/ > > + 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) > /* gpmc_a0.gpio1_16 BT_EN*/ > > + >; > > + }; > > + > > + wlan_pins_sleep: pinmux_wlan_pins_sleep { > > + pinctrl-single,pins = < > > + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) > /* gpmc_a4.gpio1_20 WL_EN */ > > + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) > /* gpmc_a7.gpio1_23 WL_IRQ*/ > > + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) > /* gpmc_a0.gpio1_16 BT_EN*/ > > + >; > > + }; > > + > > + uart3_pins: uart3_pins { > > + pinctrl-single,pins = < > > + 0x228 (PIN_INPUT | MUX_MODE0) /* > uart3_rxd.uart3_rxd */ > > + 0x22c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* > uart3_txd.uart3_txd */ > > + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* > uart3_ctsn.uart3_ctsn */ > > + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* > uart3_rtsn.uart3_rtsn */ > > + >; > > + }; > > }; > > > > &i2c0 { > > @@ -446,6 +519,10 @@ > > status = "okay"; > > }; > > > > +&gpio1 { > > + status = "okay"; > > +}; > > + > > &gpio3 { > > status = "okay"; > > }; > > @@ -468,6 +545,43 @@ > > cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; > > > > +&mmc3 { > > + status = "okay"; > > + /* these are on the crossbar and are outlined in the > > + xbar-event-map element */ > > + dmas = <&edma 30 > > + &edma 31>; > > + dma-names = "tx", "rx"; > > + vmmc-supply = <&vmmcwl_fixed>; > > + bus-width = <4>; > > + pinctrl-names = "default", "sleep"; > > + pinctrl-0 = <&mmc3_pins_default>; > > + pinctrl-1 = <&mmc3_pins_sleep>; > > So the wilink8 module is the only thing that can be plugged into the camera > header? > > I think all this really needs to go into a DT overlay. > Am437x-evm has a dedicated com8 connector used for connecting the wilink8 module. It is not using the camera header. > Regards, > Peter Hurley > > > > + cap-power-off-card; > > + keep-power-in-suspend; > > + ti,non-removable; > > + > > + #address-cells = <1>; > > + #size-cells = <0>; > > + wlcore: wlcore@0 { > > + compatible = "ti,wl1835"; > > + reg = <2>; > > + interrupt-parent = <&gpio1>; > > + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > +}; > > + > > +&edma { > > + ti,edma-xbar-event-map = /bits/ 16 <1 30 > > + 2 31>; > > +}; > > + > > +&uart3 { > > + status = "okay"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart3_pins>; > > +}; > > + > > &usb2_phy1 { > > status = "okay"; > > }; > > diff --git a/include/dt-bindings/pinctrl/am43xx.h > > b/include/dt-bindings/pinctrl/am43xx.h > > index 5f4d0189..b00bbc9 100644 > > --- a/include/dt-bindings/pinctrl/am43xx.h > > +++ b/include/dt-bindings/pinctrl/am43xx.h > > @@ -21,6 +21,7 @@ > > #define SLEWCTRL_SLOW (1 << 19) > > #define SLEWCTRL_FAST 0 > > #define DS0_PULL_UP_DOWN_EN (1 << 27) > > +#define WAKEUP_ENABLE (1 << 29) > > > > #define PIN_OUTPUT (PULL_DISABLE) > > #define PIN_OUTPUT_PULLUP (PULL_UP) > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] am437x-gp-evm: add wilink8 support 2015-05-03 12:47 ` Reizer, Eyal @ 2015-05-03 13:26 ` Peter Hurley 2015-05-03 13:44 ` Reizer, Eyal 0 siblings, 1 reply; 7+ messages in thread From: Peter Hurley @ 2015-05-03 13:26 UTC (permalink / raw) To: Reizer, Eyal, Eyal Reizer Cc: tony@atomide.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, linux-omap@vger.kernel.org On 05/03/2015 08:47 AM, Reizer, Eyal wrote: > Hi Peter, > >> -----Original Message----- >> From: Peter Hurley [mailto:peter@hurleysoftware.com] >> Sent: Sunday, May 03, 2015 2:46 PM >> To: Eyal Reizer >> Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; >> mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; >> galak@codeaurora.org; linux@arm.linux.org.uk; linux-omap@vger.kernel.org; >> Reizer, Eyal >> Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support >> >> Hi Eyal, >> >> On 04/30/2015 05:15 AM, Eyal Reizer wrote: >>> enable mmc3 used for wlan and uart3 used for bluetooth >>> >>> configure the gpios used for wlan and bluetooth controls >>> >>> add fixed voltage regulator used for wlan power control >>> >>> Configure shared transport support for uart3 >>> >>> Signed-off-by: Eyal Reizer <eyalr@ti.com> >>> --- >>> arch/arm/boot/dts/am437x-gp-evm.dts | 114 >> ++++++++++++++++++++++++++++++++++ >>> include/dt-bindings/pinctrl/am43xx.h | 1 + >>> 2 files changed, 115 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts >>> b/arch/arm/boot/dts/am437x-gp-evm.dts >>> index 26956cb..2b2f715 100644 >>> --- a/arch/arm/boot/dts/am437x-gp-evm.dts >>> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts >>> @@ -21,6 +21,7 @@ >>> >>> aliases { >>> display0 = &lcd0; >>> + serial3 = &uart3; >>> }; >>> >>> vmmcsd_fixed: fixedregulator-sd { >>> @@ -42,6 +43,15 @@ >>> gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; >>> }; >>> >>> + vmmcwl_fixed: fixedregulator-mmcwl { >>> + compatible = "regulator-fixed"; >>> + regulator-name = "vmmcwl_fixed"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; >>> + enable-active-high; >>> + }; >>> + >>> backlight { >>> compatible = "pwm-backlight"; >>> pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; @@ >> -106,9 +116,25 @@ >>> }; >>> }; >>> }; >>> + >>> + kim { >>> + compatible = "kim"; >>> + nshutdown_gpio = <48>; /* Bank1, pin16 */ >>> + dev_name = "/dev/ttyS3"; >>> + flow_cntrl = <1>; >>> + baud_rate = <3000000>; >>> + }; >>> + >>> + btwilink { >>> + compatible = "btwilink"; >>> + }; >> >> I'd really like to see TI working _with_ the Linux kernel bluetooth stack, rather >> than working *around* it. >> >> The st_kim driver is really a mess, and wilink8 has no other channels but BT, >> which the hci_ll BT protocol driver already handles. >> > > Wilink8 has both Bluetooth as well as GPS using the same UART. Oh, great! What part is that? I've been all over the TI products search and have only found the WL183x and WL180x series, neither of which support GPS. > So the shared transport is needed also for working with the kernel Bluetooth stack. > > The st_kim driver indeed needs some rework and it will be looked at regardless. > Still we want to have wilink8 Bluetooth functional in upstream with the driver that is there today. > >> >>> }; >>> >>> &am43xx_pinmux { >>> + pinctrl-names = "default", "sleep"; >>> + pinctrl-0 = <&wlan_pins_default>; >>> + pinctrl-1 = <&wlan_pins_sleep>; >>> + >>> i2c0_pins: i2c0_pins { >>> pinctrl-single,pins = < >>> 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | >> MUX_MODE0) /* >>> i2c0_sda.i2c0_sda */ @@ -340,6 +366,53 @@ >>> 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | >> MUX_MODE7) /* cam1_data7 mode 0*/ >>> >; >>> }; >>> + >>> + mmc3_pins_default: pinmux_mmc3_pins_default { >>> + pinctrl-single,pins = < >>> + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) /* >> gpmc_clk.mmc2_clk */ >>> + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* >> gpmc_csn3.mmc2_cmd */ >>> + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* >> gpmc_a1.mmc2_dat0 */ >>> + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* >> gpmc_a2.mmc2_dat1 */ >>> + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) /* >> gpmc_a3.mmc2_dat2 */ >>> + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) /* >> gpmc_be1n.mmc2_dat3 */ >>> + >; >>> + }; >>> + >>> + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { >>> + pinctrl-single,pins = < >>> + 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_clk.mmc2_clk */ >>> + 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_csn3.mmc2_cmd */ >>> + 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_a1.mmc2_dat0 */ >>> + 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_a2.mmc2_dat1 */ >>> + 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_a3.mmc2_dat2 */ >>> + 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_be1n.mmc2_dat3 */ >>> + >; >>> + }; >>> + >>> + wlan_pins_default: pinmux_wlan_pins_default { >>> + pinctrl-single,pins = < >>> + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) >> /* gpmc_a4.gpio1_20 WL_EN */ >>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) >> /* gpmc_a7.gpio1_23 WL_IRQ*/ >>> + 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) >> /* gpmc_a0.gpio1_16 BT_EN*/ >>> + >; >>> + }; >>> + >>> + wlan_pins_sleep: pinmux_wlan_pins_sleep { >>> + pinctrl-single,pins = < >>> + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) >> /* gpmc_a4.gpio1_20 WL_EN */ >>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) >> /* gpmc_a7.gpio1_23 WL_IRQ*/ >>> + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) >> /* gpmc_a0.gpio1_16 BT_EN*/ >>> + >; >>> + }; >>> + >>> + uart3_pins: uart3_pins { >>> + pinctrl-single,pins = < >>> + 0x228 (PIN_INPUT | MUX_MODE0) /* >> uart3_rxd.uart3_rxd */ >>> + 0x22c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* >> uart3_txd.uart3_txd */ >>> + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* >> uart3_ctsn.uart3_ctsn */ >>> + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* >> uart3_rtsn.uart3_rtsn */ >>> + >; >>> + }; >>> }; >>> >>> &i2c0 { >>> @@ -446,6 +519,10 @@ >>> status = "okay"; >>> }; >>> >>> +&gpio1 { >>> + status = "okay"; >>> +}; >>> + >>> &gpio3 { >>> status = "okay"; >>> }; >>> @@ -468,6 +545,43 @@ >>> cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; >>> >>> +&mmc3 { >>> + status = "okay"; >>> + /* these are on the crossbar and are outlined in the >>> + xbar-event-map element */ >>> + dmas = <&edma 30 >>> + &edma 31>; >>> + dma-names = "tx", "rx"; >>> + vmmc-supply = <&vmmcwl_fixed>; >>> + bus-width = <4>; >>> + pinctrl-names = "default", "sleep"; >>> + pinctrl-0 = <&mmc3_pins_default>; >>> + pinctrl-1 = <&mmc3_pins_sleep>; >> >> So the wilink8 module is the only thing that can be plugged into the camera >> header? >> >> I think all this really needs to go into a DT overlay. >> > > Am437x-evm has a dedicated com8 connector used for connecting the wilink8 module. > It is not using the camera header. > >> Regards, >> Peter Hurley >> >> >>> + cap-power-off-card; >>> + keep-power-in-suspend; >>> + ti,non-removable; >>> + >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + wlcore: wlcore@0 { >>> + compatible = "ti,wl1835"; >>> + reg = <2>; >>> + interrupt-parent = <&gpio1>; >>> + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; >>> + }; >>> +}; >>> + >>> +&edma { >>> + ti,edma-xbar-event-map = /bits/ 16 <1 30 >>> + 2 31>; >>> +}; >>> + >>> +&uart3 { >>> + status = "okay"; >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&uart3_pins>; >>> +}; >>> + >>> &usb2_phy1 { >>> status = "okay"; >>> }; >>> diff --git a/include/dt-bindings/pinctrl/am43xx.h >>> b/include/dt-bindings/pinctrl/am43xx.h >>> index 5f4d0189..b00bbc9 100644 >>> --- a/include/dt-bindings/pinctrl/am43xx.h >>> +++ b/include/dt-bindings/pinctrl/am43xx.h >>> @@ -21,6 +21,7 @@ >>> #define SLEWCTRL_SLOW (1 << 19) >>> #define SLEWCTRL_FAST 0 >>> #define DS0_PULL_UP_DOWN_EN (1 << 27) >>> +#define WAKEUP_ENABLE (1 << 29) >>> >>> #define PIN_OUTPUT (PULL_DISABLE) >>> #define PIN_OUTPUT_PULLUP (PULL_UP) >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] am437x-gp-evm: add wilink8 support 2015-05-03 13:26 ` Peter Hurley @ 2015-05-03 13:44 ` Reizer, Eyal 2015-05-04 11:01 ` Peter Hurley 0 siblings, 1 reply; 7+ messages in thread From: Reizer, Eyal @ 2015-05-03 13:44 UTC (permalink / raw) To: Peter Hurley, Eyal Reizer Cc: tony@atomide.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, linux-omap@vger.kernel.org Hi Peter, > -----Original Message----- > From: Peter Hurley [mailto:peter@hurleysoftware.com] > Sent: Sunday, May 03, 2015 4:26 PM > To: Reizer, Eyal; Eyal Reizer > Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; > mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; > galak@codeaurora.org; linux@arm.linux.org.uk; linux-omap@vger.kernel.org > Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support > > On 05/03/2015 08:47 AM, Reizer, Eyal wrote: > > Hi Peter, > > > >> -----Original Message----- > >> From: Peter Hurley [mailto:peter@hurleysoftware.com] > >> Sent: Sunday, May 03, 2015 2:46 PM > >> To: Eyal Reizer > >> Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; > >> mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; > >> galak@codeaurora.org; linux@arm.linux.org.uk; > >> linux-omap@vger.kernel.org; Reizer, Eyal > >> Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support > >> > >> Hi Eyal, > >> > >> On 04/30/2015 05:15 AM, Eyal Reizer wrote: > >>> enable mmc3 used for wlan and uart3 used for bluetooth > >>> > >>> configure the gpios used for wlan and bluetooth controls > >>> > >>> add fixed voltage regulator used for wlan power control > >>> > >>> Configure shared transport support for uart3 > >>> > >>> Signed-off-by: Eyal Reizer <eyalr@ti.com> > >>> --- > >>> arch/arm/boot/dts/am437x-gp-evm.dts | 114 > >> ++++++++++++++++++++++++++++++++++ > >>> include/dt-bindings/pinctrl/am43xx.h | 1 + > >>> 2 files changed, 115 insertions(+) > >>> > >>> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts > >>> b/arch/arm/boot/dts/am437x-gp-evm.dts > >>> index 26956cb..2b2f715 100644 > >>> --- a/arch/arm/boot/dts/am437x-gp-evm.dts > >>> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts > >>> @@ -21,6 +21,7 @@ > >>> > >>> aliases { > >>> display0 = &lcd0; > >>> + serial3 = &uart3; > >>> }; > >>> > >>> vmmcsd_fixed: fixedregulator-sd { > >>> @@ -42,6 +43,15 @@ > >>> gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; > >>> }; > >>> > >>> + vmmcwl_fixed: fixedregulator-mmcwl { > >>> + compatible = "regulator-fixed"; > >>> + regulator-name = "vmmcwl_fixed"; > >>> + regulator-min-microvolt = <1800000>; > >>> + regulator-max-microvolt = <1800000>; > >>> + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; > >>> + enable-active-high; > >>> + }; > >>> + > >>> backlight { > >>> compatible = "pwm-backlight"; > >>> pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; @@ > >> -106,9 +116,25 @@ > >>> }; > >>> }; > >>> }; > >>> + > >>> + kim { > >>> + compatible = "kim"; > >>> + nshutdown_gpio = <48>; /* Bank1, pin16 */ > >>> + dev_name = "/dev/ttyS3"; > >>> + flow_cntrl = <1>; > >>> + baud_rate = <3000000>; > >>> + }; > >>> + > >>> + btwilink { > >>> + compatible = "btwilink"; > >>> + }; > >> > >> I'd really like to see TI working _with_ the Linux kernel bluetooth > >> stack, rather than working *around* it. > >> > >> The st_kim driver is really a mess, and wilink8 has no other channels > >> but BT, which the hci_ll BT protocol driver already handles. > >> > > > > Wilink8 has both Bluetooth as well as GPS using the same UART. > > Oh, great! > > What part is that? I've been all over the TI products search and have only > found the WL183x and WL180x series, neither of which support GPS. > See the below link. http://www.jorjin.com.tw/#!wg7871-bn/c246o > > > So the shared transport is needed also for working with the kernel > Bluetooth stack. > > > > The st_kim driver indeed needs some rework and it will be looked at > regardless. > > Still we want to have wilink8 Bluetooth functional in upstream with the > driver that is there today. > > > >> > >>> }; > >>> > >>> &am43xx_pinmux { > >>> + pinctrl-names = "default", "sleep"; > >>> + pinctrl-0 = <&wlan_pins_default>; > >>> + pinctrl-1 = <&wlan_pins_sleep>; > >>> + > >>> i2c0_pins: i2c0_pins { > >>> pinctrl-single,pins = < > >>> 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | > >> MUX_MODE0) /* > >>> i2c0_sda.i2c0_sda */ @@ -340,6 +366,53 @@ > >>> 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | > >> MUX_MODE7) /* cam1_data7 mode 0*/ > >>> >; > >>> }; > >>> + > >>> + mmc3_pins_default: pinmux_mmc3_pins_default { > >>> + pinctrl-single,pins = < > >>> + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) /* > >> gpmc_clk.mmc2_clk */ > >>> + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* > >> gpmc_csn3.mmc2_cmd */ > >>> + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* > >> gpmc_a1.mmc2_dat0 */ > >>> + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* > >> gpmc_a2.mmc2_dat1 */ > >>> + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) /* > >> gpmc_a3.mmc2_dat2 */ > >>> + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) /* > >> gpmc_be1n.mmc2_dat3 */ > >>> + >; > >>> + }; > >>> + > >>> + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { > >>> + pinctrl-single,pins = < > >>> + 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > >> gpmc_clk.mmc2_clk */ > >>> + 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > >> gpmc_csn3.mmc2_cmd */ > >>> + 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > >> gpmc_a1.mmc2_dat0 */ > >>> + 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > >> gpmc_a2.mmc2_dat1 */ > >>> + 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > >> gpmc_a3.mmc2_dat2 */ > >>> + 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* > >> gpmc_be1n.mmc2_dat3 */ > >>> + >; > >>> + }; > >>> + > >>> + wlan_pins_default: pinmux_wlan_pins_default { > >>> + pinctrl-single,pins = < > >>> + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) > >> /* gpmc_a4.gpio1_20 WL_EN */ > >>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) > >> /* gpmc_a7.gpio1_23 WL_IRQ*/ > >>> + 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) > >> /* gpmc_a0.gpio1_16 BT_EN*/ > >>> + >; > >>> + }; > >>> + > >>> + wlan_pins_sleep: pinmux_wlan_pins_sleep { > >>> + pinctrl-single,pins = < > >>> + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) > >> /* gpmc_a4.gpio1_20 WL_EN */ > >>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) > >> /* gpmc_a7.gpio1_23 WL_IRQ*/ > >>> + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) > >> /* gpmc_a0.gpio1_16 BT_EN*/ > >>> + >; > >>> + }; > >>> + > >>> + uart3_pins: uart3_pins { > >>> + pinctrl-single,pins = < > >>> + 0x228 (PIN_INPUT | MUX_MODE0) /* > >> uart3_rxd.uart3_rxd */ > >>> + 0x22c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* > >> uart3_txd.uart3_txd */ > >>> + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* > >> uart3_ctsn.uart3_ctsn */ > >>> + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* > >> uart3_rtsn.uart3_rtsn */ > >>> + >; > >>> + }; > >>> }; > >>> > >>> &i2c0 { > >>> @@ -446,6 +519,10 @@ > >>> status = "okay"; > >>> }; > >>> > >>> +&gpio1 { > >>> + status = "okay"; > >>> +}; > >>> + > >>> &gpio3 { > >>> status = "okay"; > >>> }; > >>> @@ -468,6 +545,43 @@ > >>> cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; > >>> > >>> +&mmc3 { > >>> + status = "okay"; > >>> + /* these are on the crossbar and are outlined in the > >>> + xbar-event-map element */ > >>> + dmas = <&edma 30 > >>> + &edma 31>; > >>> + dma-names = "tx", "rx"; > >>> + vmmc-supply = <&vmmcwl_fixed>; > >>> + bus-width = <4>; > >>> + pinctrl-names = "default", "sleep"; > >>> + pinctrl-0 = <&mmc3_pins_default>; > >>> + pinctrl-1 = <&mmc3_pins_sleep>; > >> > >> So the wilink8 module is the only thing that can be plugged into the > >> camera header? > >> > >> I think all this really needs to go into a DT overlay. > >> > > > > Am437x-evm has a dedicated com8 connector used for connecting the > wilink8 module. > > It is not using the camera header. > > > >> Regards, > >> Peter Hurley > >> > >> > >>> + cap-power-off-card; > >>> + keep-power-in-suspend; > >>> + ti,non-removable; > >>> + > >>> + #address-cells = <1>; > >>> + #size-cells = <0>; > >>> + wlcore: wlcore@0 { > >>> + compatible = "ti,wl1835"; > >>> + reg = <2>; > >>> + interrupt-parent = <&gpio1>; > >>> + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; > >>> + }; > >>> +}; > >>> + > >>> +&edma { > >>> + ti,edma-xbar-event-map = /bits/ 16 <1 30 > >>> + 2 31>; > >>> +}; > >>> + > >>> +&uart3 { > >>> + status = "okay"; > >>> + pinctrl-names = "default"; > >>> + pinctrl-0 = <&uart3_pins>; > >>> +}; > >>> + > >>> &usb2_phy1 { > >>> status = "okay"; > >>> }; > >>> diff --git a/include/dt-bindings/pinctrl/am43xx.h > >>> b/include/dt-bindings/pinctrl/am43xx.h > >>> index 5f4d0189..b00bbc9 100644 > >>> --- a/include/dt-bindings/pinctrl/am43xx.h > >>> +++ b/include/dt-bindings/pinctrl/am43xx.h > >>> @@ -21,6 +21,7 @@ > >>> #define SLEWCTRL_SLOW (1 << 19) > >>> #define SLEWCTRL_FAST 0 > >>> #define DS0_PULL_UP_DOWN_EN (1 << 27) > >>> +#define WAKEUP_ENABLE (1 << 29) > >>> > >>> #define PIN_OUTPUT (PULL_DISABLE) > >>> #define PIN_OUTPUT_PULLUP (PULL_UP) > >> > > Best Regards, Eyal ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] am437x-gp-evm: add wilink8 support 2015-05-03 13:44 ` Reizer, Eyal @ 2015-05-04 11:01 ` Peter Hurley 2015-05-04 11:57 ` Reizer, Eyal 0 siblings, 1 reply; 7+ messages in thread From: Peter Hurley @ 2015-05-04 11:01 UTC (permalink / raw) To: Reizer, Eyal, Eyal Reizer Cc: tony@atomide.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, linux-omap@vger.kernel.org On 05/03/2015 09:44 AM, Reizer, Eyal wrote: > Hi Peter, > >> -----Original Message----- >> From: Peter Hurley [mailto:peter@hurleysoftware.com] >> Sent: Sunday, May 03, 2015 4:26 PM >> To: Reizer, Eyal; Eyal Reizer >> Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; >> mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; >> galak@codeaurora.org; linux@arm.linux.org.uk; linux-omap@vger.kernel.org >> Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support >> >> On 05/03/2015 08:47 AM, Reizer, Eyal wrote: >>> Hi Peter, >>> >>>> -----Original Message----- >>>> From: Peter Hurley [mailto:peter@hurleysoftware.com] >>>> Sent: Sunday, May 03, 2015 2:46 PM >>>> To: Eyal Reizer >>>> Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; >>>> mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; >>>> galak@codeaurora.org; linux@arm.linux.org.uk; >>>> linux-omap@vger.kernel.org; Reizer, Eyal >>>> Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support >>>> >>>> Hi Eyal, >>>> >>>> On 04/30/2015 05:15 AM, Eyal Reizer wrote: >>>>> enable mmc3 used for wlan and uart3 used for bluetooth >>>>> >>>>> configure the gpios used for wlan and bluetooth controls >>>>> >>>>> add fixed voltage regulator used for wlan power control >>>>> >>>>> Configure shared transport support for uart3 >>>>> >>>>> Signed-off-by: Eyal Reizer <eyalr@ti.com> >>>>> --- >>>>> arch/arm/boot/dts/am437x-gp-evm.dts | 114 >>>> ++++++++++++++++++++++++++++++++++ >>>>> include/dt-bindings/pinctrl/am43xx.h | 1 + >>>>> 2 files changed, 115 insertions(+) >>>>> >>>>> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts >>>>> b/arch/arm/boot/dts/am437x-gp-evm.dts >>>>> index 26956cb..2b2f715 100644 >>>>> --- a/arch/arm/boot/dts/am437x-gp-evm.dts >>>>> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts >>>>> @@ -21,6 +21,7 @@ >>>>> >>>>> aliases { >>>>> display0 = &lcd0; >>>>> + serial3 = &uart3; >>>>> }; >>>>> >>>>> vmmcsd_fixed: fixedregulator-sd { >>>>> @@ -42,6 +43,15 @@ >>>>> gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; >>>>> }; >>>>> >>>>> + vmmcwl_fixed: fixedregulator-mmcwl { >>>>> + compatible = "regulator-fixed"; >>>>> + regulator-name = "vmmcwl_fixed"; >>>>> + regulator-min-microvolt = <1800000>; >>>>> + regulator-max-microvolt = <1800000>; >>>>> + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; >>>>> + enable-active-high; >>>>> + }; >>>>> + >>>>> backlight { >>>>> compatible = "pwm-backlight"; >>>>> pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; @@ >>>> -106,9 +116,25 @@ >>>>> }; >>>>> }; >>>>> }; >>>>> + >>>>> + kim { >>>>> + compatible = "kim"; >>>>> + nshutdown_gpio = <48>; /* Bank1, pin16 */ >>>>> + dev_name = "/dev/ttyS3"; >>>>> + flow_cntrl = <1>; >>>>> + baud_rate = <3000000>; >>>>> + }; >>>>> + >>>>> + btwilink { >>>>> + compatible = "btwilink"; >>>>> + }; >>>> >>>> I'd really like to see TI working _with_ the Linux kernel bluetooth >>>> stack, rather than working *around* it. >>>> >>>> The st_kim driver is really a mess, and wilink8 has no other channels >>>> but BT, which the hci_ll BT protocol driver already handles. >>>> >>> >>> Wilink8 has both Bluetooth as well as GPS using the same UART. >> >> Oh, great! >> >> What part is that? I've been all over the TI products search and have only >> found the WL183x and WL180x series, neither of which support GPS. >> > > See the below link. > http://www.jorjin.com.tw/#!wg7871-bn/c246o Oh, so this isn't a part that can actually be plugged into the dedicated COM8 header? IOW, the only existing h/w for that header is bluetooth only. >>> So the shared transport is needed also for working with the kernel >> Bluetooth stack. Not true. The kernel bluetooth stack runs fine on wilink8, by simply enabling the BT_EN gpio. Moreover, if this patch goes upstream, all _future_ users will be forced to use st_kim, even though they only have bluetooth-only h/w. >>> The st_kim driver indeed needs some rework and it will be looked at >> regardless. >>> Still we want to have wilink8 Bluetooth functional in upstream with the >> driver that is there today. That's trivially possible without the kim/btwilink hunk above (eg., with userspace sysfs gpio). Regards, Peter Hurley >>> >>>> >>>>> }; >>>>> >>>>> &am43xx_pinmux { >>>>> + pinctrl-names = "default", "sleep"; >>>>> + pinctrl-0 = <&wlan_pins_default>; >>>>> + pinctrl-1 = <&wlan_pins_sleep>; >>>>> + >>>>> i2c0_pins: i2c0_pins { >>>>> pinctrl-single,pins = < >>>>> 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | >>>> MUX_MODE0) /* >>>>> i2c0_sda.i2c0_sda */ @@ -340,6 +366,53 @@ >>>>> 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | >>>> MUX_MODE7) /* cam1_data7 mode 0*/ >>>>> >; >>>>> }; >>>>> + >>>>> + mmc3_pins_default: pinmux_mmc3_pins_default { >>>>> + pinctrl-single,pins = < >>>>> + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) /* >>>> gpmc_clk.mmc2_clk */ >>>>> + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) /* >>>> gpmc_csn3.mmc2_cmd */ >>>>> + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) /* >>>> gpmc_a1.mmc2_dat0 */ >>>>> + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) /* >>>> gpmc_a2.mmc2_dat1 */ >>>>> + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) /* >>>> gpmc_a3.mmc2_dat2 */ >>>>> + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) /* >>>> gpmc_be1n.mmc2_dat3 */ >>>>> + >; >>>>> + }; >>>>> + >>>>> + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { >>>>> + pinctrl-single,pins = < >>>>> + 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >>>> gpmc_clk.mmc2_clk */ >>>>> + 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >>>> gpmc_csn3.mmc2_cmd */ >>>>> + 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >>>> gpmc_a1.mmc2_dat0 */ >>>>> + 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >>>> gpmc_a2.mmc2_dat1 */ >>>>> + 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >>>> gpmc_a3.mmc2_dat2 */ >>>>> + 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* >>>> gpmc_be1n.mmc2_dat3 */ >>>>> + >; >>>>> + }; >>>>> + >>>>> + wlan_pins_default: pinmux_wlan_pins_default { >>>>> + pinctrl-single,pins = < >>>>> + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) >>>> /* gpmc_a4.gpio1_20 WL_EN */ >>>>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) >>>> /* gpmc_a7.gpio1_23 WL_IRQ*/ >>>>> + 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) >>>> /* gpmc_a0.gpio1_16 BT_EN*/ >>>>> + >; >>>>> + }; >>>>> + >>>>> + wlan_pins_sleep: pinmux_wlan_pins_sleep { >>>>> + pinctrl-single,pins = < >>>>> + 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) >>>> /* gpmc_a4.gpio1_20 WL_EN */ >>>>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7) >>>> /* gpmc_a7.gpio1_23 WL_IRQ*/ >>>>> + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) >>>> /* gpmc_a0.gpio1_16 BT_EN*/ >>>>> + >; >>>>> + }; >>>>> + >>>>> + uart3_pins: uart3_pins { >>>>> + pinctrl-single,pins = < >>>>> + 0x228 (PIN_INPUT | MUX_MODE0) /* >>>> uart3_rxd.uart3_rxd */ >>>>> + 0x22c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* >>>> uart3_txd.uart3_txd */ >>>>> + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* >>>> uart3_ctsn.uart3_ctsn */ >>>>> + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* >>>> uart3_rtsn.uart3_rtsn */ >>>>> + >; >>>>> + }; >>>>> }; >>>>> >>>>> &i2c0 { >>>>> @@ -446,6 +519,10 @@ >>>>> status = "okay"; >>>>> }; >>>>> >>>>> +&gpio1 { >>>>> + status = "okay"; >>>>> +}; >>>>> + >>>>> &gpio3 { >>>>> status = "okay"; >>>>> }; >>>>> @@ -468,6 +545,43 @@ >>>>> cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; >>>>> >>>>> +&mmc3 { >>>>> + status = "okay"; >>>>> + /* these are on the crossbar and are outlined in the >>>>> + xbar-event-map element */ >>>>> + dmas = <&edma 30 >>>>> + &edma 31>; >>>>> + dma-names = "tx", "rx"; >>>>> + vmmc-supply = <&vmmcwl_fixed>; >>>>> + bus-width = <4>; >>>>> + pinctrl-names = "default", "sleep"; >>>>> + pinctrl-0 = <&mmc3_pins_default>; >>>>> + pinctrl-1 = <&mmc3_pins_sleep>; >>>> >>>> So the wilink8 module is the only thing that can be plugged into the >>>> camera header? >>>> >>>> I think all this really needs to go into a DT overlay. >>>> >>> >>> Am437x-evm has a dedicated com8 connector used for connecting the >> wilink8 module. >>> It is not using the camera header. >>> >>>> Regards, >>>> Peter Hurley >>>> >>>> >>>>> + cap-power-off-card; >>>>> + keep-power-in-suspend; >>>>> + ti,non-removable; >>>>> + >>>>> + #address-cells = <1>; >>>>> + #size-cells = <0>; >>>>> + wlcore: wlcore@0 { >>>>> + compatible = "ti,wl1835"; >>>>> + reg = <2>; >>>>> + interrupt-parent = <&gpio1>; >>>>> + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; >>>>> + }; >>>>> +}; >>>>> + >>>>> +&edma { >>>>> + ti,edma-xbar-event-map = /bits/ 16 <1 30 >>>>> + 2 31>; >>>>> +}; >>>>> + >>>>> +&uart3 { >>>>> + status = "okay"; >>>>> + pinctrl-names = "default"; >>>>> + pinctrl-0 = <&uart3_pins>; >>>>> +}; >>>>> + >>>>> &usb2_phy1 { >>>>> status = "okay"; >>>>> }; >>>>> diff --git a/include/dt-bindings/pinctrl/am43xx.h >>>>> b/include/dt-bindings/pinctrl/am43xx.h >>>>> index 5f4d0189..b00bbc9 100644 >>>>> --- a/include/dt-bindings/pinctrl/am43xx.h >>>>> +++ b/include/dt-bindings/pinctrl/am43xx.h >>>>> @@ -21,6 +21,7 @@ >>>>> #define SLEWCTRL_SLOW (1 << 19) >>>>> #define SLEWCTRL_FAST 0 >>>>> #define DS0_PULL_UP_DOWN_EN (1 << 27) >>>>> +#define WAKEUP_ENABLE (1 << 29) >>>>> >>>>> #define PIN_OUTPUT (PULL_DISABLE) >>>>> #define PIN_OUTPUT_PULLUP (PULL_UP) >>>> >>> > > Best Regards, > Eyal > ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] am437x-gp-evm: add wilink8 support 2015-05-04 11:01 ` Peter Hurley @ 2015-05-04 11:57 ` Reizer, Eyal 0 siblings, 0 replies; 7+ messages in thread From: Reizer, Eyal @ 2015-05-04 11:57 UTC (permalink / raw) To: Peter Hurley, Eyal Reizer Cc: tony@atomide.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, linux-omap@vger.kernel.org Hi Peter, > -----Original Message----- > From: Peter Hurley [mailto:peter@hurleysoftware.com] > Sent: Monday, May 04, 2015 2:02 PM > To: Reizer, Eyal; Eyal Reizer > Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; > mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; > galak@codeaurora.org; linux@arm.linux.org.uk; linux-omap@vger.kernel.org > Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support > > On 05/03/2015 09:44 AM, Reizer, Eyal wrote: > > Hi Peter, > > > >> -----Original Message----- > >> From: Peter Hurley [mailto:peter@hurleysoftware.com] > >> Sent: Sunday, May 03, 2015 4:26 PM > >> To: Reizer, Eyal; Eyal Reizer > >> Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; > >> mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; > >> galak@codeaurora.org; linux@arm.linux.org.uk; > >> linux-omap@vger.kernel.org > >> Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support > >> > >> On 05/03/2015 08:47 AM, Reizer, Eyal wrote: > >>> Hi Peter, > >>> > >>>> -----Original Message----- > >>>> From: Peter Hurley [mailto:peter@hurleysoftware.com] > >>>> Sent: Sunday, May 03, 2015 2:46 PM > >>>> To: Eyal Reizer > >>>> Cc: tony@atomide.com; robh+dt@kernel.org; pawel.moll@arm.com; > >>>> mark.rutland@arm.com; ijc+devicetree@hellion.org.uk; > >>>> galak@codeaurora.org; linux@arm.linux.org.uk; > >>>> linux-omap@vger.kernel.org; Reizer, Eyal > >>>> Subject: Re: [PATCH] am437x-gp-evm: add wilink8 support > >>>> > >>>> Hi Eyal, > >>>> > >>>> On 04/30/2015 05:15 AM, Eyal Reizer wrote: > >>>>> enable mmc3 used for wlan and uart3 used for bluetooth > >>>>> > >>>>> configure the gpios used for wlan and bluetooth controls > >>>>> > >>>>> add fixed voltage regulator used for wlan power control > >>>>> > >>>>> Configure shared transport support for uart3 > >>>>> > >>>>> Signed-off-by: Eyal Reizer <eyalr@ti.com> > >>>>> --- > >>>>> arch/arm/boot/dts/am437x-gp-evm.dts | 114 > >>>> ++++++++++++++++++++++++++++++++++ > >>>>> include/dt-bindings/pinctrl/am43xx.h | 1 + > >>>>> 2 files changed, 115 insertions(+) > >>>>> > >>>>> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts > >>>>> b/arch/arm/boot/dts/am437x-gp-evm.dts > >>>>> index 26956cb..2b2f715 100644 > >>>>> --- a/arch/arm/boot/dts/am437x-gp-evm.dts > >>>>> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts > >>>>> @@ -21,6 +21,7 @@ > >>>>> > >>>>> aliases { > >>>>> display0 = &lcd0; > >>>>> + serial3 = &uart3; > >>>>> }; > >>>>> > >>>>> vmmcsd_fixed: fixedregulator-sd { @@ -42,6 +43,15 @@ > >>>>> gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>; > >>>>> }; > >>>>> > >>>>> + vmmcwl_fixed: fixedregulator-mmcwl { > >>>>> + compatible = "regulator-fixed"; > >>>>> + regulator-name = "vmmcwl_fixed"; > >>>>> + regulator-min-microvolt = <1800000>; > >>>>> + regulator-max-microvolt = <1800000>; > >>>>> + gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; > >>>>> + enable-active-high; > >>>>> + }; > >>>>> + > >>>>> backlight { > >>>>> compatible = "pwm-backlight"; > >>>>> pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; @@ > >>>> -106,9 +116,25 @@ > >>>>> }; > >>>>> }; > >>>>> }; > >>>>> + > >>>>> + kim { > >>>>> + compatible = "kim"; > >>>>> + nshutdown_gpio = <48>; /* Bank1, pin16 */ > >>>>> + dev_name = "/dev/ttyS3"; > >>>>> + flow_cntrl = <1>; > >>>>> + baud_rate = <3000000>; > >>>>> + }; > >>>>> + > >>>>> + btwilink { > >>>>> + compatible = "btwilink"; > >>>>> + }; > >>>> > >>>> I'd really like to see TI working _with_ the Linux kernel bluetooth > >>>> stack, rather than working *around* it. > >>>> > >>>> The st_kim driver is really a mess, and wilink8 has no other > >>>> channels but BT, which the hci_ll BT protocol driver already handles. > >>>> > >>> > >>> Wilink8 has both Bluetooth as well as GPS using the same UART. > >> > >> Oh, great! > >> > >> What part is that? I've been all over the TI products search and have > >> only found the WL183x and WL180x series, neither of which support GPS. > >> > > > > See the below link. > > http://www.jorjin.com.tw/#!wg7871-bn/c246o > > Oh, so this isn't a part that can actually be plugged into the dedicated COM8 > header? > > IOW, the only existing h/w for that header is bluetooth only. > > >>> So the shared transport is needed also for working with the kernel > >> Bluetooth stack. > > Not true. > The kernel bluetooth stack runs fine on wilink8, by simply enabling the BT_EN > gpio. > > Moreover, if this patch goes upstream, all _future_ users will be forced to use > st_kim, even though they only have bluetooth-only h/w. > > >>> The st_kim driver indeed needs some rework and it will be looked at > >> regardless. > >>> Still we want to have wilink8 Bluetooth functional in upstream with > >>> the > >> driver that is there today. > > That's trivially possible without the kim/btwilink hunk above (eg., with > userspace sysfs gpio). > OK, Understood. I will remove the kim/btwilink part from the device tree patch, leaving only wlan and uart pin muxing and submit a v2. Best Regards, Eyal > > > >>> > >>>> > >>>>> }; > >>>>> > >>>>> &am43xx_pinmux { > >>>>> + pinctrl-names = "default", "sleep"; > >>>>> + pinctrl-0 = <&wlan_pins_default>; > >>>>> + pinctrl-1 = <&wlan_pins_sleep>; > >>>>> + > >>>>> i2c0_pins: i2c0_pins { > >>>>> pinctrl-single,pins = < > >>>>> 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | > >>>> MUX_MODE0) /* > >>>>> i2c0_sda.i2c0_sda */ @@ -340,6 +366,53 @@ > >>>>> 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | > >>>> MUX_MODE7) /* cam1_data7 mode 0*/ > >>>>> >; > >>>>> }; > >>>>> + > >>>>> + mmc3_pins_default: pinmux_mmc3_pins_default { > >>>>> + pinctrl-single,pins = < > >>>>> + 0x8c (PIN_INPUT_PULLUP | MUX_MODE3) > /* > >>>> gpmc_clk.mmc2_clk */ > >>>>> + 0x88 (PIN_INPUT_PULLUP | MUX_MODE3) > /* > >>>> gpmc_csn3.mmc2_cmd */ > >>>>> + 0x44 (PIN_INPUT_PULLUP | MUX_MODE3) > /* > >>>> gpmc_a1.mmc2_dat0 */ > >>>>> + 0x48 (PIN_INPUT_PULLUP | MUX_MODE3) > /* > >>>> gpmc_a2.mmc2_dat1 */ > >>>>> + 0x4c (PIN_INPUT_PULLUP | MUX_MODE3) > /* > >>>> gpmc_a3.mmc2_dat2 */ > >>>>> + 0x78 (PIN_INPUT_PULLUP | MUX_MODE3) > /* > >>>> gpmc_be1n.mmc2_dat3 */ > >>>>> + >; > >>>>> + }; > >>>>> + > >>>>> + mmc3_pins_sleep: pinmux_mmc3_pins_sleep { > >>>>> + pinctrl-single,pins = < > >>>>> + 0x8c (PIN_INPUT_PULLDOWN | > MUX_MODE7) /* > >>>> gpmc_clk.mmc2_clk */ > >>>>> + 0x88 (PIN_INPUT_PULLDOWN | > MUX_MODE7) /* > >>>> gpmc_csn3.mmc2_cmd */ > >>>>> + 0x44 (PIN_INPUT_PULLDOWN | > MUX_MODE7) /* > >>>> gpmc_a1.mmc2_dat0 */ > >>>>> + 0x48 (PIN_INPUT_PULLDOWN | > MUX_MODE7) /* > >>>> gpmc_a2.mmc2_dat1 */ > >>>>> + 0x4c (PIN_INPUT_PULLDOWN | > MUX_MODE7) /* > >>>> gpmc_a3.mmc2_dat2 */ > >>>>> + 0x78 (PIN_INPUT_PULLDOWN | > MUX_MODE7) /* > >>>> gpmc_be1n.mmc2_dat3 */ > >>>>> + >; > >>>>> + }; > >>>>> + > >>>>> + wlan_pins_default: pinmux_wlan_pins_default { > >>>>> + pinctrl-single,pins = < > >>>>> + 0x50 (PIN_OUTPUT_PULLDOWN | > MUX_MODE7) > >>>> /* gpmc_a4.gpio1_20 WL_EN */ > >>>>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | > MUX_MODE7) > >>>> /* gpmc_a7.gpio1_23 WL_IRQ*/ > >>>>> + 0x40 (PIN_OUTPUT_PULLDOWN | > MUX_MODE7) > >>>> /* gpmc_a0.gpio1_16 BT_EN*/ > >>>>> + >; > >>>>> + }; > >>>>> + > >>>>> + wlan_pins_sleep: pinmux_wlan_pins_sleep { > >>>>> + pinctrl-single,pins = < > >>>>> + 0x50 (PIN_OUTPUT_PULLDOWN | > MUX_MODE7) > >>>> /* gpmc_a4.gpio1_20 WL_EN */ > >>>>> + 0x5c (PIN_INPUT | WAKEUP_ENABLE | > MUX_MODE7) > >>>> /* gpmc_a7.gpio1_23 WL_IRQ*/ > >>>>> + 0x40 (PIN_OUTPUT_PULLUP | MUX_MODE7) > >>>> /* gpmc_a0.gpio1_16 BT_EN*/ > >>>>> + >; > >>>>> + }; > >>>>> + > >>>>> + uart3_pins: uart3_pins { > >>>>> + pinctrl-single,pins = < > >>>>> + 0x228 (PIN_INPUT | MUX_MODE0) > /* > >>>> uart3_rxd.uart3_rxd */ > >>>>> + 0x22c (PIN_OUTPUT_PULLDOWN | > MUX_MODE0) /* > >>>> uart3_txd.uart3_txd */ > >>>>> + 0x230 (PIN_INPUT_PULLUP | MUX_MODE0) > /* > >>>> uart3_ctsn.uart3_ctsn */ > >>>>> + 0x234 (PIN_OUTPUT_PULLDOWN | > MUX_MODE0) /* > >>>> uart3_rtsn.uart3_rtsn */ > >>>>> + >; > >>>>> + }; > >>>>> }; > >>>>> > >>>>> &i2c0 { > >>>>> @@ -446,6 +519,10 @@ > >>>>> status = "okay"; > >>>>> }; > >>>>> > >>>>> +&gpio1 { > >>>>> + status = "okay"; > >>>>> +}; > >>>>> + > >>>>> &gpio3 { > >>>>> status = "okay"; > >>>>> }; > >>>>> @@ -468,6 +545,43 @@ > >>>>> cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; > >>>>> > >>>>> +&mmc3 { > >>>>> + status = "okay"; > >>>>> + /* these are on the crossbar and are outlined in the > >>>>> + xbar-event-map element */ > >>>>> + dmas = <&edma 30 > >>>>> + &edma 31>; > >>>>> + dma-names = "tx", "rx"; > >>>>> + vmmc-supply = <&vmmcwl_fixed>; > >>>>> + bus-width = <4>; > >>>>> + pinctrl-names = "default", "sleep"; > >>>>> + pinctrl-0 = <&mmc3_pins_default>; > >>>>> + pinctrl-1 = <&mmc3_pins_sleep>; > >>>> > >>>> So the wilink8 module is the only thing that can be plugged into > >>>> the camera header? > >>>> > >>>> I think all this really needs to go into a DT overlay. > >>>> > >>> > >>> Am437x-evm has a dedicated com8 connector used for connecting the > >> wilink8 module. > >>> It is not using the camera header. > >>> > >>>> Regards, > >>>> Peter Hurley > >>>> > >>>> > >>>>> + cap-power-off-card; > >>>>> + keep-power-in-suspend; > >>>>> + ti,non-removable; > >>>>> + > >>>>> + #address-cells = <1>; > >>>>> + #size-cells = <0>; > >>>>> + wlcore: wlcore@0 { > >>>>> + compatible = "ti,wl1835"; > >>>>> + reg = <2>; > >>>>> + interrupt-parent = <&gpio1>; > >>>>> + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; > >>>>> + }; > >>>>> +}; > >>>>> + > >>>>> +&edma { > >>>>> + ti,edma-xbar-event-map = /bits/ 16 <1 30 > >>>>> + 2 31>; > >>>>> +}; > >>>>> + > >>>>> +&uart3 { > >>>>> + status = "okay"; > >>>>> + pinctrl-names = "default"; > >>>>> + pinctrl-0 = <&uart3_pins>; > >>>>> +}; > >>>>> + > >>>>> &usb2_phy1 { > >>>>> status = "okay"; > >>>>> }; > >>>>> diff --git a/include/dt-bindings/pinctrl/am43xx.h > >>>>> b/include/dt-bindings/pinctrl/am43xx.h > >>>>> index 5f4d0189..b00bbc9 100644 > >>>>> --- a/include/dt-bindings/pinctrl/am43xx.h > >>>>> +++ b/include/dt-bindings/pinctrl/am43xx.h > >>>>> @@ -21,6 +21,7 @@ > >>>>> #define SLEWCTRL_SLOW (1 << 19) > >>>>> #define SLEWCTRL_FAST 0 > >>>>> #define DS0_PULL_UP_DOWN_EN (1 << 27) > >>>>> +#define WAKEUP_ENABLE (1 << 29) > >>>>> > >>>>> #define PIN_OUTPUT (PULL_DISABLE) > >>>>> #define PIN_OUTPUT_PULLUP (PULL_UP) > >>>> > >>> > > > > Best Regards, > > Eyal > > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-05-04 11:57 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-30 9:15 [PATCH] am437x-gp-evm: add wilink8 support Eyal Reizer 2015-05-03 11:45 ` Peter Hurley 2015-05-03 12:47 ` Reizer, Eyal 2015-05-03 13:26 ` Peter Hurley 2015-05-03 13:44 ` Reizer, Eyal 2015-05-04 11:01 ` Peter Hurley 2015-05-04 11:57 ` Reizer, Eyal
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).