Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1483211 > unrolled thread
| Started by | zhichang <zhichang.yuan02@gmail.com> |
|---|---|
| First post | 2016-09-14 13:30 +0200 |
| Last post | 2016-09-14 14:40 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH V2 4/4] ARM64 LPC: support earlycon for UART connected to LPC zhichang <zhichang.yuan02@gmail.com> - 2016-09-14 13:30 +0200
Re: [PATCH V2 4/4] ARM64 LPC: support earlycon for UART connected to LPC Arnd Bergmann <arnd@arndb.de> - 2016-09-14 14:40 +0200
| From | zhichang <zhichang.yuan02@gmail.com> |
|---|---|
| Date | 2016-09-14 13:30 +0200 |
| Subject | Re: [PATCH V2 4/4] ARM64 LPC: support earlycon for UART connected to LPC |
| Message-ID | <shgy5-dA-17@gated-at.bofh.it> |
On 2016年09月08日 19:04, Arnd Bergmann wrote: > On Thursday, September 8, 2016 6:04:31 PM CEST zhichang wrote: >> Hi, Arnd, >> >> On 2016年09月07日 22:52, Arnd Bergmann wrote: >>> On Wednesday, September 7, 2016 9:33:53 PM CEST Zhichang Yuan wrote: >>>> From: "zhichang.yuan" <yuanzhichang@hisilicon.com> >>>> >>>> This patch support the earlycon for UART connected to LPC on Hip06. >>>> This patch is depended on the LPC driver. >>>> >>>> Signed-off-by: zhichang.yuan <yuanzhichang@hisilicon.com> >>>> >>> >>> I'm skeptical about this too. Is this just needed because the 8250 >>> earlycon support comes before the lpc bus initialization? >> I think you wonder why early_serial8250_setup can not be used direclty for this earlycon of LPC uart. >> >> 1. the earlycon kernel parameter format of LPC uart is different from 8250. something like that >> "earlycon=hisilpcuart,mmio,0xa01b0000,0,0x2f8". You see, there is one more parameter after the baudrate. > > We should never need to specify the addresses manually like this, > it's actually supposed to work if you just list "earlycon" here. Do you mean flat-tree earlycon? Ok, will support this in V3. > > The first membase is apparently only used during setup: > > + writel(LPC_IRQ_CLEAR, device->port.membase + LPC_REG_IRQ_ST); > + /* ensure the LPC is available */ > + while (!(readl(device->port.membase + LPC_REG_OP_STATUS) & > + LPC_STATUS_IDLE)) > > Why doesn't the firmware do this before handing off control of > the kernel to the console? This is a checking on the LPC controller status. I think we can keep this here. > >> Hip06 LPC uart need two base addresses for earlycon. >> 2. the IO type is mmio to introduce a memory base address to access LPC register file. But the real uart >> IO type is UPIO_PORT. This is spcial... > > This sounds like a deficiency in the of_setup_earlycon() function, > which can only handle MMIO addresses, and won't actually > be able to understand nodes without a "ranges" property like > you have here. > Yes. The current of_setup_earlycon only support MMIO and the first reg property must be memory. We can not support our LPC uart without any new code. But we can implement a private earlycon setup function and register it to the __earlycon_table, things will be ok. I will do it in V3. Best, Zhichang > I think we need to add a special case for port ranges here. > > Arnd >
[toc] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2016-09-14 14:40 +0200 |
| Subject | Re: [PATCH V2 4/4] ARM64 LPC: support earlycon for UART connected to LPC |
| Message-ID | <shhDQ-SQ-17@gated-at.bofh.it> |
| In reply to | #1483211 |
On Wednesday, September 14, 2016 7:26:22 PM CEST zhichang wrote: > > > > >> Hip06 LPC uart need two base addresses for earlycon. > >> 2. the IO type is mmio to introduce a memory base address to access LPC register file. But the real uart > >> IO type is UPIO_PORT. This is spcial... > > > > This sounds like a deficiency in the of_setup_earlycon() function, > > which can only handle MMIO addresses, and won't actually > > be able to understand nodes without a "ranges" property like > > you have here. > > > Yes. > The current of_setup_earlycon only support MMIO and the first reg property must be memory. > > We can not support our LPC uart without any new code. > But we can implement a private earlycon setup function and register > it to the __earlycon_table, things will be ok. I still think you should adapt of_setup_earlycon instead to handle IORESOURCE_IO registers. Arnd
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web