|
@@ -27,18 +27,18 @@
|
|
#include <asm/arch/clk.h>
|
|
#include <asm/arch/clk.h>
|
|
#include <serial.h>
|
|
#include <serial.h>
|
|
|
|
|
|
-static inline struct s5pc1xx_uart *s5pc1xx_get_base_uart(int dev_index)
|
|
|
|
|
|
+static inline struct s5p_uart *s5p_get_base_uart(int dev_index)
|
|
{
|
|
{
|
|
- u32 offset = dev_index * sizeof(struct s5pc1xx_uart);
|
|
|
|
|
|
+ u32 offset = dev_index * sizeof(struct s5p_uart);
|
|
|
|
|
|
if (cpu_is_s5pc100())
|
|
if (cpu_is_s5pc100())
|
|
- return (struct s5pc1xx_uart *)(S5PC100_UART_BASE + offset);
|
|
|
|
|
|
+ return (struct s5p_uart *)(S5PC100_UART_BASE + offset);
|
|
else
|
|
else
|
|
- return (struct s5pc1xx_uart *)(S5PC110_UART_BASE + offset);
|
|
|
|
|
|
+ return (struct s5p_uart *)(S5PC110_UART_BASE + offset);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
- * The coefficient, used to calculate the baudrate on S5PC1XX UARTs is
|
|
|
|
|
|
+ * The coefficient, used to calculate the baudrate on S5P UARTs is
|
|
* calculated as
|
|
* calculated as
|
|
* C = UBRDIV * 16 + number_of_set_bits_in_UDIVSLOT
|
|
* C = UBRDIV * 16 + number_of_set_bits_in_UDIVSLOT
|
|
* however, section 31.6.11 of the datasheet doesn't recomment using 1 for 1,
|
|
* however, section 31.6.11 of the datasheet doesn't recomment using 1 for 1,
|
|
@@ -66,7 +66,7 @@ static const int udivslot[] = {
|
|
void serial_setbrg_dev(const int dev_index)
|
|
void serial_setbrg_dev(const int dev_index)
|
|
{
|
|
{
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
- struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index);
|
|
|
|
|
|
+ struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
|
|
u32 pclk = get_pclk();
|
|
u32 pclk = get_pclk();
|
|
u32 baudrate = gd->baudrate;
|
|
u32 baudrate = gd->baudrate;
|
|
u32 val;
|
|
u32 val;
|
|
@@ -83,7 +83,7 @@ void serial_setbrg_dev(const int dev_index)
|
|
*/
|
|
*/
|
|
int serial_init_dev(const int dev_index)
|
|
int serial_init_dev(const int dev_index)
|
|
{
|
|
{
|
|
- struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index);
|
|
|
|
|
|
+ struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
|
|
|
|
|
|
/* reset and enable FIFOs, set triggers to the maximum */
|
|
/* reset and enable FIFOs, set triggers to the maximum */
|
|
writel(0, &uart->ufcon);
|
|
writel(0, &uart->ufcon);
|
|
@@ -100,7 +100,7 @@ int serial_init_dev(const int dev_index)
|
|
|
|
|
|
static int serial_err_check(const int dev_index, int op)
|
|
static int serial_err_check(const int dev_index, int op)
|
|
{
|
|
{
|
|
- struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index);
|
|
|
|
|
|
+ struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
|
|
unsigned int mask;
|
|
unsigned int mask;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -125,7 +125,7 @@ static int serial_err_check(const int dev_index, int op)
|
|
*/
|
|
*/
|
|
int serial_getc_dev(const int dev_index)
|
|
int serial_getc_dev(const int dev_index)
|
|
{
|
|
{
|
|
- struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index);
|
|
|
|
|
|
+ struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
|
|
|
|
|
|
/* wait for character to arrive */
|
|
/* wait for character to arrive */
|
|
while (!(readl(&uart->utrstat) & 0x1)) {
|
|
while (!(readl(&uart->utrstat) & 0x1)) {
|
|
@@ -141,7 +141,7 @@ int serial_getc_dev(const int dev_index)
|
|
*/
|
|
*/
|
|
void serial_putc_dev(const char c, const int dev_index)
|
|
void serial_putc_dev(const char c, const int dev_index)
|
|
{
|
|
{
|
|
- struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index);
|
|
|
|
|
|
+ struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
|
|
|
|
|
|
/* wait for room in the tx FIFO */
|
|
/* wait for room in the tx FIFO */
|
|
while (!(readl(&uart->utrstat) & 0x2)) {
|
|
while (!(readl(&uart->utrstat) & 0x2)) {
|
|
@@ -161,7 +161,7 @@ void serial_putc_dev(const char c, const int dev_index)
|
|
*/
|
|
*/
|
|
int serial_tstc_dev(const int dev_index)
|
|
int serial_tstc_dev(const int dev_index)
|
|
{
|
|
{
|
|
- struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index);
|
|
|
|
|
|
+ struct s5p_uart *const uart = s5p_get_base_uart(dev_index);
|
|
|
|
|
|
return (int)(readl(&uart->utrstat) & 0x1);
|
|
return (int)(readl(&uart->utrstat) & 0x1);
|
|
}
|
|
}
|
|
@@ -193,14 +193,14 @@ void s5p_serial##port##_puts(const char *s) { serial_puts_dev(s, port); }
|
|
s5p_serial##port##_puts, }
|
|
s5p_serial##port##_puts, }
|
|
|
|
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(0);
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(0);
|
|
-struct serial_device s5pc1xx_serial0_device =
|
|
|
|
|
|
+struct serial_device s5p_serial0_device =
|
|
INIT_S5P_SERIAL_STRUCTURE(0, "s5pser0", "S5PUART0");
|
|
INIT_S5P_SERIAL_STRUCTURE(0, "s5pser0", "S5PUART0");
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(1);
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(1);
|
|
-struct serial_device s5pc1xx_serial1_device =
|
|
|
|
|
|
+struct serial_device s5p_serial1_device =
|
|
INIT_S5P_SERIAL_STRUCTURE(1, "s5pser1", "S5PUART1");
|
|
INIT_S5P_SERIAL_STRUCTURE(1, "s5pser1", "S5PUART1");
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(2);
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(2);
|
|
-struct serial_device s5pc1xx_serial2_device =
|
|
|
|
|
|
+struct serial_device s5p_serial2_device =
|
|
INIT_S5P_SERIAL_STRUCTURE(2, "s5pser2", "S5PUART2");
|
|
INIT_S5P_SERIAL_STRUCTURE(2, "s5pser2", "S5PUART2");
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(3);
|
|
DECLARE_S5P_SERIAL_FUNCTIONS(3);
|
|
-struct serial_device s5pc1xx_serial3_device =
|
|
|
|
|
|
+struct serial_device s5p_serial3_device =
|
|
INIT_S5P_SERIAL_STRUCTURE(3, "s5pser3", "S5PUART3");
|
|
INIT_S5P_SERIAL_STRUCTURE(3, "s5pser3", "S5PUART3");
|