serial: UniPhier: support OF configuration
This commit implements the ofdata_to_platdata handler for the UniPhier serial driver and adds serial device nodes to the device tree sources. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
parent
509eb67802
commit
625177d27e
@ -21,5 +21,14 @@
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyPS0,115200 earlyprintk";
|
||||
stdout-path = &uart0;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -28,5 +28,33 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
uart0: serial@54006800 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006800 0x20>;
|
||||
clock-frequency = <36864000>;
|
||||
};
|
||||
|
||||
uart1: serial@54006900 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006900 0x20>;
|
||||
clock-frequency = <36864000>;
|
||||
};
|
||||
|
||||
uart2: serial@54006a00 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006a00 0x20>;
|
||||
clock-frequency = <36864000>;
|
||||
};
|
||||
|
||||
uart3: serial@54006b00 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006b00 0x20>;
|
||||
clock-frequency = <36864000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -21,5 +21,14 @@
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyPS0,115200 earlyprintk";
|
||||
stdout-path = &uart0;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -34,5 +34,33 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
uart0: serial@54006800 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006800 0x20>;
|
||||
clock-frequency = <73728000>;
|
||||
};
|
||||
|
||||
uart1: serial@54006900 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006900 0x20>;
|
||||
clock-frequency = <73728000>;
|
||||
};
|
||||
|
||||
uart2: serial@54006a00 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006a00 0x20>;
|
||||
clock-frequency = <73728000>;
|
||||
};
|
||||
|
||||
uart3: serial@54006b00 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006b00 0x20>;
|
||||
clock-frequency = <73728000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -21,5 +21,14 @@
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyPS0,115200 earlyprintk";
|
||||
stdout-path = &uart0;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -28,5 +28,33 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
uart0: serial@54006800 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006800 0x20>;
|
||||
clock-frequency = <80000000>;
|
||||
};
|
||||
|
||||
uart1: serial@54006900 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006900 0x20>;
|
||||
clock-frequency = <80000000>;
|
||||
};
|
||||
|
||||
uart2: serial@54006a00 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006a00 0x20>;
|
||||
clock-frequency = <80000000>;
|
||||
};
|
||||
|
||||
uart3: serial@54006b00 {
|
||||
compatible = "panasonic,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006b00 0x20>;
|
||||
clock-frequency = <80000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include <dm/device.h>
|
||||
#include <dm/platform_data/serial-uniphier.h>
|
||||
#include <serial.h>
|
||||
#include <fdtdec.h>
|
||||
|
||||
#define UART_REG(x) \
|
||||
u8 x; \
|
||||
@ -113,19 +114,21 @@ static int uniphier_serial_remove(struct udevice *dev)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF_CONTROL
|
||||
static const struct udevice_id uniphier_uart_of_match = {
|
||||
{ .compatible = "panasonic,uniphier-uart"},
|
||||
static const struct udevice_id uniphier_uart_of_match[] = {
|
||||
{ .compatible = "panasonic,uniphier-uart" },
|
||||
{},
|
||||
};
|
||||
|
||||
static int uniphier_serial_ofdata_to_platdata(struct udevice *dev)
|
||||
{
|
||||
/*
|
||||
* TODO: Masahiro Yamada (yamada.m@jp.panasonic.com)
|
||||
*
|
||||
* Implement conversion code from DTB to platform data
|
||||
* when supporting CONFIG_OF_CONTROL on UniPhir platform.
|
||||
*/
|
||||
struct uniphier_serial_platform_data *plat = dev_get_platdata(dev);
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
plat->base = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg");
|
||||
plat->uartclk = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
|
||||
"clock-frequency", 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user