[U-Boot] [PATCH v3 4/4] x86: minnowmax: initialize the pin-muxing from device tree

gabriel huau contact at huau-gabriel.fr
Tue May 26 07:30:50 CEST 2015


Hi Simon,

I just submitted a new version of the patch, actually, when I tried to 
use the GPIO on the header I saw a typo in the code.

To test it, you have to define these nodes in the device tree (should be 
there by default or not?):

         soc_gpio_s5_0 at 0 {
             gpio-offset = <0x80 0>;
             pad-offset = <0x1d0>;
             mode-gpio;
             output-value = <0>;
             direction = <PIN_OUTPUT>;
         };

         soc_gpio_s5_1 at 0 {
             gpio-offset = <0x80 1>;
             pad-offset = <0x210>;
             mode-gpio;
             output-value = <0>;
             direction = <PIN_OUTPUT>;
         };

         soc_gpio_s5_2 at 0 {
             gpio-offset = <0x80 2>;
             pad-offset = <0x1e0>;
             mode-gpio;
             output-value = <0>;
             direction = <PIN_OUTPUT>;
         };

And after, you can use the GPIO commands:

=> gpio set E0
gpio: pin E0 (gpio 128) value is 1
=> gpio clear E0
gpio: pin E0 (gpio 128) value is 0
=> gpio set E2
gpio: pin E2 (gpio 130) value is 1
=> gpio clear E2
gpio: pin E2 (gpio 130) value is 0

E0 E1 and E2 correspond to the GPIO0 1 and 2.

Regards,
Gabriel

On 05/20/2015 07:21 AM, Simon Glass wrote:
> Hi Gabriel,
>
> I have two patches in patchwork:
>
> http://patchwork.ozlabs.org/patch/471146/
> http://patchwork.ozlabs.org/patch/471147/
>
> Are they the correct ones? Also do you know how to use the gpio
> command to toggle a bin on the Minnowboard MAX header? I'd like to try
> that.
>
> Regards,
> Simon
>
>
> On 12 May 2015 at 00:20, gabriel huau <contact at huau-gabriel.fr> wrote:
>> Please ignore this email/patch, I put the wrong message id ...
>>
>>
>> On 05/11/2015 11:12 PM, Gabriel Huau wrote:
>>> Signed-off-by: Gabriel Huau <contact at huau-gabriel.fr>
>>> Acked-by: Simon Glass <sjg at chromium.org>
>>>
>>> ---
>>>
>>> Changes in v3:
>>>       - Rebase to the origin/master
>>>
>>> Changes in v2:
>>>       - Fix ordering of include header
>>>
>>>    board/intel/minnowmax/minnowmax.c | 9 +++++++++
>>>    include/configs/minnowmax.h       | 1 +
>>>    2 files changed, 10 insertions(+)
>>>
>>> diff --git a/board/intel/minnowmax/minnowmax.c
>>> b/board/intel/minnowmax/minnowmax.c
>>> index 1f5549a..383cae0 100644
>>> --- a/board/intel/minnowmax/minnowmax.c
>>> +++ b/board/intel/minnowmax/minnowmax.c
>>> @@ -5,6 +5,7 @@
>>>     */
>>>      #include <common.h>
>>> +#include <asm/gpio.h>
>>>    #include <asm/ibmpc.h>
>>>    #include <asm/pnp_def.h>
>>>    #include <netdev.h>
>>> @@ -12,6 +13,14 @@
>>>      #define SERIAL_DEV PNP_DEV(0x2e, 4)
>>>    +int arch_early_init_r(void)
>>> +{
>>> +       /* do the pin-muxing */
>>> +       gpio_ich6_pinctrl_init();
>>> +
>>> +       return 0;
>>> +}
>>> +
>>>    int board_early_init_f(void)
>>>    {
>>>          lpc47m_enable_serial(SERIAL_DEV, UART0_BASE, UART0_IRQ);
>>> diff --git a/include/configs/minnowmax.h b/include/configs/minnowmax.h
>>> index eb35a50..547765d 100644
>>> --- a/include/configs/minnowmax.h
>>> +++ b/include/configs/minnowmax.h
>>> @@ -15,6 +15,7 @@
>>>      #define CONFIG_SYS_MONITOR_LEN              (1 << 20)
>>>    #define CONFIG_BOARD_EARLY_INIT_F
>>> +#define CONFIG_ARCH_EARLY_INIT_R
>>>      #define CONFIG_X86_SERIAL
>>>    #define CONFIG_SMSC_LPC47M
>>



More information about the U-Boot mailing list