From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver
Date: Tue, 04 Dec 2012 18:08:50 +0100 [thread overview]
Message-ID: <50BE2E22.6020606@free-electrons.com> (raw)
In-Reply-To: <1354640699-6066-1-git-send-email-gregory.clement@free-electrons.com>
On 12/04/2012 06:04 PM, Gregory CLEMENT wrote:
> The UART controller used in the Armada 370 and Armada XP SoCs is the
> Synopsys DesignWare 8250 (aka Synopsys DesignWare ABP UART). The
> improper use of the ns16550 can lead to a kernel oops during boot if
> a character is sent to the UART before the initialization of the
> driver. The DW APB has an extra interrupt that gets raised when
> writing to the LCR when busy. This explains why we need to use
> dw-apb-uart driver to handle this.
>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> ---
>
> This patch fixed a bug introduced in 3.7, but as there are very few
> boards supported in 3.7 (only the Armada 370 and Armada XP evaluation
> boards), it is not a big deal if this patch is only applied for 3.8.
>
> This patch is based on 3.7-rc8 and can be applied on top of the
> current arm-soc/for-next with a trivial conflict on mvebu_defconfig.
>
Jason,
do you want a git pull, or is it easier to just pick this single patch?
Thanks,
Gregory
> ---
> arch/arm/boot/dts/armada-370-xp.dtsi | 6 ++++--
> arch/arm/boot/dts/armada-xp.dtsi | 6 ++++--
> arch/arm/configs/mvebu_defconfig | 2 +-
> 3 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
> index 16cc82c..03640f7 100644
> --- a/arch/arm/boot/dts/armada-370-xp.dtsi
> +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
> @@ -44,17 +44,19 @@
> ranges;
>
> serial at d0012000 {
> - compatible = "ns16550";
> + compatible = "snps,dw-apb-uart";
> reg = <0xd0012000 0x100>;
> reg-shift = <2>;
> interrupts = <41>;
> + reg-io-width = <4>;
> status = "disabled";
> };
> serial at d0012100 {
> - compatible = "ns16550";
> + compatible = "snps,dw-apb-uart";
> reg = <0xd0012100 0x100>;
> reg-shift = <2>;
> interrupts = <42>;
> + reg-io-width = <4>;
> status = "disabled";
> };
>
> diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
> index 71d6b5d..9a0e744 100644
> --- a/arch/arm/boot/dts/armada-xp.dtsi
> +++ b/arch/arm/boot/dts/armada-xp.dtsi
> @@ -29,17 +29,19 @@
>
> soc {
> serial at d0012200 {
> - compatible = "ns16550";
> + compatible = "snps,dw-apb-uart";
> reg = <0xd0012200 0x100>;
> reg-shift = <2>;
> interrupts = <43>;
> + reg-io-width = <4>;
> status = "disabled";
> };
> serial at d0012300 {
> - compatible = "ns16550";
> + compatible = "snps,dw-apb-uart";
> reg = <0xd0012300 0x100>;
> reg-shift = <2>;
> interrupts = <44>;
> + reg-io-width = <4>;
> status = "disabled";
> };
>
> diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig
> index 3458752..9e34084 100644
> --- a/arch/arm/configs/mvebu_defconfig
> +++ b/arch/arm/configs/mvebu_defconfig
> @@ -22,7 +22,7 @@ CONFIG_VFP=y
> CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
> CONFIG_SERIAL_8250=y
> CONFIG_SERIAL_8250_CONSOLE=y
> -CONFIG_SERIAL_OF_PLATFORM=y
> +CONFIG_SERIAL_8250_DW=y
> CONFIG_GPIOLIB=y
> CONFIG_GPIO_SYSFS=y
> # CONFIG_USB_SUPPORT is not set
>
next prev parent reply other threads:[~2012-12-04 17:08 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-04 17:04 [PATCH] arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver Gregory CLEMENT
2012-12-04 17:08 ` Gregory CLEMENT [this message]
2012-12-04 19:45 ` Jason Cooper
2012-12-04 19:46 ` Thomas Petazzoni
2012-12-04 19:53 ` Jason Cooper
2013-01-06 17:41 ` Jason Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50BE2E22.6020606@free-electrons.com \
--to=gregory.clement@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.