diff mbox

[U-Boot] OMAP3: igep0020: Add pad config for WIFI/BT GPIOs

Message ID 1351384921-16455-1-git-send-email-anders.j.hedlund@gmail.com
State Rejected
Delegated to: Tom Rini
Headers show

Commit Message

Anders Hedlund Oct. 28, 2012, 12:42 a.m. UTC
This adds support for WIFI/BT GPIOs which were previously missing.

Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Cc: Jonas Zetterberg <jozz@jozz.se>
---
 board/isee/igep0020/igep0020.h |    6 ++++++
 1 file changed, 6 insertions(+)

Comments

Enric Balletbo Serra Oct. 29, 2012, 8:05 a.m. UTC | #1
Hi,

2012/10/28 Anders Hedlund <anders.j.hedlund@gmail.com>:
> This adds support for WIFI/BT GPIOs which were previously missing.
>
> Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
> Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
> Cc: Jonas Zetterberg <jozz@jozz.se>
> ---
>  board/isee/igep0020/igep0020.h |    6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/board/isee/igep0020/igep0020.h b/board/isee/igep0020/igep0020.h
> index 3335ecc..283b75e 100644
> --- a/board/isee/igep0020/igep0020.h
> +++ b/board/isee/igep0020/igep0020.h
> @@ -132,6 +132,12 @@ static void setup_net_chip(void);
>         MUX_VAL(CP(MMC1_DAT1),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT1 */\
>         MUX_VAL(CP(MMC1_DAT2),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT2 */\
>         MUX_VAL(CP(MMC1_DAT3),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT3 */\
> +       MUX_VAL(CP(CAM_HS),         (IDIS | PTU | DIS | M4)) /* GPIO_94 */\
> +       MUX_VAL(CP(CAM_VS),         (IDIS | PTU | DIS | M4)) /* GPIO_95 */\
> +       MUX_VAL(CP(MMC2_DAT4),      (IDIS | PTU | DIS | M4)) /* GPIO_136 */\
> +       MUX_VAL(CP(MMC2_DAT5),      (IDIS | PTU | DIS | M4)) /* GPIO_137 */\
> +       MUX_VAL(CP(MMC2_DAT6),      (IDIS | PTU | DIS | M4)) /* GPIO_138 */\
> +       MUX_VAL(CP(MMC2_DAT7),      (IDIS | PTU | DIS | M4)) /* GPIO_139 */\
>         MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /* UART3_TX */\
>         MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /* UART3_RX */\
>         MUX_VAL(CP(I2C1_SCL),       (IEN  | PTU | EN  | M0)) /* I2C1_SCL */\
> --
> 1.7.10.4
>

Thanks for the patch but u-boot should only mux the pins they use, as
u-boot does not use wifi this is not applicable here.

Did you have problems with wifi ? Then we should check if these pins
are muxe'd at kernel level, I think so.

Cheers,
   Enric
Anders Hedlund Oct. 29, 2012, 9:36 a.m. UTC | #2
2012/10/29 Enric Balletbo Serra <eballetbo@gmail.com>:
> Hi,
>
> 2012/10/28 Anders Hedlund <anders.j.hedlund@gmail.com>:
>> This adds support for WIFI/BT GPIOs which were previously missing.
>>
>> Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
>> Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
>> Cc: Jonas Zetterberg <jozz@jozz.se>
>> ---
>>  board/isee/igep0020/igep0020.h |    6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/board/isee/igep0020/igep0020.h b/board/isee/igep0020/igep0020.h
>> index 3335ecc..283b75e 100644
>> --- a/board/isee/igep0020/igep0020.h
>> +++ b/board/isee/igep0020/igep0020.h
>> @@ -132,6 +132,12 @@ static void setup_net_chip(void);
>>         MUX_VAL(CP(MMC1_DAT1),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT1 */\
>>         MUX_VAL(CP(MMC1_DAT2),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT2 */\
>>         MUX_VAL(CP(MMC1_DAT3),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT3 */\
>> +       MUX_VAL(CP(CAM_HS),         (IDIS | PTU | DIS | M4)) /* GPIO_94 */\
>> +       MUX_VAL(CP(CAM_VS),         (IDIS | PTU | DIS | M4)) /* GPIO_95 */\
>> +       MUX_VAL(CP(MMC2_DAT4),      (IDIS | PTU | DIS | M4)) /* GPIO_136 */\
>> +       MUX_VAL(CP(MMC2_DAT5),      (IDIS | PTU | DIS | M4)) /* GPIO_137 */\
>> +       MUX_VAL(CP(MMC2_DAT6),      (IDIS | PTU | DIS | M4)) /* GPIO_138 */\
>> +       MUX_VAL(CP(MMC2_DAT7),      (IDIS | PTU | DIS | M4)) /* GPIO_139 */\
>>         MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /* UART3_TX */\
>>         MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /* UART3_RX */\
>>         MUX_VAL(CP(I2C1_SCL),       (IEN  | PTU | EN  | M0)) /* I2C1_SCL */\
>> --
>> 1.7.10.4
>>
>
> Thanks for the patch but u-boot should only mux the pins they use, as
> u-boot does not use wifi this is not applicable here.
>
> Did you have problems with wifi ? Then we should check if these pins
> are muxe'd at kernel level, I think so.

Yes. In linux kernel v3.6 WIFI/BT does not work due to this issue. I
also have a fix for this but in my oppinion this kind of HW
configuration should be made in the boot loader.

Br,
Anders

>
> Cheers,
>    Enric
Enric Balletbo Serra Oct. 29, 2012, 10:23 a.m. UTC | #3
2012/10/29 Anders Hedlund <anders.j.hedlund@gmail.com>:
> 2012/10/29 Enric Balletbo Serra <eballetbo@gmail.com>:
>> Hi,
>>
>> 2012/10/28 Anders Hedlund <anders.j.hedlund@gmail.com>:
>>> This adds support for WIFI/BT GPIOs which were previously missing.
>>>
>>> Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
>>> Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
>>> Cc: Jonas Zetterberg <jozz@jozz.se>
>>> ---
>>>  board/isee/igep0020/igep0020.h |    6 ++++++
>>>  1 file changed, 6 insertions(+)
>>>
>>> diff --git a/board/isee/igep0020/igep0020.h b/board/isee/igep0020/igep0020.h
>>> index 3335ecc..283b75e 100644
>>> --- a/board/isee/igep0020/igep0020.h
>>> +++ b/board/isee/igep0020/igep0020.h
>>> @@ -132,6 +132,12 @@ static void setup_net_chip(void);
>>>         MUX_VAL(CP(MMC1_DAT1),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT1 */\
>>>         MUX_VAL(CP(MMC1_DAT2),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT2 */\
>>>         MUX_VAL(CP(MMC1_DAT3),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT3 */\
>>> +       MUX_VAL(CP(CAM_HS),         (IDIS | PTU | DIS | M4)) /* GPIO_94 */\
>>> +       MUX_VAL(CP(CAM_VS),         (IDIS | PTU | DIS | M4)) /* GPIO_95 */\
>>> +       MUX_VAL(CP(MMC2_DAT4),      (IDIS | PTU | DIS | M4)) /* GPIO_136 */\
>>> +       MUX_VAL(CP(MMC2_DAT5),      (IDIS | PTU | DIS | M4)) /* GPIO_137 */\
>>> +       MUX_VAL(CP(MMC2_DAT6),      (IDIS | PTU | DIS | M4)) /* GPIO_138 */\
>>> +       MUX_VAL(CP(MMC2_DAT7),      (IDIS | PTU | DIS | M4)) /* GPIO_139 */\
>>>         MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /* UART3_TX */\
>>>         MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /* UART3_RX */\
>>>         MUX_VAL(CP(I2C1_SCL),       (IEN  | PTU | EN  | M0)) /* I2C1_SCL */\
>>> --
>>> 1.7.10.4
>>>
>>
>> Thanks for the patch but u-boot should only mux the pins they use, as
>> u-boot does not use wifi this is not applicable here.
>>
>> Did you have problems with wifi ? Then we should check if these pins
>> are muxe'd at kernel level, I think so.
>
> Yes. In linux kernel v3.6 WIFI/BT does not work due to this issue. I
> also have a fix for this but in my oppinion this kind of HW
> configuration should be made in the boot loader.

This was discussed before in this ML, and the result of the discussion
was that bootloaders should set only the minimum required for the
uboot functionality and kernel boot. So the way to fix this problem is
muxing these pins in kernel.

Cheers,
   Enric

>
> Br,
> Anders
>
>>
>> Cheers,
>>    Enric
Anders Hedlund Oct. 29, 2012, 10:32 a.m. UTC | #4
2012/10/29 Enric Balletbo Serra <eballetbo@gmail.com>:
> 2012/10/29 Anders Hedlund <anders.j.hedlund@gmail.com>:
>> 2012/10/29 Enric Balletbo Serra <eballetbo@gmail.com>:
>>> Hi,
>>>
>>> 2012/10/28 Anders Hedlund <anders.j.hedlund@gmail.com>:
>>>> This adds support for WIFI/BT GPIOs which were previously missing.
>>>>
>>>> Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
>>>> Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
>>>> Cc: Jonas Zetterberg <jozz@jozz.se>
>>>> ---
>>>>  board/isee/igep0020/igep0020.h |    6 ++++++
>>>>  1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/board/isee/igep0020/igep0020.h b/board/isee/igep0020/igep0020.h
>>>> index 3335ecc..283b75e 100644
>>>> --- a/board/isee/igep0020/igep0020.h
>>>> +++ b/board/isee/igep0020/igep0020.h
>>>> @@ -132,6 +132,12 @@ static void setup_net_chip(void);
>>>>         MUX_VAL(CP(MMC1_DAT1),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT1 */\
>>>>         MUX_VAL(CP(MMC1_DAT2),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT2 */\
>>>>         MUX_VAL(CP(MMC1_DAT3),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT3 */\
>>>> +       MUX_VAL(CP(CAM_HS),         (IDIS | PTU | DIS | M4)) /* GPIO_94 */\
>>>> +       MUX_VAL(CP(CAM_VS),         (IDIS | PTU | DIS | M4)) /* GPIO_95 */\
>>>> +       MUX_VAL(CP(MMC2_DAT4),      (IDIS | PTU | DIS | M4)) /* GPIO_136 */\
>>>> +       MUX_VAL(CP(MMC2_DAT5),      (IDIS | PTU | DIS | M4)) /* GPIO_137 */\
>>>> +       MUX_VAL(CP(MMC2_DAT6),      (IDIS | PTU | DIS | M4)) /* GPIO_138 */\
>>>> +       MUX_VAL(CP(MMC2_DAT7),      (IDIS | PTU | DIS | M4)) /* GPIO_139 */\
>>>>         MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /* UART3_TX */\
>>>>         MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /* UART3_RX */\
>>>>         MUX_VAL(CP(I2C1_SCL),       (IEN  | PTU | EN  | M0)) /* I2C1_SCL */\
>>>> --
>>>> 1.7.10.4
>>>>
>>>
>>> Thanks for the patch but u-boot should only mux the pins they use, as
>>> u-boot does not use wifi this is not applicable here.
>>>
>>> Did you have problems with wifi ? Then we should check if these pins
>>> are muxe'd at kernel level, I think so.
>>
>> Yes. In linux kernel v3.6 WIFI/BT does not work due to this issue. I
>> also have a fix for this but in my oppinion this kind of HW
>> configuration should be made in the boot loader.
>
> This was discussed before in this ML, and the result of the discussion
> was that bootloaders should set only the minimum required for the
> uboot functionality and kernel boot. So the way to fix this problem is
> muxing these pins in kernel.

Ok. Thanks for this info. I'll withdraw this patch and make one of the
linux kernel instead.

Br,
Anders

>
> Cheers,
>    Enric
>
>>
>> Br,
>> Anders
>>
>>>
>>> Cheers,
>>>    Enric
diff mbox

Patch

diff --git a/board/isee/igep0020/igep0020.h b/board/isee/igep0020/igep0020.h
index 3335ecc..283b75e 100644
--- a/board/isee/igep0020/igep0020.h
+++ b/board/isee/igep0020/igep0020.h
@@ -132,6 +132,12 @@  static void setup_net_chip(void);
 	MUX_VAL(CP(MMC1_DAT1),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT1 */\
 	MUX_VAL(CP(MMC1_DAT2),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT2 */\
 	MUX_VAL(CP(MMC1_DAT3),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT3 */\
+	MUX_VAL(CP(CAM_HS),         (IDIS | PTU | DIS | M4)) /* GPIO_94 */\
+	MUX_VAL(CP(CAM_VS),         (IDIS | PTU | DIS | M4)) /* GPIO_95 */\
+	MUX_VAL(CP(MMC2_DAT4),      (IDIS | PTU | DIS | M4)) /* GPIO_136 */\
+	MUX_VAL(CP(MMC2_DAT5),      (IDIS | PTU | DIS | M4)) /* GPIO_137 */\
+	MUX_VAL(CP(MMC2_DAT6),      (IDIS | PTU | DIS | M4)) /* GPIO_138 */\
+	MUX_VAL(CP(MMC2_DAT7),      (IDIS | PTU | DIS | M4)) /* GPIO_139 */\
 	MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /* UART3_TX */\
 	MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /* UART3_RX */\
 	MUX_VAL(CP(I2C1_SCL),       (IEN  | PTU | EN  | M0)) /* I2C1_SCL */\