]> Git Repo - J-u-boot.git/blobdiff - drivers/serial/serial_sh.c
Merge tag 'u-boot-amlogic-20200727' of https://gitlab.denx.de/u-boot/custodians/u...
[J-u-boot.git] / drivers / serial / serial_sh.c
index b1534981f8cc4488e5df0b555b516253145ba162..13b179f03ded3a768e99b85181ae1fd2942e0b15 100644 (file)
 #include <serial.h>
 #include <linux/compiler.h>
 #include <dm/platform_data/serial_sh.h>
 #include <serial.h>
 #include <linux/compiler.h>
 #include <dm/platform_data/serial_sh.h>
+#include <linux/delay.h>
 #include "serial_sh.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
 #include "serial_sh.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#if defined(CONFIG_CPU_SH7760) || \
-       defined(CONFIG_CPU_SH7780) || \
-       defined(CONFIG_CPU_SH7785) || \
-       defined(CONFIG_CPU_SH7786)
+#if defined(CONFIG_CPU_SH7780)
 static int scif_rxfill(struct uart_port *port)
 {
        return sci_in(port, SCRFDR) & 0xff;
 static int scif_rxfill(struct uart_port *port)
 {
        return sci_in(port, SCRFDR) & 0xff;
@@ -39,14 +37,6 @@ static int scif_rxfill(struct uart_port *port)
                return sci_in(port, SCFDR) & SCIF2_RFDC_MASK;
        }
 }
                return sci_in(port, SCFDR) & SCIF2_RFDC_MASK;
        }
 }
-#elif defined(CONFIG_ARCH_SH7372)
-static int scif_rxfill(struct uart_port *port)
-{
-       if (port->type == PORT_SCIFA)
-               return sci_in(port, SCFDR) & SCIF_RFDC_MASK;
-       else
-               return sci_in(port, SCRFDR);
-}
 #else
 static int scif_rxfill(struct uart_port *port)
 {
 #else
 static int scif_rxfill(struct uart_port *port)
 {
@@ -63,6 +53,9 @@ static void sh_serial_init_generic(struct uart_port *port)
        sci_out(port, SCFCR, SCFCR_RFRST|SCFCR_TFRST);
        sci_in(port, SCFCR);
        sci_out(port, SCFCR, 0);
        sci_out(port, SCFCR, SCFCR_RFRST|SCFCR_TFRST);
        sci_in(port, SCFCR);
        sci_out(port, SCFCR, 0);
+#if defined(CONFIG_RZA1)
+       sci_out(port, SCSPTR, 0x0003);
+#endif
 }
 
 static void
 }
 
 static void
@@ -218,7 +211,7 @@ static int sh_serial_ofdata_to_platdata(struct udevice *dev)
        fdt_addr_t addr;
        int ret;
 
        fdt_addr_t addr;
        int ret;
 
-       addr = devfdt_get_addr(dev);
+       addr = dev_read_addr(dev);
        if (!addr)
                return -EINVAL;
 
        if (!addr)
                return -EINVAL;
 
@@ -247,7 +240,9 @@ U_BOOT_DRIVER(serial_sh) = {
        .platdata_auto_alloc_size = sizeof(struct sh_serial_platdata),
        .probe  = sh_serial_probe,
        .ops    = &sh_serial_ops,
        .platdata_auto_alloc_size = sizeof(struct sh_serial_platdata),
        .probe  = sh_serial_probe,
        .ops    = &sh_serial_ops,
+#if !CONFIG_IS_ENABLED(OF_CONTROL)
        .flags  = DM_FLAG_PRE_RELOC,
        .flags  = DM_FLAG_PRE_RELOC,
+#endif
        .priv_auto_alloc_size = sizeof(struct uart_port),
 };
 
        .priv_auto_alloc_size = sizeof(struct uart_port),
 };
 
This page took 0.025297 seconds and 4 git commands to generate.