From owner-freebsd-current@FreeBSD.ORG Wed Oct 9 21:33:08 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 60DCFB24; Wed, 9 Oct 2013 21:33:08 +0000 (UTC) (envelope-from zbodek@gmail.com) Received: from mail-wg0-x231.google.com (mail-wg0-x231.google.com [IPv6:2a00:1450:400c:c00::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9737527C4; Wed, 9 Oct 2013 21:33:07 +0000 (UTC) Received: by mail-wg0-f49.google.com with SMTP id l18so1472513wgh.4 for ; Wed, 09 Oct 2013 14:33:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=5gx+w6vLlfeF2eTNwp/7o4G4j3c1PDBJNfpvuuBY7Pg=; b=fD7qF8AQEaYesTEjXBqz61waitJHz5omNrRW08+8+guw0ytEUy9dTWD1JuMlAmTaCz LSA4rl9HiFWSECElNh3W3Xg5asKU1aPqcUIXXTCAmIkliE7AKf+JR/+FV5a2S/+gp5Aa sNYnNKEkpSyY65SrfZsk67vUr5irjP2a7ZkbbMDgJfz9crzPV+p/zFVR09yfD6eJ1ikh EoUGsreK/5MWqkLQBm6Suw/hB5COqMxqo0T3HBjYq4o/SjHNF6j0ePZx9bm82e0FNFtA cF6RgQ5/sa6gRkqVErwJ1g3CtgfNnVmboJpV6/sr1dqa+31eRei5bdICuAwoPsFVm/Oz cTdg== MIME-Version: 1.0 X-Received: by 10.180.83.228 with SMTP id t4mr4619854wiy.12.1381354386070; Wed, 09 Oct 2013 14:33:06 -0700 (PDT) Sender: zbodek@gmail.com Received: by 10.216.160.70 with HTTP; Wed, 9 Oct 2013 14:33:05 -0700 (PDT) In-Reply-To: References: Date: Wed, 9 Oct 2013 23:33:06 +0200 X-Google-Sender-Auth: 3Wv6EEbVnFYOlE8lEdO1cXD-qdI Message-ID: Subject: Re: Changes to UART ns8250 From: Zbigniew Bodek To: Ganbold Tsagaankhuu Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: "freebsd-arm@freebsd.org" , freebsd-current , "freebsd-embedded@freebsd.org" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Oct 2013 21:33:08 -0000 Hello Ganbold. Thank you for testing the patch and pointing those issue out. My detection log from Armada XP: uart0: <16550 or compatible> mem 0xd0012000-0xd001201f irq 41 on simplebus0 uart0: console (115200,n,8,1) uart1: <16550 or compatible> mem 0xd0012100-0xd001211f irq 42 on simplebus0 uart2: <16550 or compatible> mem 0xd0012200-0xd001221f irq 43 on simplebus0 uart3: <16550 or compatible> mem 0xd0012300-0xd001231f irq 44 on simplebus0 Is there a possibility to download a datasheet for RK30xx so that I could verify what is required for it's UART? The patch is causing that we only wait until UART is not busy anymore. I can't find why would that cause problems if your UART requires busy detection anyway. Best regards Zbigniew Bodek 2013/10/9 Ganbold Tsagaankhuu > > > > On Tue, Oct 8, 2013 at 9:58 AM, Ganbold Tsagaankhuu wrote: > >> Zbigniew, >> >> >> On Tue, Oct 8, 2013 at 3:54 AM, Zbigniew Bodek wrote: >> >>> Hello. >>> >>> I would like to present a patch for ns8250 serial that I would like to >>> commit in the near future (if there are no objections). >>> >>> The patch is fixing newest DesignWare UART with busy detection. >>> During frequency divisors configuration when UART is busy transferring or >>> receiving data, line control register manipulation will not take effect. >>> Therefore, we will not set divisor latch access bit and we will corrupt >>> LCR >>> instead of configuring divisors. >>> It is necessary to wait until UART finishes all transfers to proceed with >>> the configuration. >>> >>> This was detected on Armada XP as UART fails on this issue 100/100 >>> attempts. >>> The patch was tested by kevlo@ and me and it works on our Armada XP - >>> based >>> systems. >>> >>> Please send your comment or remarks if there are any. >>> >> >> I'm trying your patch on r254983. >> Tried on 2 boards (Cubieboard2 (Allwinner A20 SoC - dual Cortex A7) and >> Radxa Rock (Rockchip RK3188 - Quad Cortex A9)). Both seem to have some sort >> of DesignWare uart. >> >> 1. It works fine on Cubieboard2. Uart dmesg is like: >> >> uart0: <16750 or compatible> mem 0x1c28000-0x1c283ff irq 33 on simplebus0 >> >> uart0: console (115200,n,8,1) >> >> 2. No any printing on screen in case of Radxa Rock. Without your patch >> uart dmesg is like: >> >> uart0: <16650 or compatible> mem 0x20064000-0x200643ff irq 68 on >> simplebus0 >> uart0: console (115200,n,8,1) >> >> In case of RK3188 SoC, it seems booting FreeBSD kernel seems very >> fragile, not sure yet what is causing the problem. >> Even with stock ns8250 some version later than r254983 didn't show/print >> anything on serial console few days ago. >> Only thing so far I know is this r254983 (with some patch) works in my >> case on RK3188 SoC based board. >> > > > Zbigniew, > > Just tried again your patch on RK30xx board. I was able to see boot > messages on screen. > This uart detected as: > ... > uart0: <16650 or compatible> mem 0x20064000-0x200643ff irq 68 on > simplebus0 > uart0: console (115200,n,8,1) > > uart0: fast interrupt > ... > Can you show me your uart detection log? > It seems this DW uart of RK30xx is different than DW uart of A10/A20. > Boot simply stops printing "start_init: trying /sbin/init". > > thanks, > > Ganbold > > > >> >> thanks, >> >> Ganbold >> >> >> >> >>> >>> Best regards >>> Zbigniew Bodek >>> >>> _______________________________________________ >>> freebsd-current@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to " >>> freebsd-current-unsubscribe@freebsd.org" >>> >> >> >