]> git.sur5r.net Git - u-boot/blobdiff - drivers/serial/serial_pic32.c
Merge branch 'master' of git://git.denx.de/u-boot-i2c
[u-boot] / drivers / serial / serial_pic32.c
index af9fbbf655447180b5904256b31bb1c6e956b1aa..ba73978e259176729ec50260f6f2453a70e583c8 100644 (file)
@@ -1,8 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (c) 2015 Paul Thacker <paul.thacker@microchip.com>
  *
- * SPDX-License-Identifier:    GPL-2.0+
- *
  */
 #include <common.h>
 #include <clk.h>
@@ -51,8 +50,8 @@ static int pic32_serial_init(void __iomem *base, ulong clk, u32 baudrate)
        u32 div = DIV_ROUND_CLOSEST(clk, baudrate * 16);
 
        /* wait for TX FIFO to empty */
-       wait_for_bit(__func__, base + U_STA, UART_TX_EMPTY,
-                    true, CONFIG_SYS_HZ, false);
+       wait_for_bit_le32(base + U_STA, UART_TX_EMPTY,
+                         true, CONFIG_SYS_HZ, false);
 
        /* send break */
        writel(UART_TX_BRK, base + U_STASET);
@@ -135,23 +134,25 @@ static int pic32_uart_getc(struct udevice *dev)
 static int pic32_uart_probe(struct udevice *dev)
 {
        struct pic32_uart_priv *priv = dev_get_priv(dev);
-       struct udevice *clkdev;
+       struct clk clk;
        fdt_addr_t addr;
        fdt_size_t size;
        int ret;
 
        /* get address */
-       addr = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg", &size);
+       addr = fdtdec_get_addr_size(gd->fdt_blob, dev_of_offset(dev), "reg",
+                                   &size);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
        priv->base = ioremap(addr, size);
 
        /* get clock rate */
-       ret = clk_get_by_index(dev, 0, &clkdev);
+       ret = clk_get_by_index(dev, 0, &clk);
        if (ret < 0)
                return ret;
-       priv->uartclk = clk_get_periph_rate(clkdev, ret);
+       priv->uartclk = clk_get_rate(&clk);
+       clk_free(&clk);
 
        /* initialize serial */
        return pic32_serial_init(priv->base, priv->uartclk, CONFIG_BAUDRATE);