From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Mon, 18 Jan 2016 09:24:04 +0100 Subject: [U-Boot] x86: Bay Trail support with W83627DHG In-Reply-To: References: <5699041E.2050602@denx.de> <569AFDE3.5050300@denx.de> <569BD310.9030009@denx.de> Message-ID: <569CA124.7010000@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Bin, On 18.01.2016 04:03, Bin Meng wrote: > On Mon, Jan 18, 2016 at 1:44 AM, Stefan Roese wrote: >> Hi Bin, >> >> On 17.01.2016 03:35, Stefan Roese wrote: >>> >>> On 16.01.2016 15:08, Bin Meng wrote: >>>> >>>> On Fri, Jan 15, 2016 at 10:37 PM, Stefan Roese wrote: >>>>> >>>>> Hi Simon, Hi Bin! >>>>> >>>>> I'm currently busy with porting U-Boot to a Bay Trail board. >>>>> Equipped with an Intel Atom E3845 and additionally the >>>>> Nuvoton / Winbond W83627DHG Super IO chip. >>>>> >>>>> My staring point for this port is the Minnowboard MAX, which >>>>> works very well btw. I've used the same binaries as described >>>>> in the README.x86 as on the MinnowMAX for this new Bay Trail >>>>> board. But am not able yet to see any output on the DEBUG_UART. >>>>> >>>>> Bin, you already mentioned in a previous mail, that I need to >>>>> enable the legacy UART in the Super IO chip for this. I've >>>>> started adding a small driver for this, similar to the one >>>>> you've introduced for the SMSC: >>>> >>>> >>>> Ah, looks I delivered inaccurate information before! I just remember >>>> BayTrail SoC integrates a legacy UART at I/O 0x3f8 and it is enabled >>>> by FSP by default. If you use a debug version of FSP (only gold4 >>>> release provides a debug version FSP), you will se lots of useful >>>> debug information printed on the serial port (the one connected to the >>>> SoC legacy UART). But, why does your board have an additional Nuvoton >>>> / Winbond W83627DHG Super IO chip? I guess it's for other legacy >>>> peripherals like 8042 KBC, etc? We need figure out the serial port you >>>> are trying to enable is connected to which chip. If it is connected >>>> directly to BayTrail SoC, then you don't need program this W83627DHG. >>> >>> >>> It is connected to the Winbond UART. So we need to enable and use it. >>> But how can I disable the BayTrail internal legacy UART? So that the >>> Winbond one is really used? >> >> >> Okay. I was able to work around this problem with the included >> legacy UART in the Bay Trail Atom. By moving the IO base address >> of the Winbond COM1 from 0x3f8 to a different (unused) location. >> And then using this new address as the UART base address. U-Boot >> boots to the prompt with the "fixed" memory-down DDR parameters >> to the FSP in this configuration. > > This is great! > >> >> Still I would really like to disable the internal legacy UART >> and only use the Winbond UART(s) at the default address. Disabling >> the Bay Trail legacy UART by clearing the "UART_CONT.COM1EN" bit, >> as described in the "Intel AtomTM Processor E3800 Product Family >> Datasheet", does not seem to fix this problem. I need to double >> check this tomorrow though. >> >> Bin, Simon, do you have any ideas on how to disable this Atom >> legacy UART instead. It must be possible, as when booting into >> Linux with the original BIOS, the Winbond COM1 works just fine >> at 0x3f8. >> > > I checked FSP VPD of BayTrial, looks Intel does not expose a config > option to enable/disable the legacy UART integrated into the SoC, > neither an option to move its I/O address, instead it enables the > legacy UART always and has a fixed address 0x3f8. Per my understanding > of the datasheet, I think you are right, "UART_CONT.COM1EN" bit should > be the key to enable/disable the legacy UART. But I suspect FSP turns > it on again during every call to the FSP API (like fsp_init(), > fsp_notify()). > > You may try: after each call to fsp_init() and fsp_notify(), try > adding the codes to turn off the "UART_CONT.COM1EN" bit and see what's > going on there. This seems to work. Thanks. I'll prepare a patch to support the non-internal legacy UART on BayTrail for this. Thanks, Stefan