mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-04 02:11:25 +01:00 
			
		
		
		
	On most x86 boards, the legacy serial ports (io address 0x3f8/0x2f8) are provided by a superio chip connected to the LPC bus. We must program the superio chip so that serial ports are available for us. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			34 lines
		
	
	
		
			573 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			573 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#include <common.h>
 | 
						|
#include <asm/io.h>
 | 
						|
#include <asm/pnp_def.h>
 | 
						|
 | 
						|
static void pnp_enter_conf_state(u16 dev)
 | 
						|
{
 | 
						|
	u16 port = dev >> 8;
 | 
						|
 | 
						|
	outb(0x55, port);
 | 
						|
}
 | 
						|
 | 
						|
static void pnp_exit_conf_state(u16 dev)
 | 
						|
{
 | 
						|
	u16 port = dev >> 8;
 | 
						|
 | 
						|
	outb(0xaa, port);
 | 
						|
}
 | 
						|
 | 
						|
void lpc47m_enable_serial(u16 dev, u16 iobase)
 | 
						|
{
 | 
						|
	pnp_enter_conf_state(dev);
 | 
						|
	pnp_set_logical_device(dev);
 | 
						|
	pnp_set_enable(dev, 0);
 | 
						|
	pnp_set_iobase(dev, PNP_IDX_IO0, iobase);
 | 
						|
	pnp_set_enable(dev, 1);
 | 
						|
	pnp_exit_conf_state(dev);
 | 
						|
}
 |