mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-28 23:50:26 +09:00
powerpc, 8xx: move Serial driver to drivers/serial/
At the same time, move to Kconfig Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
This commit is contained in:
parent
f88c431b8a
commit
dd7ff4721a
19
README
19
README
@ -687,29 +687,10 @@ The following options need to be configured:
|
|||||||
Define this variable to enable hw flow control in serial driver.
|
Define this variable to enable hw flow control in serial driver.
|
||||||
Current user of this option is drivers/serial/nsl16550.c driver
|
Current user of this option is drivers/serial/nsl16550.c driver
|
||||||
|
|
||||||
- Console Interface:
|
|
||||||
Depending on board, define exactly one serial port
|
|
||||||
(CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2),
|
|
||||||
or switch off the serial console by defining
|
|
||||||
CONFIG_8xx_CONS_NONE
|
|
||||||
|
|
||||||
Note: if CONFIG_8xx_CONS_NONE is defined, the serial
|
|
||||||
port routines must be defined elsewhere
|
|
||||||
(i.e. serial_init(), serial_getc(), ...)
|
|
||||||
|
|
||||||
- Console Baudrate:
|
- Console Baudrate:
|
||||||
CONFIG_BAUDRATE - in bps
|
CONFIG_BAUDRATE - in bps
|
||||||
Select one of the baudrates listed in
|
Select one of the baudrates listed in
|
||||||
CONFIG_SYS_BAUDRATE_TABLE, see below.
|
CONFIG_SYS_BAUDRATE_TABLE, see below.
|
||||||
CONFIG_SYS_BRGCLK_PRESCALE, baudrate prescale
|
|
||||||
|
|
||||||
- Console Rx buffer length
|
|
||||||
With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
|
|
||||||
the maximum receive buffer length for the SMC.
|
|
||||||
This option is actual only for 8xx possible.
|
|
||||||
If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
|
|
||||||
must be defined, to setup the maximum idle timeout for
|
|
||||||
the SMC.
|
|
||||||
|
|
||||||
- Autoboot Command:
|
- Autoboot Command:
|
||||||
CONFIG_BOOTCOMMAND
|
CONFIG_BOOTCOMMAND
|
||||||
|
@ -13,5 +13,4 @@ obj-$(CONFIG_OF_LIBFDT) += fdt.o
|
|||||||
obj-$(CONFIG_CMD_IMMAP) += immap.o
|
obj-$(CONFIG_CMD_IMMAP) += immap.o
|
||||||
obj-y += interrupts.o
|
obj-y += interrupts.o
|
||||||
obj-$(CONFIG_CMD_REGINFO) += reginfo.o
|
obj-$(CONFIG_CMD_REGINFO) += reginfo.o
|
||||||
obj-y += serial.o
|
|
||||||
obj-y += speed.o
|
obj-y += speed.o
|
||||||
|
@ -491,4 +491,57 @@ config STI_ASC_SERIAL
|
|||||||
on STiH410 SoC. This is a basic implementation, it supports
|
on STiH410 SoC. This is a basic implementation, it supports
|
||||||
following baudrate 9600, 19200, 38400, 57600 and 115200.
|
following baudrate 9600, 19200, 38400, 57600 and 115200.
|
||||||
|
|
||||||
|
config MPC8XX_CONS
|
||||||
|
bool "Console driver for MPC8XX"
|
||||||
|
depends on 8xx
|
||||||
|
default y
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Console port"
|
||||||
|
default 8xx_CONS_SMC1
|
||||||
|
depends on MPC8XX_CONS
|
||||||
|
help
|
||||||
|
Depending on board, select one serial port
|
||||||
|
(CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2)
|
||||||
|
|
||||||
|
config 8xx_CONS_SMC1
|
||||||
|
bool "SMC1"
|
||||||
|
|
||||||
|
config 8xx_CONS_SMC2
|
||||||
|
bool "SMC2"
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config SYS_SMC_RXBUFLEN
|
||||||
|
int "Console Rx buffer length"
|
||||||
|
depends on MPC8XX_CONS
|
||||||
|
default 1
|
||||||
|
help
|
||||||
|
With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
|
||||||
|
the maximum receive buffer length for the SMC.
|
||||||
|
This option is actual only for 8xx possible.
|
||||||
|
If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
|
||||||
|
must be defined, to setup the maximum idle timeout for
|
||||||
|
the SMC.
|
||||||
|
|
||||||
|
config SYS_MAXIDLE
|
||||||
|
int "maximum idle timeout"
|
||||||
|
depends on MPC8XX_CONS
|
||||||
|
default 0
|
||||||
|
|
||||||
|
config SYS_BRGCLK_PRESCALE
|
||||||
|
int "BRG Clock Prescale"
|
||||||
|
depends on MPC8XX_CONS
|
||||||
|
default 1
|
||||||
|
|
||||||
|
config SYS_SDSR
|
||||||
|
hex "SDSR Value"
|
||||||
|
depends on MPC8XX_CONS
|
||||||
|
default 0x83
|
||||||
|
|
||||||
|
config SYS_SDMR
|
||||||
|
hex "SDMR Value"
|
||||||
|
depends on MPC8XX_CONS
|
||||||
|
default 0
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@ -48,6 +48,7 @@ obj-$(CONFIG_STM32X7_SERIAL) += serial_stm32x7.o
|
|||||||
obj-$(CONFIG_BCM283X_MU_SERIAL) += serial_bcm283x_mu.o
|
obj-$(CONFIG_BCM283X_MU_SERIAL) += serial_bcm283x_mu.o
|
||||||
obj-$(CONFIG_MSM_SERIAL) += serial_msm.o
|
obj-$(CONFIG_MSM_SERIAL) += serial_msm.o
|
||||||
obj-$(CONFIG_MVEBU_A3700_UART) += serial_mvebu_a3700.o
|
obj-$(CONFIG_MVEBU_A3700_UART) += serial_mvebu_a3700.o
|
||||||
|
obj-$(CONFIG_MPC8XX_CONS) += serial_mpc8xx.o
|
||||||
|
|
||||||
ifndef CONFIG_SPL_BUILD
|
ifndef CONFIG_SPL_BUILD
|
||||||
obj-$(CONFIG_USB_TTY) += usbtty.o
|
obj-$(CONFIG_USB_TTY) += usbtty.o
|
||||||
|
@ -14,8 +14,6 @@
|
|||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
#if !defined(CONFIG_8xx_CONS_NONE) /* No Console at all */
|
|
||||||
|
|
||||||
#if defined(CONFIG_8xx_CONS_SMC1) /* Console on SMC1 */
|
#if defined(CONFIG_8xx_CONS_SMC1) /* Console on SMC1 */
|
||||||
#define SMC_INDEX 0
|
#define SMC_INDEX 0
|
||||||
#define PROFF_SMC PROFF_SMC1
|
#define PROFF_SMC PROFF_SMC1
|
||||||
@ -30,15 +28,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||||||
|
|
||||||
#endif /* CONFIG_8xx_CONS_SMCx */
|
#endif /* CONFIG_8xx_CONS_SMCx */
|
||||||
|
|
||||||
#if !defined(CONFIG_SYS_SMC_RXBUFLEN)
|
|
||||||
#define CONFIG_SYS_SMC_RXBUFLEN 1
|
|
||||||
#define CONFIG_SYS_MAXIDLE 0
|
|
||||||
#else
|
|
||||||
#if !defined(CONFIG_SYS_MAXIDLE)
|
|
||||||
#error "you must define CONFIG_SYS_MAXIDLE"
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct serialbuffer {
|
struct serialbuffer {
|
||||||
cbd_t rxbd; /* Rx BD */
|
cbd_t rxbd; /* Rx BD */
|
||||||
cbd_t txbd; /* Tx BD */
|
cbd_t txbd; /* Tx BD */
|
||||||
@ -56,9 +45,7 @@ static void serial_setdivisor(cpm8xx_t __iomem *cp)
|
|||||||
divisor = (50 * 1000 * 1000 + 8 * 9600) / 16 / 9600;
|
divisor = (50 * 1000 * 1000 + 8 * 9600) / 16 / 9600;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_BRGCLK_PRESCALE
|
|
||||||
divisor /= CONFIG_SYS_BRGCLK_PRESCALE;
|
divisor /= CONFIG_SYS_BRGCLK_PRESCALE;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (divisor <= 0x1000)
|
if (divisor <= 0x1000)
|
||||||
out_be32(&cp->cp_brgc1, ((divisor - 1) << 1) | CPM_BRG_EN);
|
out_be32(&cp->cp_brgc1, ((divisor - 1) << 1) | CPM_BRG_EN);
|
||||||
@ -110,18 +97,10 @@ static int smc_init(void)
|
|||||||
out_be32(&im->im_siu_conf.sc_sdcr, 1);
|
out_be32(&im->im_siu_conf.sc_sdcr, 1);
|
||||||
|
|
||||||
/* clear error conditions */
|
/* clear error conditions */
|
||||||
#ifdef CONFIG_SYS_SDSR
|
|
||||||
out_8(&im->im_sdma.sdma_sdsr, CONFIG_SYS_SDSR);
|
out_8(&im->im_sdma.sdma_sdsr, CONFIG_SYS_SDSR);
|
||||||
#else
|
|
||||||
out_8(&im->im_sdma.sdma_sdsr, 0x83);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* clear SDMA interrupt mask */
|
/* clear SDMA interrupt mask */
|
||||||
#ifdef CONFIG_SYS_SDMR
|
|
||||||
out_8(&im->im_sdma.sdma_sdmr, CONFIG_SYS_SDMR);
|
out_8(&im->im_sdma.sdma_sdmr, CONFIG_SYS_SDMR);
|
||||||
#else
|
|
||||||
out_8(&im->im_sdma.sdma_sdmr, 0x00);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Use Port B for SMCx instead of other functions. */
|
/* Use Port B for SMCx instead of other functions. */
|
||||||
setbits_be32(&cp->cp_pbpar, IOPINS);
|
setbits_be32(&cp->cp_pbpar, IOPINS);
|
||||||
@ -275,5 +254,3 @@ void mpc8xx_serial_initialize(void)
|
|||||||
{
|
{
|
||||||
serial_register(&serial_smc_device);
|
serial_register(&serial_smc_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_8xx_CONS_NONE */
|
|
@ -12,9 +12,6 @@ CONFIG_83XX_GENERIC_PCIE_REGISTER_HOSES
|
|||||||
CONFIG_83XX_PCICLK
|
CONFIG_83XX_PCICLK
|
||||||
CONFIG_83XX_PCI_STREAMING
|
CONFIG_83XX_PCI_STREAMING
|
||||||
CONFIG_88F5182
|
CONFIG_88F5182
|
||||||
CONFIG_8xx_CONS_NONE
|
|
||||||
CONFIG_8xx_CONS_SMC1
|
|
||||||
CONFIG_8xx_CONS_SMC2
|
|
||||||
CONFIG_A003399_NOR_WORKAROUND
|
CONFIG_A003399_NOR_WORKAROUND
|
||||||
CONFIG_A008044_WORKAROUND
|
CONFIG_A008044_WORKAROUND
|
||||||
CONFIG_ACX517AKN
|
CONFIG_ACX517AKN
|
||||||
@ -2506,7 +2503,6 @@ CONFIG_SYS_BR6_64M
|
|||||||
CONFIG_SYS_BR6_8M
|
CONFIG_SYS_BR6_8M
|
||||||
CONFIG_SYS_BR6_PRELIM
|
CONFIG_SYS_BR6_PRELIM
|
||||||
CONFIG_SYS_BR7_PRELIM
|
CONFIG_SYS_BR7_PRELIM
|
||||||
CONFIG_SYS_BRGCLK_PRESCALE
|
|
||||||
CONFIG_SYS_BUSCLK
|
CONFIG_SYS_BUSCLK
|
||||||
CONFIG_SYS_CACHELINE_SHIFT
|
CONFIG_SYS_CACHELINE_SHIFT
|
||||||
CONFIG_SYS_CACHE_ACR0
|
CONFIG_SYS_CACHE_ACR0
|
||||||
@ -4645,7 +4641,6 @@ CONFIG_SYS_SDIO_BASE0
|
|||||||
CONFIG_SYS_SDIO_BASE1
|
CONFIG_SYS_SDIO_BASE1
|
||||||
CONFIG_SYS_SDIO_BASE2
|
CONFIG_SYS_SDIO_BASE2
|
||||||
CONFIG_SYS_SDIO_BASE3
|
CONFIG_SYS_SDIO_BASE3
|
||||||
CONFIG_SYS_SDMR
|
|
||||||
CONFIG_SYS_SDRAM
|
CONFIG_SYS_SDRAM
|
||||||
CONFIG_SYS_SDRAM1
|
CONFIG_SYS_SDRAM1
|
||||||
CONFIG_SYS_SDRAM_BASE
|
CONFIG_SYS_SDRAM_BASE
|
||||||
@ -4691,7 +4686,6 @@ CONFIG_SYS_SDRC_MR_VAL5
|
|||||||
CONFIG_SYS_SDRC_TR_VAL
|
CONFIG_SYS_SDRC_TR_VAL
|
||||||
CONFIG_SYS_SDRC_TR_VAL1
|
CONFIG_SYS_SDRC_TR_VAL1
|
||||||
CONFIG_SYS_SDRC_TR_VAL2
|
CONFIG_SYS_SDRC_TR_VAL2
|
||||||
CONFIG_SYS_SDSR
|
|
||||||
CONFIG_SYS_SD_VOLTAGE
|
CONFIG_SYS_SD_VOLTAGE
|
||||||
CONFIG_SYS_SEC_MON_ADDR
|
CONFIG_SYS_SEC_MON_ADDR
|
||||||
CONFIG_SYS_SEC_MON_OFFSET
|
CONFIG_SYS_SEC_MON_OFFSET
|
||||||
@ -4724,7 +4718,6 @@ CONFIG_SYS_SMC0_MODE0_VAL
|
|||||||
CONFIG_SYS_SMC0_PULSE0_VAL
|
CONFIG_SYS_SMC0_PULSE0_VAL
|
||||||
CONFIG_SYS_SMC0_SETUP0_VAL
|
CONFIG_SYS_SMC0_SETUP0_VAL
|
||||||
CONFIG_SYS_SMC_CSR0_VAL
|
CONFIG_SYS_SMC_CSR0_VAL
|
||||||
CONFIG_SYS_SMC_RXBUFLEN
|
|
||||||
CONFIG_SYS_SMI_BASE
|
CONFIG_SYS_SMI_BASE
|
||||||
CONFIG_SYS_SPANSION_BASE
|
CONFIG_SYS_SPANSION_BASE
|
||||||
CONFIG_SYS_SPANSION_BOOT
|
CONFIG_SYS_SPANSION_BOOT
|
||||||
|
Loading…
Reference in New Issue
Block a user