]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
powerpc, 8xx: move Serial driver to drivers/serial/
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 6 Jul 2017 08:33:27 +0000 (10:33 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 8 Jul 2017 19:56:04 +0000 (15:56 -0400)
At the same time, move to Kconfig

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
README
arch/powerpc/cpu/mpc8xx/Makefile
drivers/serial/Kconfig
drivers/serial/Makefile
drivers/serial/serial_mpc8xx.c [moved from arch/powerpc/cpu/mpc8xx/serial.c with 93% similarity]
scripts/config_whitelist.txt

diff --git a/README b/README
index 504b120bc050e6fba51b3f11ad0630c63ef4cc8b..ee35dec5b5c912ce34e7855f24a7f76680aa507e 100644 (file)
--- a/README
+++ b/README
@@ -687,29 +687,10 @@ The following options need to be configured:
                Define this variable to enable hw flow control in serial 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:
                CONFIG_BAUDRATE - in bps
                Select one of the baudrates listed in
                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:
                CONFIG_BOOTCOMMAND
index 173cf01869c520f048a7098eb1e22743d33d92af..b40bffb04742aa797313a1bf9ad184b6a81abf15 100644 (file)
@@ -13,5 +13,4 @@ obj-$(CONFIG_OF_LIBFDT) += fdt.o
 obj-$(CONFIG_CMD_IMMAP) += immap.o
 obj-y  += interrupts.o
 obj-$(CONFIG_CMD_REGINFO) += reginfo.o
-obj-y  += serial.o
 obj-y  += speed.o
index c64f4a6d7b0174f8f5b7d803c463c6dc3b1cc81d..b7dd2ac1038d7ca03454c13c5614478dc7e18aba 100644 (file)
@@ -491,4 +491,57 @@ config STI_ASC_SERIAL
          on STiH410 SoC. This is a basic implementation,  it supports
          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
index dca31b295c14acb2aa326d74daa29122dfa93428..72a6996a0aa664c9d0f118d9801eaae36c2d0bc5 100644 (file)
@@ -48,6 +48,7 @@ obj-$(CONFIG_STM32X7_SERIAL) += serial_stm32x7.o
 obj-$(CONFIG_BCM283X_MU_SERIAL) += serial_bcm283x_mu.o
 obj-$(CONFIG_MSM_SERIAL) += serial_msm.o
 obj-$(CONFIG_MVEBU_A3700_UART) += serial_mvebu_a3700.o
+obj-$(CONFIG_MPC8XX_CONS) += serial_mpc8xx.o
 
 ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_USB_TTY) += usbtty.o
similarity index 93%
rename from arch/powerpc/cpu/mpc8xx/serial.c
rename to drivers/serial/serial_mpc8xx.c
index 114dfe9b4b5733e5d87e181b4d4ab7010de1f2e9..26a8085a6917deda2b8bb8dad159d4f9aa33c3b8 100644 (file)
@@ -14,8 +14,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#if !defined(CONFIG_8xx_CONS_NONE)     /* No Console at all */
-
 #if defined(CONFIG_8xx_CONS_SMC1)      /* Console on SMC1 */
 #define        SMC_INDEX       0
 #define PROFF_SMC      PROFF_SMC1
@@ -30,15 +28,6 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #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 {
        cbd_t   rxbd;           /* Rx 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;
        }
 
-#ifdef CONFIG_SYS_BRGCLK_PRESCALE
        divisor /= CONFIG_SYS_BRGCLK_PRESCALE;
-#endif
 
        if (divisor <= 0x1000)
                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);
 
        /* clear error conditions */
-#ifdef 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 */
-#ifdef 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. */
        setbits_be32(&cp->cp_pbpar, IOPINS);
@@ -275,5 +254,3 @@ void mpc8xx_serial_initialize(void)
 {
        serial_register(&serial_smc_device);
 }
-
-#endif /* CONFIG_8xx_CONS_NONE */
index a84dad1b5ee703c86588ab2ab7f19eb1d94813fc..54eee53572ef522e26a9b2a786314726ba981c66 100644 (file)
@@ -12,9 +12,6 @@ CONFIG_83XX_GENERIC_PCIE_REGISTER_HOSES
 CONFIG_83XX_PCICLK
 CONFIG_83XX_PCI_STREAMING
 CONFIG_88F5182
-CONFIG_8xx_CONS_NONE
-CONFIG_8xx_CONS_SMC1
-CONFIG_8xx_CONS_SMC2
 CONFIG_A003399_NOR_WORKAROUND
 CONFIG_A008044_WORKAROUND
 CONFIG_ACX517AKN
@@ -2506,7 +2503,6 @@ CONFIG_SYS_BR6_64M
 CONFIG_SYS_BR6_8M
 CONFIG_SYS_BR6_PRELIM
 CONFIG_SYS_BR7_PRELIM
-CONFIG_SYS_BRGCLK_PRESCALE
 CONFIG_SYS_BUSCLK
 CONFIG_SYS_CACHELINE_SHIFT
 CONFIG_SYS_CACHE_ACR0
@@ -4645,7 +4641,6 @@ CONFIG_SYS_SDIO_BASE0
 CONFIG_SYS_SDIO_BASE1
 CONFIG_SYS_SDIO_BASE2
 CONFIG_SYS_SDIO_BASE3
-CONFIG_SYS_SDMR
 CONFIG_SYS_SDRAM
 CONFIG_SYS_SDRAM1
 CONFIG_SYS_SDRAM_BASE
@@ -4691,7 +4686,6 @@ CONFIG_SYS_SDRC_MR_VAL5
 CONFIG_SYS_SDRC_TR_VAL
 CONFIG_SYS_SDRC_TR_VAL1
 CONFIG_SYS_SDRC_TR_VAL2
-CONFIG_SYS_SDSR
 CONFIG_SYS_SD_VOLTAGE
 CONFIG_SYS_SEC_MON_ADDR
 CONFIG_SYS_SEC_MON_OFFSET
@@ -4724,7 +4718,6 @@ CONFIG_SYS_SMC0_MODE0_VAL
 CONFIG_SYS_SMC0_PULSE0_VAL
 CONFIG_SYS_SMC0_SETUP0_VAL
 CONFIG_SYS_SMC_CSR0_VAL
-CONFIG_SYS_SMC_RXBUFLEN
 CONFIG_SYS_SMI_BASE
 CONFIG_SYS_SPANSION_BASE
 CONFIG_SYS_SPANSION_BOOT