Re: [PATCH] sh-sci: fix transition from noflow to HW flow control
Hi Geert, > Which port are you using? SCIF or HSCIF? just SCIF > You mean sci_set_mctrl() isn't called by the serial core after > sci_set_termios()? > > However, uart_set_termios() calls both uart_change_speed() and > uart_{clear,set}_mctrl(), in that order? Upon calling open() on the tty device sci_set_termios() and sci_set_mctrl() are called in this order. When issuing changes (baud rate, CRTSCTS...) only sci_set_termios() gets called. On calling close() sci_set_mctrl() and sci_shutdown() are called in this order. > Have you tried using GPIO RTS/CTS instead of hardware-assisted > RTS/CTS? > Does it show the same behavior? > When adding support for hardware-assisted RTS/CTS, I used the > behavior of GPIO RTS/CTS as the expected behavior. No, I haven't tried GPIO RTS/CTS so far. How would this be configured? Regards, Christoph
Re: [PATCH v2 3/9] mmc: tmio: Add UHS-I mode support
Hi Wolfram, On Tue, Aug 16, 2016 at 9:55 PM, Wolfram Sang wrote: >> The first SDHI channel (ee10.sd) doesn't seem to be affected >> by the problem. > > Hmm, I sadly don't have any docs about 73a4 and/or its SDHI variants. > I'll ask around. Forgot to add: I don't see the issue on sh73a0/kzm9g nor r8a7740/armadillo. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH v2 3/9] mmc: tmio: Add UHS-I mode support
> The first SDHI channel (ee10.sd) doesn't seem to be affected > by the problem. Hmm, I sadly don't have any docs about 73a4 and/or its SDHI variants. I'll ask around. signature.asc Description: PGP signature
Re: [PATCH v2 3/9] mmc: tmio: Add UHS-I mode support
Hi Wolfram, On Fri, Apr 1, 2016 at 5:44 PM, Wolfram Sang wrote: > From: Wolfram Sang > > Based on work by Shinobu Uehara and Ben Dooks. This adds the voltage > switch operation needed for all UHS-I modes, but not the tuning needed > for SDR-104 which will come later. > > Signed-off-by: Ben Hutchings > Signed-off-by: Wolfram Sang This patch causes a regression on r8a73a4/ape6evm, where the system feels sluggish, and the load average is always ca. 1. According to "top", "kworker/0:1" is consuming up to 80% of CPU time. "echo t > /proc/sysrq-trigger" tells me: kworker/0:1 R running 057 2 0x Workqueue: events_freezable mmc_rescan [] (__schedule) from [] (preempt_schedule_common+0x1c/0x2c) [] (preempt_schedule_common) from [] (_cond_resched+0x34/0x44) [] (_cond_resched) from [] (__mmc_start_request+0x6c/0x204) [] (__mmc_start_request) from [] (mmc_start_request+0x104/0x118) [] (mmc_start_request) from [] (mmc_wait_for_req+0x3c/0x14c) [] (mmc_wait_for_req) from [] (mmc_wait_for_cmd+0x64/0x74) [] (mmc_wait_for_cmd) from [] (mmc_io_rw_direct_host+0xbc/0x124) [] (mmc_io_rw_direct_host) from [] (sdio_reset+0x58/0x60) [] (sdio_reset) from [] (mmc_rescan+0x244/0x338) [] (mmc_rescan) from [] (process_one_work+0x324/0x67c) [] (process_one_work) from [] (worker_thread+0x2ac/0x3d4) [] (worker_thread) from [] (kthread+0xd8/0xec) [] (kthread) from [] (ret_from_fork+0x14/0x24) I've bisected this to commit 452e5eef6d311e52f657b34d999758107ec3dd4a Author: Wolfram Sang Date: Fri Apr 1 17:44:33 2016 +0200 mmc: tmio: Add UHS-I mode support The problem goes away by: 1. Commenting-out the assignment to .card_busy 2. OR disabling the second SDHI channel, e.g. echo ee12.sd > /sys/bus/platform/drivers/sh_mobile_sdhi/unbind The first SDHI channel (ee10.sd) doesn't seem to be affected by the problem. I've added some debug code to dev_warn_ratelimited() the status value. This shows the SDHI channel keeps on reporting busy: # dmesg | grep -E "(tmio|sdhi)" | uniq -c 1 iommu: Adding device regulator-sdhi0 to group 0 1 iommu: Removing device regulator-sdhi0 from group 0 1 sh_mobile_sdhi ee10.sd: could not find pctldev for node /pfc@e605/sd0, deferring probe 1 sh_mobile_sdhi ee12.sd: could not find pctldev for node /pfc@e605/sd1, deferring probe 1 sh_mobile_sdhi ee10.sd: adding to PM domain a3sp 1 _host->start_signal_voltage_switch = sh_mobile_sdhi_start_signal_voltage_switch 1 sh_mobile_sdhi ee10.sd: mmc0 base at 0xee10 max clock rate 88 MHz 1 sh_mobile_sdhi ee12.sd: adding to PM domain a3sp 1 _host->start_signal_voltage_switch = sh_mobile_sdhi_start_signal_voltage_switch 1 sh_mobile_sdhi ee10.sd: CTL_STATUS2 = 0x20800600 1 sh_mobile_sdhi ee10.sd: CTL_STATUS2 = 0x20800400 1 sh_mobile_sdhi ee12.sd: mmc1 base at 0xee12 max clock rate 12 MHz 8 sh_mobile_sdhi ee12.sd: CTL_STATUS2 = 0x2600 1 tmio_mmc_card_busy: 3509 callbacks suppressed 10 sh_mobile_sdhi ee12.sd: CTL_STATUS2 = 0x2400 1 tmio_mmc_card_busy: 2653 callbacks suppressed 10 sh_mobile_sdhi ee12.sd: CTL_STATUS2 = 0x2400 1 tmio_mmc_card_busy: 2028 callbacks suppressed 10 sh_mobile_sdhi ee12.sd: CTL_STATUS2 = 0x2400 1 tmio_mmc_card_busy: 2888 callbacks suppressed 10 sh_mobile_sdhi ee12.sd: CTL_STATUS2 = 0x2400 Note that the reported values are the ones for a current tree. On commit 452e5eef6d311e52, the values are 0x31d2080, 0x3002080, 0x31d2000, and 0x3182000. As you can see ee10.sd behaves normal. > --- > drivers/mmc/host/tmio_mmc.h | 2 ++ > drivers/mmc/host/tmio_mmc_pio.c | 12 +++- > include/linux/mmc/tmio.h| 2 ++ > 3 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h > index b44b5890290622..b1819c74965b47 100644 > --- a/drivers/mmc/host/tmio_mmc.h > +++ b/drivers/mmc/host/tmio_mmc.h > @@ -101,6 +101,8 @@ struct tmio_mmc_host { > void (*clk_disable)(struct tmio_mmc_host *host); > int (*multi_io_quirk)(struct mmc_card *card, > unsigned int direction, int blk_size); > + int (*start_signal_voltage_switch)(struct mmc_host *mmc, > + struct mmc_ios *ios); > }; > > struct tmio_mmc_host *tmio_mmc_host_alloc(struct platform_device *pdev); > diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c > index ae81b34f17a5a5..53e5ba5a21914c 100644 > --- a/drivers/mmc/host/tmio_mmc_pio.c > +++ b/drivers/mmc/host/tmio_mmc_pio.c > @@ -1012,12 +1012,20 @@ static int tmio_multi_io_quirk(struct mmc_card *card, > return blk_size; > } > > -static const struct mmc_host_ops tmio_mmc_ops = { > +static int tmio_mmc_card_busy(struct mmc_host *mmc) > +{ > +
Re: [PATCH v2 3/4] arm64: dts: r8a7796: Add pinctrl device node
On 08/16/2016 05:47 PM, Ulrich Hecht wrote: From: Takeshi Kihara This patch adds pinctrl device node for R8A7796 SoC. Signed-off-by: Takeshi Kihara Reviewed-by: Geert Uytterhoeven --- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 5 + 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi index 1edf824..faea5a9 100644 --- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi @@ -107,6 +107,11 @@ status = "disabled"; }; + pfc: pfc@e606 { The node names should be generic to comply with ePAPR, I'd use "pin-controller@...". [...] MBR, Sergei
Re: [PATCH v2 4/4] arm64: dts: r8a7796: salvator: add serial console pins
Hi Ulrich, On Tue, Aug 16, 2016 at 4:47 PM, Ulrich Hecht wrote: > Adds pin control for SCIF2. > > Signed-off-by: Ulrich Hecht > --- > arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 9 + > 1 file changed, 9 insertions(+) > > diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts > b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts > index e72be38..d4a774c 100644 > --- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts > +++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts > @@ -31,11 +31,20 @@ > }; > }; > > +&pfc { > + scif2_pins: scif2 { > + groups = "scif2_data_a", "scif2_clk"; > + function = "scif2"; > + }; > +}; I think you misunderstood my comment: I didn't mean to add "scif2_clk" (which is not used on Salvator-X), but "scif_clk", which is the external clock for all (H)SCIF instances, provided by 14.7456 MHz crystal X1 on Salvator-X. This is used to program the BRG in SCIF2 to exactly 115200 bps. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH 0/2] ARM: dts: r8a7790/r8a7791: Remove obsolete vsp1 properties
Hi Geert, On Tuesday 16 Aug 2016 16:56:30 Geert Uytterhoeven wrote: > Hi Simon, Magnus, Laurent, > > This patch series removes from the R-Car H2 and M2-W DT source files the > obsolete DT properties to identify the exact VSP device instance > features, which are no longer needed nor used since commit > 5aa2eb3c86d4fd16 ("[media] v4l: vsp1: Configure device based on IP > version"). I was about to submit the same patches :-) Reviewed-by: Laurent Pinchart > Geert Uytterhoeven (2): > ARM: dts: r8a7790: Remove obsolete vsp1 properties > ARM: dts: r8a7791: Remove obsolete vsp1 properties > > arch/arm/boot/dts/r8a7790.dtsi | 23 --- > arch/arm/boot/dts/r8a7791.dtsi | 18 -- > 2 files changed, 41 deletions(-) -- Regards, Laurent Pinchart
[PATCH 2/2] ARM: dts: r8a7791: Remove obsolete vsp1 properties
As of commit 5aa2eb3c86d4fd16 ("[media] v4l: vsp1: Configure device based on IP version"), the DT properties to identify the exact VSP device instance features are no longer used. Hence remove them. Signed-off-by: Geert Uytterhoeven --- arch/arm/boot/dts/r8a7791.dtsi | 18 -- 1 file changed, 18 deletions(-) diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi index 8f0086bbd96bb27a..162b55c665a3519e 100644 --- a/arch/arm/boot/dts/r8a7791.dtsi +++ b/arch/arm/boot/dts/r8a7791.dtsi @@ -983,12 +983,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7791_CLK_VSP1_S>; power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; - - renesas,has-lut; - renesas,has-sru; - renesas,#rpf = <5>; - renesas,#uds = <3>; - renesas,#wpf = <4>; }; vsp1@fe93 { @@ -997,12 +991,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7791_CLK_VSP1_DU0>; power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; - - renesas,has-lif; - renesas,has-lut; - renesas,#rpf = <4>; - renesas,#uds = <1>; - renesas,#wpf = <4>; }; vsp1@fe938000 { @@ -1011,12 +999,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7791_CLK_VSP1_DU1>; power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; - - renesas,has-lif; - renesas,has-lut; - renesas,#rpf = <4>; - renesas,#uds = <1>; - renesas,#wpf = <4>; }; du: display@feb0 { -- 1.9.1
[PATCH 0/2] ARM: dts: r8a7790/r8a7791: Remove obsolete vsp1 properties
Hi Simon, Magnus, Laurent, This patch series removes from the R-Car H2 and M2-W DT source files the obsolete DT properties to identify the exact VSP device instance features, which are no longer needed nor used since commit 5aa2eb3c86d4fd16 ("[media] v4l: vsp1: Configure device based on IP version"). Geert Uytterhoeven (2): ARM: dts: r8a7790: Remove obsolete vsp1 properties ARM: dts: r8a7791: Remove obsolete vsp1 properties arch/arm/boot/dts/r8a7790.dtsi | 23 --- arch/arm/boot/dts/r8a7791.dtsi | 18 -- 2 files changed, 41 deletions(-) -- 1.9.1 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
[PATCH 1/2] ARM: dts: r8a7790: Remove obsolete vsp1 properties
As of commit 5aa2eb3c86d4fd16 ("[media] v4l: vsp1: Configure device based on IP version"), the DT properties to identify the exact VSP device instance features are no longer used. Hence remove them. Signed-off-by: Geert Uytterhoeven --- arch/arm/boot/dts/r8a7790.dtsi | 23 --- 1 file changed, 23 deletions(-) diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi index d18558f211022826..351fcc2f87df6b28 100644 --- a/arch/arm/boot/dts/r8a7790.dtsi +++ b/arch/arm/boot/dts/r8a7790.dtsi @@ -944,11 +944,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7790_CLK_VSP1_R>; power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; - - renesas,has-sru; - renesas,#rpf = <5>; - renesas,#uds = <1>; - renesas,#wpf = <4>; }; vsp1@fe928000 { @@ -957,12 +952,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7790_CLK_VSP1_S>; power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; - - renesas,has-lut; - renesas,has-sru; - renesas,#rpf = <5>; - renesas,#uds = <3>; - renesas,#wpf = <4>; }; vsp1@fe93 { @@ -971,12 +960,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7790_CLK_VSP1_DU0>; power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; - - renesas,has-lif; - renesas,has-lut; - renesas,#rpf = <4>; - renesas,#uds = <1>; - renesas,#wpf = <4>; }; vsp1@fe938000 { @@ -985,12 +968,6 @@ interrupts = ; clocks = <&mstp1_clks R8A7790_CLK_VSP1_DU1>; power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; - - renesas,has-lif; - renesas,has-lut; - renesas,#rpf = <4>; - renesas,#uds = <1>; - renesas,#wpf = <4>; }; du: display@feb0 { -- 1.9.1
[PATCH v2 1/4] pinctrl: sh-pfc: Initial R8A7796 PFC support
From: Takeshi Kihara This patch adds initial pinctrl driver to support for the R8A7796 SoC. Signed-off-by: Takeshi Kihara [uli: rebased on top of renesas-drivers] Signed-off-by: Ulrich Hecht --- .../bindings/pinctrl/renesas,pfc-pinctrl.txt |1 + drivers/pinctrl/sh-pfc/Kconfig |5 + drivers/pinctrl/sh-pfc/Makefile|1 + drivers/pinctrl/sh-pfc/core.c |6 + drivers/pinctrl/sh-pfc/pfc-r8a7796.c | 2072 drivers/pinctrl/sh-pfc/sh_pfc.h|1 + 6 files changed, 2086 insertions(+) create mode 100644 drivers/pinctrl/sh-pfc/pfc-r8a7796.c diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt index 48db27c..13df949 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt @@ -21,6 +21,7 @@ Required Properties: - "renesas,pfc-r8a7793": for R8A7793 (R-Car M2-N) compatible pin-controller. - "renesas,pfc-r8a7794": for R8A7794 (R-Car E2) compatible pin-controller. - "renesas,pfc-r8a7795": for R8A7795 (R-Car H3) compatible pin-controller. +- "renesas,pfc-r8a7796": for R8A7796 (R-Car M3-W) compatible pin-controller. - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller. - reg: Base address and length of each memory resource used by the pin diff --git a/drivers/pinctrl/sh-pfc/Kconfig b/drivers/pinctrl/sh-pfc/Kconfig index 8858c3e..07eca54 100644 --- a/drivers/pinctrl/sh-pfc/Kconfig +++ b/drivers/pinctrl/sh-pfc/Kconfig @@ -74,6 +74,11 @@ config PINCTRL_PFC_R8A7795 depends on ARCH_R8A7795 select PINCTRL_SH_PFC +config PINCTRL_PFC_R8A7796 +def_bool y +depends on ARCH_R8A7796 +select PINCTRL_SH_PFC + config PINCTRL_PFC_SH7203 def_bool y depends on CPU_SUBTYPE_SH7203 diff --git a/drivers/pinctrl/sh-pfc/Makefile b/drivers/pinctrl/sh-pfc/Makefile index ffe7eb7..2dda8c6 100644 --- a/drivers/pinctrl/sh-pfc/Makefile +++ b/drivers/pinctrl/sh-pfc/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_PINCTRL_PFC_R8A7792) += pfc-r8a7792.o obj-$(CONFIG_PINCTRL_PFC_R8A7793) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_R8A7794) += pfc-r8a7794.o obj-$(CONFIG_PINCTRL_PFC_R8A7795) += pfc-r8a7795.o +obj-$(CONFIG_PINCTRL_PFC_R8A7796) += pfc-r8a7796.o obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o obj-$(CONFIG_PINCTRL_PFC_SH7264) += pfc-sh7264.o obj-$(CONFIG_PINCTRL_PFC_SH7269) += pfc-sh7269.o diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c index d74169e..f3a8897 100644 --- a/drivers/pinctrl/sh-pfc/core.c +++ b/drivers/pinctrl/sh-pfc/core.c @@ -518,6 +518,12 @@ static const struct of_device_id sh_pfc_of_table[] = { .data = &r8a7795_pinmux_info, }, #endif +#ifdef CONFIG_PINCTRL_PFC_R8A7796 + { + .compatible = "renesas,pfc-r8a7796", + .data = &r8a7796_pinmux_info, + }, +#endif #ifdef CONFIG_PINCTRL_PFC_SH73A0 { .compatible = "renesas,pfc-sh73a0", diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7796.c b/drivers/pinctrl/sh-pfc/pfc-r8a7796.c new file mode 100644 index 000..0d14ca9 --- /dev/null +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7796.c @@ -0,0 +1,2072 @@ +/* + * R8A7796 processor support - PFC hardware block. + * + * Copyright (C) 2016 Renesas Electronics Corp. + * + * This file is based on the drivers/pinctrl/sh-pfc/pfc-r8a7795.c + * + * R-Car Gen3 processor support - PFC hardware block. + * + * Copyright (C) 2015 Renesas Electronics Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + */ + +#include + +#include "core.h" +#include "sh_pfc.h" + +#define CPU_ALL_PORT(fn, sfx) \ + PORT_GP_16(0, fn, sfx), \ + PORT_GP_29(1, fn, sfx), \ + PORT_GP_15(2, fn, sfx), \ + PORT_GP_16(3, fn, sfx), \ + PORT_GP_18(4, fn, sfx), \ + PORT_GP_26(5, fn, sfx), \ + PORT_GP_32(6, fn, sfx), \ + PORT_GP_4(7, fn, sfx) +/* + * F_() : just information + * FM() : macro for FN_xxx / xxx_MARK + */ + +/* GPSR0 */ +#define GPSR0_15 F_(D15, IP7_11_8) +#define GPSR0_14 F_(D14, IP7_7_4) +#define GPSR0_13 F_(D13, IP7_3_0) +#define GPSR0_12 F_(D12, IP6_31_28) +#define GPSR0_11 F_(
[PATCH v2 4/4] arm64: dts: r8a7796: salvator: add serial console pins
Adds pin control for SCIF2. Signed-off-by: Ulrich Hecht --- arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 9 + 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts index e72be38..d4a774c 100644 --- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts +++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts @@ -31,11 +31,20 @@ }; }; +&pfc { + scif2_pins: scif2 { + groups = "scif2_data_a", "scif2_clk"; + function = "scif2"; + }; +}; + &extal_clk { clock-frequency = <1666>; }; &scif2 { + pinctrl-0 = <&scif2_pins>; + pinctrl-names = "default"; status = "okay"; }; -- 2.7.4
[PATCH v2 0/4] Initial r8a7796 PFC support
Hi! This implements a minimal set of PFC functionality for the M3 and sits on top of renesas-drivers-2016-08-09-v4.8-rc1. It includes the SCIF pin groups and enables pin control for the serial console (SCIF2) on the Salvator-X board. This revision addresses the issues found in Geert's review. See below for details. CU Uli Changes since v1: - dts: assign scif2_clk pin to scif2 - bindings: "M3" -> "M3-W" - pfc-r8a7796.c: fix whitespace inconsistencies - pfc-r8a7796.c: fix 0xe6060248 register name ("IPSR17" -> "IPSR18") Takeshi Kihara (3): pinctrl: sh-pfc: Initial R8A7796 PFC support pinctrl: sh-pfc: r8a7796: Add SCIF pins, groups and functions arm64: dts: r8a7796: Add pinctrl device node Ulrich Hecht (1): arm64: dts: r8a7796: salvator: add serial console pins .../bindings/pinctrl/renesas,pfc-pinctrl.txt |1 + arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts |9 + arch/arm64/boot/dts/renesas/r8a7796.dtsi |5 + drivers/pinctrl/sh-pfc/Kconfig |5 + drivers/pinctrl/sh-pfc/Makefile|1 + drivers/pinctrl/sh-pfc/core.c |6 + drivers/pinctrl/sh-pfc/pfc-r8a7796.c | 2348 drivers/pinctrl/sh-pfc/sh_pfc.h|1 + 8 files changed, 2376 insertions(+) create mode 100644 drivers/pinctrl/sh-pfc/pfc-r8a7796.c -- 2.7.4
[PATCH v2 3/4] arm64: dts: r8a7796: Add pinctrl device node
From: Takeshi Kihara This patch adds pinctrl device node for R8A7796 SoC. Signed-off-by: Takeshi Kihara Reviewed-by: Geert Uytterhoeven --- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 5 + 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi index 1edf824..faea5a9 100644 --- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi @@ -107,6 +107,11 @@ status = "disabled"; }; + pfc: pfc@e606 { + compatible = "renesas,pfc-r8a7796"; + reg = <0 0xe606 0 0x50c>; + }; + cpg: clock-controller@e615 { compatible = "renesas,r8a7796-cpg-mssr"; reg = <0 0xe615 0 0x1000>; -- 2.7.4
[PATCH v2 2/4] pinctrl: sh-pfc: r8a7796: Add SCIF pins, groups and functions
From: Takeshi Kihara This patch adds SCIF{0,1,2,3,4,5} pins, groups and functions to R8A7796 SoC. Signed-off-by: Takeshi Kihara Reviewed-by: Geert Uytterhoeven --- drivers/pinctrl/sh-pfc/pfc-r8a7796.c | 276 +++ 1 file changed, 276 insertions(+) diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7796.c b/drivers/pinctrl/sh-pfc/pfc-r8a7796.c index 0d14ca9..2babc2c 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7796.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7796.c @@ -1486,10 +1486,286 @@ static const struct sh_pfc_pin pinmux_pins[] = { PINMUX_GPIO_GP_ALL(), }; +/* - SCIF0 -- */ +static const unsigned int scif0_data_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2), +}; +static const unsigned int scif0_data_mux[] = { + RX0_MARK, TX0_MARK, +}; +static const unsigned int scif0_clk_pins[] = { + /* SCK */ + RCAR_GP_PIN(5, 0), +}; +static const unsigned int scif0_clk_mux[] = { + SCK0_MARK, +}; +static const unsigned int scif0_ctrl_pins[] = { + /* RTS, CTS */ + RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 3), +}; +static const unsigned int scif0_ctrl_mux[] = { + RTS0_N_TANS_MARK, CTS0_N_MARK, +}; +/* - SCIF1 -- */ +static const unsigned int scif1_data_a_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6), +}; +static const unsigned int scif1_data_a_mux[] = { + RX1_A_MARK, TX1_A_MARK, +}; +static const unsigned int scif1_clk_pins[] = { + /* SCK */ + RCAR_GP_PIN(6, 21), +}; +static const unsigned int scif1_clk_mux[] = { + SCK1_MARK, +}; +static const unsigned int scif1_ctrl_pins[] = { + /* RTS, CTS */ + RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 7), +}; +static const unsigned int scif1_ctrl_mux[] = { + RTS1_N_TANS_MARK, CTS1_N_MARK, +}; + +static const unsigned int scif1_data_b_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25), +}; +static const unsigned int scif1_data_b_mux[] = { + RX1_B_MARK, TX1_B_MARK, +}; +/* - SCIF2 -- */ +static const unsigned int scif2_data_a_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 10), +}; +static const unsigned int scif2_data_a_mux[] = { + RX2_A_MARK, TX2_A_MARK, +}; +static const unsigned int scif2_clk_pins[] = { + /* SCK */ + RCAR_GP_PIN(5, 9), +}; +static const unsigned int scif2_clk_mux[] = { + SCK2_MARK, +}; +static const unsigned int scif2_data_b_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16), +}; +static const unsigned int scif2_data_b_mux[] = { + RX2_B_MARK, TX2_B_MARK, +}; +/* - SCIF3 -- */ +static const unsigned int scif3_data_a_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 24), +}; +static const unsigned int scif3_data_a_mux[] = { + RX3_A_MARK, TX3_A_MARK, +}; +static const unsigned int scif3_clk_pins[] = { + /* SCK */ + RCAR_GP_PIN(1, 22), +}; +static const unsigned int scif3_clk_mux[] = { + SCK3_MARK, +}; +static const unsigned int scif3_ctrl_pins[] = { + /* RTS, CTS */ + RCAR_GP_PIN(1, 26), RCAR_GP_PIN(1, 25), +}; +static const unsigned int scif3_ctrl_mux[] = { + RTS3_N_TANS_MARK, CTS3_N_MARK, +}; +static const unsigned int scif3_data_b_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 11), +}; +static const unsigned int scif3_data_b_mux[] = { + RX3_B_MARK, TX3_B_MARK, +}; +/* - SCIF4 -- */ +static const unsigned int scif4_data_a_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), +}; +static const unsigned int scif4_data_a_mux[] = { + RX4_A_MARK, TX4_A_MARK, +}; +static const unsigned int scif4_clk_a_pins[] = { + /* SCK */ + RCAR_GP_PIN(2, 10), +}; +static const unsigned int scif4_clk_a_mux[] = { + SCK4_A_MARK, +}; +static const unsigned int scif4_ctrl_a_pins[] = { + /* RTS, CTS */ + RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13), +}; +static const unsigned int scif4_ctrl_a_mux[] = { + RTS4_N_TANS_A_MARK, CTS4_N_A_MARK, +}; +static const unsigned int scif4_data_b_pins[] = { + /* RX, TX */ + RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7), +}; +static const unsigned int scif4_data_b_mux[] = { + RX4_B_MARK, TX4_B_MARK, +}; +static const unsigned int scif4_clk_b_pins[] = { + /* SCK */ + RCAR_GP_PIN(1, 5), +}; +static const unsigned int scif4_clk_b_mux[] = { + SCK4_B_MARK, +}; +static const unsigned int scif4_ctrl_b_pins[] = { + /* RTS, CTS */ + RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 9), +}; +static const unsigned int scif4_ctrl_b_mux[] = { + RTS4_N_TANS_B_MARK, CTS4_N_B_MARK, +}; +st
[renesas-drivers:topic/renesas-overlays 18/87] (.text+0x21): multiple definition of `of_changeset_add_property_copy'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git topic/renesas-overlays head: 1bebb616e30100a487cc295752fc575bbb35ef5e commit: 4787d76c83e84701506d2df7f08fb194dd7cf1c4 [18/87] of: changesets: Introduce changeset helper methods config: i386-tinyconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: git checkout 4787d76c83e84701506d2df7f08fb194dd7cf1c4 # save the attached .config to linux build tree make ARCH=i386 Note: the renesas-drivers/topic/renesas-overlays HEAD 1bebb616e30100a487cc295752fc575bbb35ef5e builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): init/mounts.o: In function `of_changeset_add_property_copy': >> (.text+0x21): multiple definition of `of_changeset_add_property_copy' init/main.o:main.c:(.text+0x19): first defined here init/mounts.o: In function `of_changeset_add_property_string': >> (.text+0x27): multiple definition of `of_changeset_add_property_string' init/main.o:main.c:(.text+0x1f): first defined here --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
[PATCH] ARM: debug-ll: Add support for r8a7992
Enable low-level debugging support for R-Car V2H (r8a7792). V2H uses SCIF0 for the debug console, like most other R-Car Gen2 SoCs. Signed-off-by: Geert Uytterhoeven --- arch/arm/Kconfig.debug | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index a9693b6987a6e41c..88440f63c31e434b 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -861,12 +861,12 @@ choice via SCIF2 on Renesas R-Car H1 (R8A7779). config DEBUG_RCAR_GEN2_SCIF0 - bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793" - depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793 + bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7792/R8A7793" + depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793 help Say Y here if you want kernel low-level debugging support - via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or - M2-N (R8A7793). + via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), V2H + (R8A7792), or M2-N (R8A7793). config DEBUG_RCAR_GEN2_SCIF2 bool "Kernel low-level debugging messages via SCIF2 on R8A7794" -- 1.9.1
[renesas-drivers:topic/gen3-latest 911/1492] include/linux/module.h:213:27: error: '__mod_of__adv7482_of_ids_device_table' aliased to undefined symbol 'adv7482_of_ids'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git topic/gen3-latest head: 88f41090789e9cdfe3715fb77bd9542b75536d60 commit: c585bda5a818d6c75430e57587c7e529395ddfbf [911/1492] [media] i2c: adv7482: add adv7482 driver config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: git checkout c585bda5a818d6c75430e57587c7e529395ddfbf # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from drivers/media/i2c/adv7482.c:15:0: drivers/media/i2c/adv7482.c:1368:25: error: 'adv7482_of_ids' undeclared here (not in a function) MODULE_DEVICE_TABLE(of, adv7482_of_ids); ^ include/linux/module.h:213:21: note: in definition of macro 'MODULE_DEVICE_TABLE' extern const typeof(name) __mod_##type##__##name##_device_table \ ^~~~ >> include/linux/module.h:213:27: error: >> '__mod_of__adv7482_of_ids_device_table' aliased to undefined symbol >> 'adv7482_of_ids' extern const typeof(name) __mod_##type##__##name##_device_table \ ^ >> drivers/media/i2c/adv7482.c:1368:1: note: in expansion of macro >> 'MODULE_DEVICE_TABLE' MODULE_DEVICE_TABLE(of, adv7482_of_ids); ^~~ drivers/media/i2c/adv7482.c:807:12: warning: 'adv7482_query_dv_timings' defined but not used [-Wunused-function] static int adv7482_query_dv_timings(struct v4l2_subdev *sd, ^~~~ drivers/media/i2c/adv7482.c:795:12: warning: 'adv7482_g_dv_timings' defined but not used [-Wunused-function] static int adv7482_g_dv_timings(struct v4l2_subdev *sd, ^~~~ drivers/media/i2c/adv7482.c:761:12: warning: 'adv7482_s_dv_timings' defined but not used [-Wunused-function] static int adv7482_s_dv_timings(struct v4l2_subdev *sd, ^~~~ vim +213 include/linux/module.h ^1da177e Linus Torvalds 2005-04-16 207 /* What your module does. */ ^1da177e Linus Torvalds 2005-04-16 208 #define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description) ^1da177e Linus Torvalds 2005-04-16 209 cff26a51 Rusty Russell 2014-02-03 210 #ifdef MODULE cff26a51 Rusty Russell 2014-02-03 211 /* Creates an alias so file2alias.c can find device table. */ ^1da177e Linus Torvalds 2005-04-16 212 #define MODULE_DEVICE_TABLE(type, name) \ 6301939d Andrey Ryabinin 2015-02-13 @213 extern const typeof(name) __mod_##type##__##name##_device_table \ cff26a51 Rusty Russell 2014-02-03 214__attribute__ ((unused, alias(__stringify(name cff26a51 Rusty Russell 2014-02-03 215 #else /* !MODULE */ cff26a51 Rusty Russell 2014-02-03 216 #define MODULE_DEVICE_TABLE(type, name) :: The code at line 213 was first introduced by commit :: 6301939d97d079f0d3dbe71e750f4daf5d39fc33 module: fix types of device tables aliases :: TO: Andrey Ryabinin :: CC: Linus Torvalds --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
renesas-drivers-2016-08-16-v4.8-rc2
I have pushed renesas-drivers-2016-08-16-v4.8-rc2 to https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git This tree is meant to ease development of platform support and drivers for Renesas ARM SoCs. It is created by merging (a) the for-next branches of various subsystem trees and (b) branches with driver code submitted or planned for submission to maintainers into the development branch of Simon Horman's renesas.git tree. Today's version is based on renesas-devel-20160815-v4.8-rc2. Included branches with driver code: - clk-renesas-for-v4.9 - sh-pfc-for-v4.9 - topic/r8a7796-pfc-v1-rebased3 - topic/ipmmu-multi-arch-v4 - topic/r8a7795-ipmmu-v2-rebased1 - topic/r8a7796-ipmmu-v1-rebased1 - topic/salvator-x-ipmmu-rfc-v3-rebased4 - topic/spi-slave-v1-rebased1 - git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git - topic/sdr104-v4 - topic/i2c-demux-v3-rebased3 - topic/sdhi-gen3-dma-v3-rebased2 - topic/pretimeout-v1-rebased1 - topic/h3-pfc-set-voltage-v1-rebased2~1 - https://git.ragnatech.se/linux - for-renesas-drivers - topic/fcpf-v1-rebased7 - topic/fdp1-v2-rebased2 Included fixes: - [media] fdp1: vb2_queue dev conversion Included subsystem trees: - git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git#linux-next - git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git#clk-next - git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git#for-next - git://git.infradead.org/users/dedekind/l2-mtd-2.6.git#master - git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git#master - git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git#tty-next - git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git#i2c/for-next - git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git#master - git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git#usb-next - git://people.freedesktop.org/~airlied/linux#drm-next - git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git#next - git://linuxtv.org/mchehab/media-next.git#master - git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git#mmc-next - git://git.linaro.org/people/ulf.hansson/mmc.git#next - git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git#for-next - git://git.linaro.org/people/daniel.lezcano/linux.git#clockevents/next - git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git#testing/next - git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine.git#next - git://git.infradead.org/users/vkoul/slave-dma.git#next - git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git#staging-next - git://git.armlinux.org.uk/~rmk/linux-arm.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git#next - git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git#for-next - git://git.infradead.org/users/jcooper/linux.git#irqchip/for-next - git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git#for-next - git://git.infradead.org/battery-2.6.git#master - git://www.linux-watchdog.org/linux-watchdog-next.git#master - git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git#for-next - git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git#for-next/core - git://anongit.freedesktop.org/drm-intel#topic/drm-misc - git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git#next - git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git#next - git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git#next Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] sh-sci: fix transition from noflow to HW flow control
Hi Geert, > > On calling close() sci_set_mctrl() and sci_shutdown() are called > in this order. > > OK, so it works on subsequent uses as the flag is kept in .c_cflag? yes, indeed. If you close the port and open it again, the settings are correct and communication works. Unfortunately e.g. hciattach opens the port, sets it to some defaults (115200, noflow) and then evaluates the command line values. This way the connection always fails if you specify flow control. > > No, I haven't tried GPIO RTS/CTS so far. How would this be > configured? > > In DT, instead of specifying "uart-has-rtscts" and pinctrl for the > "ctrl" group, you specify "rts-gpios" and "cts-gpios". Thanks, I will have a look. Regards, Christoph
Re: [PATCH] sh-sci: fix transition from noflow to HW flow control
Hi Christoph, On Tue, Aug 16, 2016 at 11:36 AM, Baumann, Christoph (C.) wrote: >> Which port are you using? SCIF or HSCIF? > > just SCIF > >> You mean sci_set_mctrl() isn't called by the serial core after >> sci_set_termios()? >> >> However, uart_set_termios() calls both uart_change_speed() and >> uart_{clear,set}_mctrl(), in that order? > > Upon calling open() on the tty device sci_set_termios() and sci_set_mctrl() > are called in this order. > When issuing changes (baud rate, CRTSCTS...) only sci_set_termios() gets > called. > On calling close() sci_set_mctrl() and sci_shutdown() are called in this > order. OK, so it works on subsequent uses as the flag is kept in .c_cflag? >> Have you tried using GPIO RTS/CTS instead of hardware-assisted >> RTS/CTS? >> Does it show the same behavior? >> When adding support for hardware-assisted RTS/CTS, I used the >> behavior of GPIO RTS/CTS as the expected behavior. > > No, I haven't tried GPIO RTS/CTS so far. How would this be configured? In DT, instead of specifying "uart-has-rtscts" and pinctrl for the "ctrl" group, you specify "rts-gpios" and "cts-gpios". Compare e.g. the following two commits in https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git/log/?h=topic/renesas-overlays: https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git/commit/?h=topic/renesas-overlays&id=58a6b5f63108db2fd88b869c5de13ff43789f0ca https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git/commit/?h=topic/renesas-overlays&id=a071804359e8aa631954461f9af65ac72621ca81 The first commit uses HSCIF1 with GPIO RTS/CTS, the second with hardware-assisted RTS/CTS. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] pinctrl: sh-pfc: r8a7795: Add DU support
On Fri, Aug 12, 2016 at 11:14 AM, Laurent Pinchart wrote: > Only the DU parallel RGB output signals are included, HDMI and TCON pins > will be added in separate groups. > > Signed-off-by: Laurent Pinchart Reviewed-by: Geert Uytterhoeven Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] arm64: dts: renesas: salvator-x: Configure pins for the DU RGB output
On Fri, Aug 12, 2016 at 11:18 AM, Laurent Pinchart wrote: > Signed-off-by: Laurent Pinchart Reviewed-by: Geert Uytterhoeven Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH 19/26] ARM: dts: r8a7794: add MSTP5 clocks
On Mon, Aug 15, 2016 at 08:56:05PM +0300, Sergei Shtylyov wrote: > Hello. > > On 08/15/2016 11:55 AM, Simon Horman wrote: > > >From: Sergei Shtylyov > > > >Add some MSTP5 clocks to the R8A7794 device tree. > > > >Signed-off-by: Sergei Shtylyov > >Acked-by: Kuninori Morimoto > >Reviewed-by: Geert Uytterhoeven > >Signed-off-by: Simon Horman > >--- > > arch/arm/boot/dts/r8a7794.dtsi| 9 + > > include/dt-bindings/clock/r8a7794-clock.h | 1 + > > 2 files changed, 10 insertions(+) > > > >diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi > >index 5d1fded79633..1c2d3846d70e 100644 > >--- a/arch/arm/boot/dts/r8a7794.dtsi > >+++ b/arch/arm/boot/dts/r8a7794.dtsi > >@@ -1204,6 +1204,15 @@ > > clock-indices = ; > > clock-output-names = "irqc"; > > }; > >+mstp5_clks: mstp5_clks@e6150144 { > >+compatible = "renesas,r8a7794-mstp-clocks", > >"renesas,cpg-mstp-clocks"; > >+reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; > >+clocks = <&hp_clk>, <&extal_clk>, <&p_clk>; > >Argh! Looks like I forgot to remove <&extal_clk> when removing the > thermal clock... will send the patch. Please send it as an incremental follow-up. Thanks!
Re: [PATCH] ARM: dts: r8a7794: add VSP1 support
On Mon, Aug 15, 2016 at 11:52 PM, Sergei Shtylyov wrote: > Describe two instances (VSPS and VSPD0) of the VSP1 in the R8A7794 device > tree. > > Signed-off-by: Sergei Shtylyov Reviewed-by: Geert Uytterhoeven Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] sh-sci: fix transition from noflow to HW flow control
Hi Christoph, On Mon, Aug 15, 2016 at 1:20 PM, Baumann, Christoph (C.) wrote: > working on getting RTS/CTS run on r8a7795 I had some annoying issues. Which port are you using? SCIF or HSCIF? > Measuring with a scope showed that RTS would become low on opening the tty > device (regardless of having CRTSCTS set or not). So far this is expected. > But if I used tcsetattr() to set/unset the CRTSCTS flag the RTS pin would > become hi and stayed so. > I then looked into the sh-sci driver and added some debug output. > My analysis was that upon opening the tty device the functions set_termios > and set_mctrl are called. > In the sh-sci driver the set_mctrl function is the only place where the > internal 'autorts' flag is actually written to a register. > As obviously the RTSCTS flow control flag can only be set after the device is > opened, the flag isn't propagated to the corresponding register. You mean sci_set_mctrl() isn't called by the serial core after sci_set_termios()? However, uart_set_termios() calls both uart_change_speed() and uart_{clear,set}_mctrl(), in that order? > To make it more confusing the flag is kept in .c_cflag even after closing the > device and is then taken care of the next time the device is opened again. > To fix this I set the bit in set_termios after the line where it was > previously only stored in the bool variable 'autorts' (see attachment). > --- a/drivers/tty/serial/sh-sci.c > +++ b/drivers/tty/serial/sh-sci.c [ removed unrelated changes] > @@ -2336,6 +2337,8 @@ done: > port->status |= UPSTAT_AUTOCTS; > /* MCE is enabled when RTS is raised */ > s->autorts = true; > + ctrl |= SCFCR_MCE; > + sci_set_rts(port, 1); > } > > /* Have you tried using GPIO RTS/CTS instead of hardware-assisted RTS/CTS? Does it show the same behavior? When adding support for hardware-assisted RTS/CTS, I used the behavior of GPIO RTS/CTS as the expected behavior. Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds