From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vikas MANOCHA Date: Thu, 9 Jul 2015 00:00:26 +0200 Subject: [U-Boot] [PATCH 11/20] dm: serial: Update binding for PL01x serial UART In-Reply-To: <1436324032-17931-12-git-send-email-sjg@chromium.org> References: <1436324032-17931-1-git-send-email-sjg@chromium.org> <1436324032-17931-12-git-send-email-sjg@chromium.org> Message-ID: <9026814FBF99304F9FA3AC3FB72F3E2F02961449@SAFEX1MAIL4.st.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Simon, > -----Original Message----- > From: Simon Glass [mailto:sjg at google.com] On Behalf Of Simon Glass > Sent: Tuesday, July 07, 2015 7:54 PM > To: U-Boot Mailing List > Cc: Stephen Warren; Stephen Warren; Joe Hershberger; Masahiro Yamada; > Simon Glass; Linus Walleij; Masahiro Yamada; Marek Vasut; Tom Rini; Albert > Aribaud; Vikas MANOCHA; Pavel Herrmann > Subject: [PATCH 11/20] dm: serial: Update binding for PL01x serial UART > > This binding differs from that of Linux. Update it and change existing users. > > Signed-off-by: Simon Glass > --- > > arch/arm/dts/stv0991.dts | 2 +- > doc/device-tree-bindings/serial/pl011.txt | 53 > +++++++++++++++++++++++++++++++ doc/device-tree- > bindings/serial/pl01x.txt | 7 ---- > drivers/serial/serial_pl01x.c | 6 ++-- > 4 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 > doc/device-tree-bindings/serial/pl011.txt > delete mode 100644 doc/device-tree-bindings/serial/pl01x.txt > > diff --git a/arch/arm/dts/stv0991.dts b/arch/arm/dts/stv0991.dts index > b25c48b..fd425b4 100644 > --- a/arch/arm/dts/stv0991.dts > +++ b/arch/arm/dts/stv0991.dts > @@ -18,6 +18,6 @@ > uart0: serial at 0x80406000 { > compatible = "arm,pl011", "arm,primecell"; > reg = <0x80406000 0x1000>; > - clock = <2700000>; > + clock-frequency = <2700000>; Clock-frequency is not mentioned in the binding doc. > }; > }; > diff --git a/doc/device-tree-bindings/serial/pl011.txt b/doc/device-tree- > bindings/serial/pl011.txt > new file mode 100644 > index 0000000..af66272 > --- /dev/null > +++ b/doc/device-tree-bindings/serial/pl011.txt > @@ -0,0 +1,53 @@ > +* ARM AMBA Primecell PL011 serial UART > + > +Required properties: > +- compatible: must be "arm,primecell", "arm,pl011" > +- reg: exactly one register range with length 0x1000 > +- interrupts: exactly one interrupt specifier > + > +Optional properties: > +- pinctrl: > + When present, must have one state named "default", > + and may contain a second name named "sleep". The former > + state sets up pins for ordinary operation whereas > + the latter state will put the associated pins to sleep > + when the UART is unused > +- clocks: > + When present, the first clock listed must correspond to > + the clock named UARTCLK on the IP block, i.e. the clock > + to the external serial line, whereas the second clock > + must correspond to the PCLK clocking the internal logic > + of the block. Just listing one clock (the first one) is > + deprecated. > +- clocks-names: > + When present, the first clock listed must be named > + "uartclk" and the second clock listed must be named > + "apb_pclk" > +- dmas: > + When present, may have one or two dma channels. > + The first one must be named "rx", the second one > + must be named "tx". > +- auto-poll: > + Enables polling when using RX DMA. > +- poll-rate-ms: > + Rate at which poll occurs when auto-poll is set, > + default 100ms. > +- poll-timeout-ms: > + Poll timeout when auto-poll is set, default > + 3000ms. > +- clock-frequency: > + Input clock frequency for UART. > + > +See also bindings/arm/primecell.txt > + > +Example: > + > +uart at 80120000 { > + compatible = "arm,pl011", "arm,primecell"; > + reg = <0x80120000 0x1000>; > + interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>; > + dma-names = "rx", "tx"; > + clocks = <&foo_clk>, <&bar_clk>; > + clock-names = "uartclk", "apb_pclk"; > +}; PL011 ip is covered in pl01x & we have pl01x driver in u-boot. Linux has only pl011 driver. So binding documents for pl011 in u-boot does not make sense... > diff --git a/doc/device-tree-bindings/serial/pl01x.txt b/doc/device-tree- > bindings/serial/pl01x.txt > deleted file mode 100644 > index 61c27d1..0000000 > --- a/doc/device-tree-bindings/serial/pl01x.txt > +++ /dev/null > @@ -1,7 +0,0 @@ > -* ARM AMBA Primecell PL011 & PL010 serial UART > - > -Required properties: > -- compatible: must be "arm,primecell", "arm,pl011" or "arm,pl010" > -- reg: exactly one register range with length 0x1000 > -- clock: input clock frequency for the UART (used to calculate the baud > - rate divisor) Removing pl01x.txt.. .you might want to remove it & add kernel pl011.txt binding doc which should be renamed to pl01x.txt in u-boot ? In that case, clock(or clock-frequency) is not optional in u-boot. Rgds, Vikas > diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c index > ad503af..ae6fc0e 100644 > --- a/drivers/serial/serial_pl01x.c > +++ b/drivers/serial/serial_pl01x.c > @@ -365,13 +365,15 @@ static int pl01x_serial_ofdata_to_platdata(struct > udevice *dev) > struct pl01x_serial_platdata *plat = dev_get_platdata(dev); > fdt_addr_t addr; > > - addr = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg"); > + addr = dev_get_addr(dev); > if (addr == FDT_ADDR_T_NONE) > return -EINVAL; > > plat->base = addr; > - plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "clock", > 1); > + plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset, > + "clock-frequency", 1); > plat->type = dev_get_driver_data(dev); > + > return 0; > } > #endif > -- > 2.4.3.573.g4eafbef