|
@@ -38,6 +38,7 @@ struct ar933x_serial_priv {
|
|
|
};
|
|
|
|
|
|
/*
|
|
|
+ * Baudrate algorithm come from Linux/drivers/tty/serial/ar933x_uart.c
|
|
|
* baudrate = (clk / (scale + 1)) * (step * (1 / 2^17))
|
|
|
*/
|
|
|
static u32 ar933x_serial_get_baud(u32 clk, u32 scale, u32 step)
|
|
@@ -145,27 +146,14 @@ static int ar933x_serial_pending(struct udevice *dev, bool input)
|
|
|
static int ar933x_serial_probe(struct udevice *dev)
|
|
|
{
|
|
|
struct ar933x_serial_priv *priv = dev_get_priv(dev);
|
|
|
- struct udevice *pinctrl;
|
|
|
fdt_addr_t addr;
|
|
|
u32 val;
|
|
|
- int ret;
|
|
|
-
|
|
|
- ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
|
|
|
- if (ret)
|
|
|
- return ret;
|
|
|
- ret = pinctrl_get_periph_id(pinctrl, dev);
|
|
|
- if (ret < 0)
|
|
|
- return ret;
|
|
|
- ret = pinctrl_request(pinctrl, ret, 0);
|
|
|
- if (ret < 0)
|
|
|
- return ret;
|
|
|
|
|
|
addr = dev_get_addr(dev);
|
|
|
if (addr == FDT_ADDR_T_NONE)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- priv->regs = map_physmem(addr,
|
|
|
- AR933X_UART_SIZE,
|
|
|
+ priv->regs = map_physmem(addr, AR933X_UART_SIZE,
|
|
|
MAP_NOCACHE);
|
|
|
|
|
|
/*
|