[U-Boot] Enabling uart 3 in arndale
armdev
armdev.ftm at gmail.com
Mon Mar 31 05:47:01 CEST 2014
Dear tomaz
Waiting for your reply...
On 28-Mar-2014, at 3:12 pm, armdev <armdev.ftm at gmail.com> wrote:
> Dear Tomasz,
>
> On 16-Mar-2014, at 6:23 pm, Tomasz Figa <tomasz.figa at gmail.com> wrote:
>
>> Hi,
>>
>> On 14.03.2014 09:04, armdev wrote:
>>> Hi,
>>>
>>> We are trying to enable the UART3 on COM18 pins of arndale board. The UART3 RXD and TXD are on pins 2 and 4 which as per the base board specification is connected as
>>>
>>> XuRXD3 : UART_3_RXD/GPA1[4] : 2
>>> XuTXD3 : UART_3_TXD/GPA1[5] : 4
>>>
>>> As per the public reference manual of exynos 5250, there is a register GPACON (0x1140_0000)
>>> Setting GPACON |= 0x0010_0000 should enable the pins, but I am not able to see any output on UART3.
>>>
>>> Can you please suggest what is the right procedure
>>
>> The register is GPA1CON and its GPA1CON[4] and [5] bit fields need both to be set to 0x2 - see Pad Control chapter of Exynos5250 public datasheet. Also GPA1PUD should be reconfigured to disable default pull-down on both pins, again you can find details of the register in the datasheet.
>>
>> Best regards,
>> Tomasz
>
> Based on the steps provided, we are still not able to get some output on UART3 simultaneously with UART2.
> Can you please help us find out what we are missing.
>
> On the current u-boot, Following was the observation and steps to enable UART3 on arndale
>
> Observations / Questions
> ——————————————
> a) The board has the default UART set to UART2 which is at 0x12c20000, while the include/configs/arndale.h has the UART_OFFSET set to 0x010000.
> Shouldn’t it be set to 0x20000 ?
>
> b) board_uart_init in board/samsung/arndale/arndale.c is configuring all the uarts,
> Clocks would be set properly for all 4 uarts ?
>
> Steps / Code Modified
> ——————————————
> a) GPAICON[4] and [5] set to 0x2 in board/samsung/arndale/arndale.c
> b) GPA1PUD [4] and [5] set to 0.
>
> diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
> index 9efc355..4fb291e 100644
> --- a/board/samsung/arndale/arndale.c
> +++ b/board/samsung/arndale/arndale.c
> @@ -102,12 +102,18 @@ static int board_uart_init(void)
> int board_early_init_f(void)
> {
> int err;
> -
> + volatile unsigned int *gpa1con = (volatile unsigned int *)0x11400020;
> + volatile unsigned int *gpa1pud = (volatile unsigned int *)0x11400028;
> err = board_uart_init();
> if (err) {
> debug("UART init failed\n");
> return err;
> }
> + serial_init_dev(2);
> + serial_setbrg_dev(2);
> + *gpa1con |= 0x00220000;
> + *gpa1pud &= 0xfffff0ff;
> +
> return err;
> }
> #endif
>
More information about the U-Boot
mailing list