1f947153fSKrzysztof Kozlowski /* SPDX-License-Identifier: GPL-2.0+ */ 29ee51f01SArnd Bergmann /* 39ee51f01SArnd Bergmann * Internal header file for Samsung S3C2410 serial ports (UART0-2) 49ee51f01SArnd Bergmann * 59ee51f01SArnd Bergmann * Copyright (C) 2002 Shane Nay ([email protected]) 69ee51f01SArnd Bergmann * 79ee51f01SArnd Bergmann * Additional defines, Copyright 2003 Simtec Electronics ([email protected]) 89ee51f01SArnd Bergmann * 99ee51f01SArnd Bergmann * Adapted from: 109ee51f01SArnd Bergmann * 119ee51f01SArnd Bergmann * Internal header file for MX1ADS serial ports (UART1 & 2) 129ee51f01SArnd Bergmann * 139ee51f01SArnd Bergmann * Copyright (C) 2002 Shane Nay ([email protected]) 149ee51f01SArnd Bergmann */ 159ee51f01SArnd Bergmann 169ee51f01SArnd Bergmann #ifndef __ASM_ARM_REGS_SERIAL_H 179ee51f01SArnd Bergmann #define __ASM_ARM_REGS_SERIAL_H 189ee51f01SArnd Bergmann 199ee51f01SArnd Bergmann #define S3C2410_URXH (0x24) 209ee51f01SArnd Bergmann #define S3C2410_UTXH (0x20) 219ee51f01SArnd Bergmann #define S3C2410_ULCON (0x00) 229ee51f01SArnd Bergmann #define S3C2410_UCON (0x04) 239ee51f01SArnd Bergmann #define S3C2410_UFCON (0x08) 249ee51f01SArnd Bergmann #define S3C2410_UMCON (0x0C) 259ee51f01SArnd Bergmann #define S3C2410_UBRDIV (0x28) 269ee51f01SArnd Bergmann #define S3C2410_UTRSTAT (0x10) 279ee51f01SArnd Bergmann #define S3C2410_UERSTAT (0x14) 289ee51f01SArnd Bergmann #define S3C2410_UFSTAT (0x18) 299ee51f01SArnd Bergmann #define S3C2410_UMSTAT (0x1C) 309ee51f01SArnd Bergmann 319ee51f01SArnd Bergmann #define S3C2410_LCON_CFGMASK ((0xF<<3)|(0x3)) 329ee51f01SArnd Bergmann 339ee51f01SArnd Bergmann #define S3C2410_LCON_CS5 (0x0) 349ee51f01SArnd Bergmann #define S3C2410_LCON_CS6 (0x1) 359ee51f01SArnd Bergmann #define S3C2410_LCON_CS7 (0x2) 369ee51f01SArnd Bergmann #define S3C2410_LCON_CS8 (0x3) 379ee51f01SArnd Bergmann #define S3C2410_LCON_CSMASK (0x3) 389ee51f01SArnd Bergmann 399ee51f01SArnd Bergmann #define S3C2410_LCON_PNONE (0x0) 409ee51f01SArnd Bergmann #define S3C2410_LCON_PEVEN (0x5 << 3) 419ee51f01SArnd Bergmann #define S3C2410_LCON_PODD (0x4 << 3) 429ee51f01SArnd Bergmann #define S3C2410_LCON_PMASK (0x7 << 3) 439ee51f01SArnd Bergmann 449ee51f01SArnd Bergmann #define S3C2410_LCON_STOPB (1<<2) 459ee51f01SArnd Bergmann #define S3C2410_LCON_IRM (1<<6) 469ee51f01SArnd Bergmann 479ee51f01SArnd Bergmann #define S3C2440_UCON_CLKMASK (3<<10) 489ee51f01SArnd Bergmann #define S3C2440_UCON_CLKSHIFT (10) 499ee51f01SArnd Bergmann #define S3C2440_UCON_PCLK (0<<10) 509ee51f01SArnd Bergmann #define S3C2440_UCON_UCLK (1<<10) 519ee51f01SArnd Bergmann #define S3C2440_UCON_PCLK2 (2<<10) 529ee51f01SArnd Bergmann #define S3C2440_UCON_FCLK (3<<10) 539ee51f01SArnd Bergmann #define S3C2443_UCON_EPLL (3<<10) 549ee51f01SArnd Bergmann 559ee51f01SArnd Bergmann #define S3C6400_UCON_CLKMASK (3<<10) 569ee51f01SArnd Bergmann #define S3C6400_UCON_CLKSHIFT (10) 579ee51f01SArnd Bergmann #define S3C6400_UCON_PCLK (0<<10) 589ee51f01SArnd Bergmann #define S3C6400_UCON_PCLK2 (2<<10) 599ee51f01SArnd Bergmann #define S3C6400_UCON_UCLK0 (1<<10) 609ee51f01SArnd Bergmann #define S3C6400_UCON_UCLK1 (3<<10) 619ee51f01SArnd Bergmann 629ee51f01SArnd Bergmann #define S3C2440_UCON2_FCLK_EN (1<<15) 639ee51f01SArnd Bergmann #define S3C2440_UCON0_DIVMASK (15 << 12) 649ee51f01SArnd Bergmann #define S3C2440_UCON1_DIVMASK (15 << 12) 659ee51f01SArnd Bergmann #define S3C2440_UCON2_DIVMASK (7 << 12) 669ee51f01SArnd Bergmann #define S3C2440_UCON_DIVSHIFT (12) 679ee51f01SArnd Bergmann 689ee51f01SArnd Bergmann #define S3C2412_UCON_CLKMASK (3<<10) 699ee51f01SArnd Bergmann #define S3C2412_UCON_CLKSHIFT (10) 709ee51f01SArnd Bergmann #define S3C2412_UCON_UCLK (1<<10) 719ee51f01SArnd Bergmann #define S3C2412_UCON_USYSCLK (3<<10) 729ee51f01SArnd Bergmann #define S3C2412_UCON_PCLK (0<<10) 739ee51f01SArnd Bergmann #define S3C2412_UCON_PCLK2 (2<<10) 749ee51f01SArnd Bergmann 759ee51f01SArnd Bergmann #define S3C2410_UCON_CLKMASK (1 << 10) 769ee51f01SArnd Bergmann #define S3C2410_UCON_CLKSHIFT (10) 779ee51f01SArnd Bergmann #define S3C2410_UCON_UCLK (1<<10) 789ee51f01SArnd Bergmann #define S3C2410_UCON_SBREAK (1<<4) 799ee51f01SArnd Bergmann 809ee51f01SArnd Bergmann #define S3C2410_UCON_TXILEVEL (1<<9) 819ee51f01SArnd Bergmann #define S3C2410_UCON_RXILEVEL (1<<8) 829ee51f01SArnd Bergmann #define S3C2410_UCON_TXIRQMODE (1<<2) 839ee51f01SArnd Bergmann #define S3C2410_UCON_RXIRQMODE (1<<0) 849ee51f01SArnd Bergmann #define S3C2410_UCON_RXFIFO_TOI (1<<7) 859ee51f01SArnd Bergmann #define S3C2443_UCON_RXERR_IRQEN (1<<6) 8672a43046SChanho Park #define S3C2410_UCON_LOOPBACK (1<<5) 879ee51f01SArnd Bergmann 889ee51f01SArnd Bergmann #define S3C2410_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ 899ee51f01SArnd Bergmann S3C2410_UCON_RXILEVEL | \ 909ee51f01SArnd Bergmann S3C2410_UCON_TXIRQMODE | \ 919ee51f01SArnd Bergmann S3C2410_UCON_RXIRQMODE | \ 929ee51f01SArnd Bergmann S3C2410_UCON_RXFIFO_TOI) 939ee51f01SArnd Bergmann 94a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXBURST_1 (0<<20) 95a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXBURST_4 (1<<20) 96a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXBURST_8 (2<<20) 97a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXBURST_16 (3<<20) 98a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXBURST_MASK (0xf<<20) 99a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXBURST_1 (0<<16) 100a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXBURST_4 (1<<16) 101a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXBURST_8 (2<<16) 102a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXBURST_16 (3<<16) 103a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXBURST_MASK (0xf<<16) 104a291b7d5SRobert Baldyga #define S3C64XX_UCON_TIMEOUT_SHIFT (12) 105a291b7d5SRobert Baldyga #define S3C64XX_UCON_TIMEOUT_MASK (0xf<<12) 106a291b7d5SRobert Baldyga #define S3C64XX_UCON_EMPTYINT_EN (1<<11) 107a291b7d5SRobert Baldyga #define S3C64XX_UCON_DMASUS_EN (1<<10) 108a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXINT_LEVEL (1<<9) 109a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXINT_LEVEL (1<<8) 110a291b7d5SRobert Baldyga #define S3C64XX_UCON_TIMEOUT_EN (1<<7) 111a291b7d5SRobert Baldyga #define S3C64XX_UCON_ERRINT_EN (1<<6) 112a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXMODE_DMA (2<<2) 113a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXMODE_CPU (1<<2) 114a291b7d5SRobert Baldyga #define S3C64XX_UCON_TXMODE_MASK (3<<2) 115a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXMODE_DMA (2<<0) 116a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXMODE_CPU (1<<0) 117a291b7d5SRobert Baldyga #define S3C64XX_UCON_RXMODE_MASK (3<<0) 118a291b7d5SRobert Baldyga 1199ee51f01SArnd Bergmann #define S3C2410_UFCON_FIFOMODE (1<<0) 1209ee51f01SArnd Bergmann #define S3C2410_UFCON_TXTRIG0 (0<<6) 1219ee51f01SArnd Bergmann #define S3C2410_UFCON_RXTRIG8 (1<<4) 1229ee51f01SArnd Bergmann #define S3C2410_UFCON_RXTRIG12 (2<<4) 1239ee51f01SArnd Bergmann 1249ee51f01SArnd Bergmann /* S3C2440 FIFO trigger levels */ 1259ee51f01SArnd Bergmann #define S3C2440_UFCON_RXTRIG1 (0<<4) 1269ee51f01SArnd Bergmann #define S3C2440_UFCON_RXTRIG8 (1<<4) 1279ee51f01SArnd Bergmann #define S3C2440_UFCON_RXTRIG16 (2<<4) 1289ee51f01SArnd Bergmann #define S3C2440_UFCON_RXTRIG32 (3<<4) 1299ee51f01SArnd Bergmann 1309ee51f01SArnd Bergmann #define S3C2440_UFCON_TXTRIG0 (0<<6) 1319ee51f01SArnd Bergmann #define S3C2440_UFCON_TXTRIG16 (1<<6) 1329ee51f01SArnd Bergmann #define S3C2440_UFCON_TXTRIG32 (2<<6) 1339ee51f01SArnd Bergmann #define S3C2440_UFCON_TXTRIG48 (3<<6) 1349ee51f01SArnd Bergmann 1359ee51f01SArnd Bergmann #define S3C2410_UFCON_RESETBOTH (3<<1) 1369ee51f01SArnd Bergmann #define S3C2410_UFCON_RESETTX (1<<2) 1379ee51f01SArnd Bergmann #define S3C2410_UFCON_RESETRX (1<<1) 1389ee51f01SArnd Bergmann 1399ee51f01SArnd Bergmann #define S3C2410_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \ 1409ee51f01SArnd Bergmann S3C2410_UFCON_TXTRIG0 | \ 1419ee51f01SArnd Bergmann S3C2410_UFCON_RXTRIG8 ) 1429ee51f01SArnd Bergmann 1439ee51f01SArnd Bergmann #define S3C2410_UMCOM_AFC (1<<4) 1449ee51f01SArnd Bergmann #define S3C2410_UMCOM_RTS_LOW (1<<0) 1459ee51f01SArnd Bergmann 1469ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_63 (0<<5) /* same as s3c2443 */ 1479ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_56 (1<<5) 1489ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_48 (2<<5) 1499ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_40 (3<<5) 1509ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_32 (4<<5) 1519ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_24 (5<<5) 1529ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_16 (6<<5) 1539ee51f01SArnd Bergmann #define S3C2412_UMCON_AFC_8 (7<<5) 1549ee51f01SArnd Bergmann 1559ee51f01SArnd Bergmann #define S3C2410_UFSTAT_TXFULL (1<<9) 1569ee51f01SArnd Bergmann #define S3C2410_UFSTAT_RXFULL (1<<8) 1579ee51f01SArnd Bergmann #define S3C2410_UFSTAT_TXMASK (15<<4) 1589ee51f01SArnd Bergmann #define S3C2410_UFSTAT_TXSHIFT (4) 1599ee51f01SArnd Bergmann #define S3C2410_UFSTAT_RXMASK (15<<0) 1609ee51f01SArnd Bergmann #define S3C2410_UFSTAT_RXSHIFT (0) 1619ee51f01SArnd Bergmann 1629ee51f01SArnd Bergmann /* UFSTAT S3C2443 same as S3C2440 */ 1639ee51f01SArnd Bergmann #define S3C2440_UFSTAT_TXFULL (1<<14) 1649ee51f01SArnd Bergmann #define S3C2440_UFSTAT_RXFULL (1<<6) 1659ee51f01SArnd Bergmann #define S3C2440_UFSTAT_TXSHIFT (8) 1669ee51f01SArnd Bergmann #define S3C2440_UFSTAT_RXSHIFT (0) 1679ee51f01SArnd Bergmann #define S3C2440_UFSTAT_TXMASK (63<<8) 1689ee51f01SArnd Bergmann #define S3C2440_UFSTAT_RXMASK (63) 1699ee51f01SArnd Bergmann 170a291b7d5SRobert Baldyga #define S3C2410_UTRSTAT_TIMEOUT (1<<3) 1719ee51f01SArnd Bergmann #define S3C2410_UTRSTAT_TXE (1<<2) 1729ee51f01SArnd Bergmann #define S3C2410_UTRSTAT_TXFE (1<<1) 1739ee51f01SArnd Bergmann #define S3C2410_UTRSTAT_RXDR (1<<0) 1749ee51f01SArnd Bergmann 1759ee51f01SArnd Bergmann #define S3C2410_UERSTAT_OVERRUN (1<<0) 1769ee51f01SArnd Bergmann #define S3C2410_UERSTAT_FRAME (1<<2) 1779ee51f01SArnd Bergmann #define S3C2410_UERSTAT_BREAK (1<<3) 1789ee51f01SArnd Bergmann #define S3C2443_UERSTAT_PARITY (1<<1) 1799ee51f01SArnd Bergmann 1809ee51f01SArnd Bergmann #define S3C2410_UERSTAT_ANY (S3C2410_UERSTAT_OVERRUN | \ 1819ee51f01SArnd Bergmann S3C2410_UERSTAT_FRAME | \ 1829ee51f01SArnd Bergmann S3C2410_UERSTAT_BREAK) 1839ee51f01SArnd Bergmann 1849ee51f01SArnd Bergmann #define S3C2410_UMSTAT_CTS (1<<0) 1859ee51f01SArnd Bergmann #define S3C2410_UMSTAT_DeltaCTS (1<<2) 1869ee51f01SArnd Bergmann 1879ee51f01SArnd Bergmann #define S3C2443_DIVSLOT (0x2C) 1889ee51f01SArnd Bergmann 1899ee51f01SArnd Bergmann /* S3C64XX interrupt registers. */ 1909ee51f01SArnd Bergmann #define S3C64XX_UINTP 0x30 1919ee51f01SArnd Bergmann #define S3C64XX_UINTSP 0x34 1929ee51f01SArnd Bergmann #define S3C64XX_UINTM 0x38 1939ee51f01SArnd Bergmann 1949ee51f01SArnd Bergmann #define S3C64XX_UINTM_RXD (0) 195a291b7d5SRobert Baldyga #define S3C64XX_UINTM_ERROR (1) 1969ee51f01SArnd Bergmann #define S3C64XX_UINTM_TXD (2) 1979ee51f01SArnd Bergmann #define S3C64XX_UINTM_RXD_MSK (1 << S3C64XX_UINTM_RXD) 198a291b7d5SRobert Baldyga #define S3C64XX_UINTM_ERR_MSK (1 << S3C64XX_UINTM_ERROR) 1999ee51f01SArnd Bergmann #define S3C64XX_UINTM_TXD_MSK (1 << S3C64XX_UINTM_TXD) 2009ee51f01SArnd Bergmann 2019ee51f01SArnd Bergmann /* Following are specific to S5PV210 */ 2029ee51f01SArnd Bergmann #define S5PV210_UCON_CLKMASK (1<<10) 2039ee51f01SArnd Bergmann #define S5PV210_UCON_CLKSHIFT (10) 2049ee51f01SArnd Bergmann #define S5PV210_UCON_PCLK (0<<10) 2059ee51f01SArnd Bergmann #define S5PV210_UCON_UCLK (1<<10) 2069ee51f01SArnd Bergmann 2079ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG0 (0<<8) 2089ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG4 (1<<8) 2099ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG8 (2<<8) 2109ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG16 (3<<8) 2119ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG32 (4<<8) 2129ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG64 (5<<8) 2139ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG128 (6<<8) 2149ee51f01SArnd Bergmann #define S5PV210_UFCON_TXTRIG256 (7<<8) 2159ee51f01SArnd Bergmann 2169ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG1 (0<<4) 2179ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG4 (1<<4) 2189ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG8 (2<<4) 2199ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG16 (3<<4) 2209ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG32 (4<<4) 2219ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG64 (5<<4) 2229ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG128 (6<<4) 2239ee51f01SArnd Bergmann #define S5PV210_UFCON_RXTRIG256 (7<<4) 2249ee51f01SArnd Bergmann 2259ee51f01SArnd Bergmann #define S5PV210_UFSTAT_TXFULL (1<<24) 2269ee51f01SArnd Bergmann #define S5PV210_UFSTAT_RXFULL (1<<8) 2279ee51f01SArnd Bergmann #define S5PV210_UFSTAT_TXMASK (255<<16) 2289ee51f01SArnd Bergmann #define S5PV210_UFSTAT_TXSHIFT (16) 2299ee51f01SArnd Bergmann #define S5PV210_UFSTAT_RXMASK (255<<0) 2309ee51f01SArnd Bergmann #define S5PV210_UFSTAT_RXSHIFT (0) 2319ee51f01SArnd Bergmann 2329ee51f01SArnd Bergmann #define S3C2410_UCON_CLKSEL0 (1 << 0) 2339ee51f01SArnd Bergmann #define S3C2410_UCON_CLKSEL1 (1 << 1) 2349ee51f01SArnd Bergmann #define S3C2410_UCON_CLKSEL2 (1 << 2) 2359ee51f01SArnd Bergmann #define S3C2410_UCON_CLKSEL3 (1 << 3) 2369ee51f01SArnd Bergmann 2379ee51f01SArnd Bergmann /* Default values for s5pv210 UCON and UFCON uart registers */ 2389ee51f01SArnd Bergmann #define S5PV210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ 2399ee51f01SArnd Bergmann S3C2410_UCON_RXILEVEL | \ 2409ee51f01SArnd Bergmann S3C2410_UCON_TXIRQMODE | \ 2419ee51f01SArnd Bergmann S3C2410_UCON_RXIRQMODE | \ 2429ee51f01SArnd Bergmann S3C2410_UCON_RXFIFO_TOI | \ 2439ee51f01SArnd Bergmann S3C2443_UCON_RXERR_IRQEN) 2449ee51f01SArnd Bergmann 2459ee51f01SArnd Bergmann #define S5PV210_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \ 2469ee51f01SArnd Bergmann S5PV210_UFCON_TXTRIG4 | \ 2479ee51f01SArnd Bergmann S5PV210_UFCON_RXTRIG4) 2489ee51f01SArnd Bergmann 249fcbba344SHector Martin #define APPLE_S5L_UCON_RXTO_ENA 9 250*5ed771f1SNick Chan #define APPLE_S5L_UCON_RXTO_LEGACY_ENA 11 251fcbba344SHector Martin #define APPLE_S5L_UCON_RXTHRESH_ENA 12 252fcbba344SHector Martin #define APPLE_S5L_UCON_TXTHRESH_ENA 13 2534c59c59eSNick Chan #define APPLE_S5L_UCON_RXTO_ENA_MSK BIT(APPLE_S5L_UCON_RXTO_ENA) 254*5ed771f1SNick Chan #define APPLE_S5L_UCON_RXTO_LEGACY_ENA_MSK BIT(APPLE_S5L_UCON_RXTO_LEGACY_ENA) 2554c59c59eSNick Chan #define APPLE_S5L_UCON_RXTHRESH_ENA_MSK BIT(APPLE_S5L_UCON_RXTHRESH_ENA) 2564c59c59eSNick Chan #define APPLE_S5L_UCON_TXTHRESH_ENA_MSK BIT(APPLE_S5L_UCON_TXTHRESH_ENA) 257fcbba344SHector Martin 258fcbba344SHector Martin #define APPLE_S5L_UCON_DEFAULT (S3C2410_UCON_TXIRQMODE | \ 259fcbba344SHector Martin S3C2410_UCON_RXIRQMODE | \ 260fcbba344SHector Martin S3C2410_UCON_RXFIFO_TOI) 261135c579dSHector Martin #define APPLE_S5L_UCON_MASK (APPLE_S5L_UCON_RXTO_ENA_MSK | \ 262*5ed771f1SNick Chan APPLE_S5L_UCON_RXTO_LEGACY_ENA_MSK | \ 263135c579dSHector Martin APPLE_S5L_UCON_RXTHRESH_ENA_MSK | \ 264135c579dSHector Martin APPLE_S5L_UCON_TXTHRESH_ENA_MSK) 265fcbba344SHector Martin 266*5ed771f1SNick Chan #define APPLE_S5L_UTRSTAT_RXTO_LEGACY BIT(3) 2674c59c59eSNick Chan #define APPLE_S5L_UTRSTAT_RXTHRESH BIT(4) 2684c59c59eSNick Chan #define APPLE_S5L_UTRSTAT_TXTHRESH BIT(5) 2694c59c59eSNick Chan #define APPLE_S5L_UTRSTAT_RXTO BIT(9) 270*5ed771f1SNick Chan #define APPLE_S5L_UTRSTAT_ALL_FLAGS GENMASK(9, 3) 271fcbba344SHector Martin 2729ee51f01SArnd Bergmann #ifndef __ASSEMBLY__ 2739ee51f01SArnd Bergmann 274cf559ab9SMark Brown #include <linux/serial_core.h> 275cf559ab9SMark Brown 2769ee51f01SArnd Bergmann /* configuration structure for per-machine configurations for the 2779ee51f01SArnd Bergmann * serial port 2789ee51f01SArnd Bergmann * 2799ee51f01SArnd Bergmann * the pointer is setup by the machine specific initialisation from the 2803ebc0ef0SKrzysztof Kozlowski * arch/arm/mach-s3c/ directory. 2819ee51f01SArnd Bergmann */ 2829ee51f01SArnd Bergmann 2839ee51f01SArnd Bergmann struct s3c2410_uartcfg { 2849ee51f01SArnd Bergmann unsigned char hwport; /* hardware port number */ 2859ee51f01SArnd Bergmann unsigned char unused; 2869ee51f01SArnd Bergmann unsigned short flags; 2879ee51f01SArnd Bergmann upf_t uart_flags; /* default uart flags */ 2889ee51f01SArnd Bergmann unsigned int clk_sel; 2899ee51f01SArnd Bergmann 2909ee51f01SArnd Bergmann unsigned int has_fracval; 2919ee51f01SArnd Bergmann 2929ee51f01SArnd Bergmann unsigned long ucon; /* value of ucon for port */ 2939ee51f01SArnd Bergmann unsigned long ulcon; /* value of ulcon for port */ 2949ee51f01SArnd Bergmann unsigned long ufcon; /* value of ufcon for port */ 2959ee51f01SArnd Bergmann }; 2969ee51f01SArnd Bergmann 2979ee51f01SArnd Bergmann #endif /* __ASSEMBLY__ */ 2989ee51f01SArnd Bergmann 2999ee51f01SArnd Bergmann #endif /* __ASM_ARM_REGS_SERIAL_H */ 3009ee51f01SArnd Bergmann 301