Message ID | 1432189870-21598-1-git-send-email-ysato@users.sourceforge.jp |
---|---|
State | Rejected, archived |
Delegated to: | Nobuhiro Iwamatsu |
Headers | show |
Hi! 015-05-21 15:31 GMT+09:00 Yoshinori Sato <ysato@users.sourceforge.jp>: > Add device tree support. > > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> > --- > doc/device-tree-bindings/serial/sh.txt | 6 ++++++ > drivers/serial/serial_sh.c | 28 ++++++++++++++++++++++++++++ > 2 files changed, 34 insertions(+) > create mode 100644 doc/device-tree-bindings/serial/sh.txt 2015-05-21 15:31 GMT+09:00 Yoshinori Sato <ysato@users.sourceforge.jp>: > Add support for standard type SCI (without FIFO) port. > > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> > --- > doc/device-tree-bindings/serial/sh.txt | 2 +- > drivers/serial/serial_sh.c | 8 ++++++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > Thanks for your patch. Sorry, your patch can not apply u-boot/master HEAD. Could you rebase and resend this patch? Best regards, Nobuhiro 2015-05-21 15:31 GMT+09:00 Yoshinori Sato <ysato@users.sourceforge.jp>: > Add device tree support. > > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> > --- > doc/device-tree-bindings/serial/sh.txt | 6 ++++++ > drivers/serial/serial_sh.c | 28 ++++++++++++++++++++++++++++ > 2 files changed, 34 insertions(+) > create mode 100644 doc/device-tree-bindings/serial/sh.txt > > diff --git a/doc/device-tree-bindings/serial/sh.txt b/doc/device-tree-bindings/serial/sh.txt > new file mode 100644 > index 0000000..b23b135 > --- /dev/null > +++ b/doc/device-tree-bindings/serial/sh.txt > @@ -0,0 +1,6 @@ > +* Renesas SCI serial interface > + > +Required properties: > +- compatible: must be "renesas,scif" or "renesas,scifa" > +- reg: exactly one register range with length > +- clock: input clock frequency for the SCI unit > diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c > index 8693c1e..32b2bf0 100644 > --- a/drivers/serial/serial_sh.c > +++ b/drivers/serial/serial_sh.c > @@ -17,6 +17,8 @@ > #include <dm/platform_data/serial_sh.h> > #include "serial_sh.h" > > +DECLARE_GLOBAL_DATA_PTR; > + > #if defined(CONFIG_CPU_SH7760) || \ > defined(CONFIG_CPU_SH7780) || \ > defined(CONFIG_CPU_SH7785) || \ > @@ -201,10 +203,35 @@ static const struct dm_serial_ops sh_serial_ops = { > .setbrg = sh_serial_setbrg, > }; > > +#ifdef CONFIG_OF_CONTROL > +static const struct udevice_id sh_serial_id[] = { > + {.compatible = "renesas,scif", .data = PORT_SCIF}, > + {.compatible = "renesas,scifa", .data = PORT_SCIFA}, > + {} > +}; > + > +static int sh_serial_ofdata_to_platdata(struct udevice *dev) > +{ > + struct sh_serial_platdata *plat = dev_get_platdata(dev); > + fdt_addr_t addr; > + > + addr = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg"); > + if (addr == FDT_ADDR_T_NONE) > + return -EINVAL; > + > + plat->base = addr; > + plat->clk = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "clock", 1); > + plat->type = dev_get_driver_data(dev); > + return 0; > +} > +#endif > + > U_BOOT_DRIVER(serial_sh) = { > .name = "serial_sh", > .id = UCLASS_SERIAL, > + .of_match = of_match_ptr(sh_serial_id), > + .ofdata_to_platdata = of_match_ptr(sh_serial_ofdata_to_platdata), > + .platdata_auto_alloc_size = sizeof(struct sh_serial_platdata), > .probe = sh_serial_probe, > .ops = &sh_serial_ops, > .flags = DM_FLAG_PRE_RELOC, > -- > 2.1.4 >
On Mon, 01 Jun 2015 09:08:55 +0900, Nobuhiro Iwamatsu wrote: > > Hi! > > 015-05-21 15:31 GMT+09:00 Yoshinori Sato <ysato@users.sourceforge.jp>: > > Add device tree support. > > > > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> > > --- > > doc/device-tree-bindings/serial/sh.txt | 6 ++++++ > > drivers/serial/serial_sh.c | 28 ++++++++++++++++++++++++++++ > > 2 files changed, 34 insertions(+) > > create mode 100644 doc/device-tree-bindings/serial/sh.txt > > 2015-05-21 15:31 GMT+09:00 Yoshinori Sato <ysato@users.sourceforge.jp>: > > Add support for standard type SCI (without FIFO) port. > > > > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> > > --- > > doc/device-tree-bindings/serial/sh.txt | 2 +- > > drivers/serial/serial_sh.c | 8 ++++++++ > > 2 files changed, 9 insertions(+), 1 deletion(-) > > > > Thanks for your patch. > Sorry, your patch can not apply u-boot/master HEAD. > Could you rebase and resend this patch? > Oh. I'm Sorry. I will rebase and resend. Thanks. > Best regards, > Nobuhiro > > 2015-05-21 15:31 GMT+09:00 Yoshinori Sato <ysato@users.sourceforge.jp>: > > Add device tree support. > > > > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> > > --- > > doc/device-tree-bindings/serial/sh.txt | 6 ++++++ > > drivers/serial/serial_sh.c | 28 ++++++++++++++++++++++++++++ > > 2 files changed, 34 insertions(+) > > create mode 100644 doc/device-tree-bindings/serial/sh.txt > > > > diff --git a/doc/device-tree-bindings/serial/sh.txt b/doc/device-tree-bindings/serial/sh.txt > > new file mode 100644 > > index 0000000..b23b135 > > --- /dev/null > > +++ b/doc/device-tree-bindings/serial/sh.txt > > @@ -0,0 +1,6 @@ > > +* Renesas SCI serial interface > > + > > +Required properties: > > +- compatible: must be "renesas,scif" or "renesas,scifa" > > +- reg: exactly one register range with length > > +- clock: input clock frequency for the SCI unit > > diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c > > index 8693c1e..32b2bf0 100644 > > --- a/drivers/serial/serial_sh.c > > +++ b/drivers/serial/serial_sh.c > > @@ -17,6 +17,8 @@ > > #include <dm/platform_data/serial_sh.h> > > #include "serial_sh.h" > > > > +DECLARE_GLOBAL_DATA_PTR; > > + > > #if defined(CONFIG_CPU_SH7760) || \ > > defined(CONFIG_CPU_SH7780) || \ > > defined(CONFIG_CPU_SH7785) || \ > > @@ -201,10 +203,35 @@ static const struct dm_serial_ops sh_serial_ops = { > > .setbrg = sh_serial_setbrg, > > }; > > > > +#ifdef CONFIG_OF_CONTROL > > +static const struct udevice_id sh_serial_id[] = { > > + {.compatible = "renesas,scif", .data = PORT_SCIF}, > > + {.compatible = "renesas,scifa", .data = PORT_SCIFA}, > > + {} > > +}; > > + > > +static int sh_serial_ofdata_to_platdata(struct udevice *dev) > > +{ > > + struct sh_serial_platdata *plat = dev_get_platdata(dev); > > + fdt_addr_t addr; > > + > > + addr = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg"); > > + if (addr == FDT_ADDR_T_NONE) > > + return -EINVAL; > > + > > + plat->base = addr; > > + plat->clk = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "clock", 1); > > + plat->type = dev_get_driver_data(dev); > > + return 0; > > +} > > +#endif > > + > > U_BOOT_DRIVER(serial_sh) = { > > .name = "serial_sh", > > .id = UCLASS_SERIAL, > > + .of_match = of_match_ptr(sh_serial_id), > > + .ofdata_to_platdata = of_match_ptr(sh_serial_ofdata_to_platdata), > > + .platdata_auto_alloc_size = sizeof(struct sh_serial_platdata), > > .probe = sh_serial_probe, > > .ops = &sh_serial_ops, > > .flags = DM_FLAG_PRE_RELOC, > > -- > > 2.1.4 > > > > > > -- > Nobuhiro Iwamatsu > iwamatsu at {nigauri.org / debian.org} > GPG ID: 40AD1FA6
diff --git a/doc/device-tree-bindings/serial/sh.txt b/doc/device-tree-bindings/serial/sh.txt new file mode 100644 index 0000000..b23b135 --- /dev/null +++ b/doc/device-tree-bindings/serial/sh.txt @@ -0,0 +1,6 @@ +* Renesas SCI serial interface + +Required properties: +- compatible: must be "renesas,scif" or "renesas,scifa" +- reg: exactly one register range with length +- clock: input clock frequency for the SCI unit diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c index 8693c1e..32b2bf0 100644 --- a/drivers/serial/serial_sh.c +++ b/drivers/serial/serial_sh.c @@ -17,6 +17,8 @@ #include <dm/platform_data/serial_sh.h> #include "serial_sh.h" +DECLARE_GLOBAL_DATA_PTR; + #if defined(CONFIG_CPU_SH7760) || \ defined(CONFIG_CPU_SH7780) || \ defined(CONFIG_CPU_SH7785) || \ @@ -201,10 +203,35 @@ static const struct dm_serial_ops sh_serial_ops = { .setbrg = sh_serial_setbrg, }; +#ifdef CONFIG_OF_CONTROL +static const struct udevice_id sh_serial_id[] = { + {.compatible = "renesas,scif", .data = PORT_SCIF}, + {.compatible = "renesas,scifa", .data = PORT_SCIFA}, + {} +}; + +static int sh_serial_ofdata_to_platdata(struct udevice *dev) +{ + struct sh_serial_platdata *plat = dev_get_platdata(dev); + fdt_addr_t addr; + + addr = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg"); + if (addr == FDT_ADDR_T_NONE) + return -EINVAL; + + plat->base = addr; + plat->clk = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "clock", 1); + plat->type = dev_get_driver_data(dev); + return 0; +} +#endif + U_BOOT_DRIVER(serial_sh) = { .name = "serial_sh", .id = UCLASS_SERIAL, + .of_match = of_match_ptr(sh_serial_id), + .ofdata_to_platdata = of_match_ptr(sh_serial_ofdata_to_platdata), + .platdata_auto_alloc_size = sizeof(struct sh_serial_platdata), .probe = sh_serial_probe, .ops = &sh_serial_ops, .flags = DM_FLAG_PRE_RELOC, --
Add device tree support. Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> --- doc/device-tree-bindings/serial/sh.txt | 6 ++++++ drivers/serial/serial_sh.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 doc/device-tree-bindings/serial/sh.txt 2.1.4