From owner-freebsd-arm@freebsd.org Sat Jan 23 15:28:45 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B44F3A8EF13; Sat, 23 Jan 2016 15:28:45 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x229.google.com (mail-io0-x229.google.com [IPv6:2607:f8b0:4001:c06::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7B7241FCC; Sat, 23 Jan 2016 15:28:45 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-io0-x229.google.com with SMTP id 77so114963494ioc.2; Sat, 23 Jan 2016 07:28:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=TgbCB3lX0omU3bwOF+icQ+12wuOVbas5xAHGy7L2tFg=; b=eTiPu8Tv43F0h8OlxtXozBcZi5S90RkQ51hK+ETfOhP8Y0Arf0UENfe7R21qC8mMeW gYdGdwe5goX5csCP9gfab8GCEkeVhFr5I0SAkuWXnKZBLa3QTfd4ul24pBVfdCfy9TmQ lVYqT1ZdHGd/fXSQmtdAY8YWRiHGJtm6KtdvhVqoU+Xo7detSlTVHLYqLGWS8KnUvFk+ 2u8HW9tEfxlF++68I8IPZz8k2abuR0NYnRBJpvT1zPc+iPyu6t4SBOQ59GZuB4Wqe4wk KFzAS0sXGeBqXIP4K36wJea0n8hYNyCxg/diuOx9NAZQ+IZyaVk+RbWwQmuXp9SazVsa Nn1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=TgbCB3lX0omU3bwOF+icQ+12wuOVbas5xAHGy7L2tFg=; b=e3MQI24QRt36j09PiiB1gHBsklglNjdDno7ZIz/6dQH5Si6QhotgU0JpbvZt0T39NG 2+UPJ7lf6Ba6ggrtEqqUPN7Z+o1gGd1CxW0bCoI7zdm5aUFLIXgXonuvXlIpwGuXReIF 5d/5GgXFjxEUPjLpWyvwBQ1c2wPhiIEczqBpDs0aklEEEGRXQbLzbihrqKozanIbPMuR OYLocvyntrCdJSzkOBz8RYMTI0Va2c3N2dM+yBfV9rCpxtZK06LMXybtSJsHTjzOg50N Bc2u4TrHELFUhj2w9thyT6+VypsIpeW0IEEZBzjcr4bgGGmGlhypMGuWKKomtx+egDCF sapw== X-Gm-Message-State: AG10YOS5fdqPFp0okAq0T1PA0dWsWOL720YSxfnn0KbqA8Su3f2kWfgSIW/sMfc7+kPrEtWZ4KvgWrXOHD2apA== MIME-Version: 1.0 X-Received: by 10.107.162.146 with SMTP id l140mr8362232ioe.123.1453562924849; Sat, 23 Jan 2016 07:28:44 -0800 (PST) Received: by 10.36.121.16 with HTTP; Sat, 23 Jan 2016 07:28:44 -0800 (PST) In-Reply-To: <57E542F6-FCF2-4E51-9FE5-8EDD85DA2102@gmail.com> References: <2AB9D6E1-BFF8-4EEE-B366-C980B72C4779@gmail.com> <56A1BFBB.8050204@freebsd.org> <57E542F6-FCF2-4E51-9FE5-8EDD85DA2102@gmail.com> Date: Sat, 23 Jan 2016 07:28:44 -0800 Message-ID: Subject: Re: SPI geom_flashmap/fdt_slicer support, FDT 'resets=' support and a move of ohci_fdt.c From: Adrian Chadd To: Stanislav Galabov Cc: Michal Meloun , "freebsd-arm@freebsd.org" , "freebsd-mips@freebsd.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jan 2016 15:28:45 -0000 ok, I think you've now hit the "please register for an account at reviews.freebsd.org and publish patches there" step. :) -a On 23 January 2016 at 00:28, Stanislav Galabov wrote: > > >> On Jan 22, 2016, at 07:35, Michal Meloun wrote: >> >> Dne 22.01.2016 v 5:43 Warner Losh napsal(a): >>> On Thu, Jan 21, 2016 at 8:35 PM, Adrian Chadd >>> wrote: >>> >>>>> On 18 January 2016 at 06:49, Stanislav Galabov w= rote: >>>>> Hi Warner, >>>>> >>>>> I was thinking resets could help in general, not specifically in the >>>> case of trying to implement a generic ohci_fdt driver. >>>>> >>>>> As I already mentioned to you off-list (and in order for this message= to >>>> possibly make some more sense), I saw that Linux makes use of the =E2= =80=98resets=E2=80=99 >>>> property and looked at the documentation for it: >>>> https://github.com/torvalds/linux/blob/master/Documentation/devicetree= /bindings/reset/reset.txt >>>> < >>>> https://github.com/torvalds/linux/blob/master/Documentation/devicetree= /bindings/reset/reset.txt >>>>> >>>>> >>>>> For example, with the work I am currently doing on Ralink/Mediatek >>>> support, I have over 10 different chips in the same family, that have = very >>>> similar peripheral blocks, but their clocks and resets are controlled = via >>>> different bits in one of the SysCtl registers (the register itself is = at >>>> the same offset within the SysCtl block of each chip). So I may have c= hip X >>>> which has its USB (for example) reset controlled by bit 10 and chip Y = with >>>> USB reset controlled by bit 12. >>>>> >>>>> So being able to write something like: >>>>> resets =3D <&sysctl 10>; >>>>> or >>>>> resets =3D <&sysctl 11>; >>>>> >>>>> in my dts/dtsi files helps me immensely, instead of having to check w= hat >>>> chip I am running on and based on that use a different register layout= =E2=80=A6 >>>>> Then, if I wanted to (de)assert reset for a peripheral block that has >>>> this property defined I=E2=80=99d just do fdt_reset_(de)assert_all(dev= ), where dev >>>> is the device_t for the peripheral in question. This would (de)assert = all >>>> reset pins associated with the peripheral. >>>>> >>>>> The same is the case for clock control (gating) in the Ralink/Mediate= k >>>> SoCs and this is the main reason I used fdt_clock that is already in >>>> sys/dev/fdt and then thought about implementing the fdt_reset based on= it. >>>>> >>>>> I hope this clarifies a bit my reason for submitting the fdt_reset pa= tch. >>>> >>>> This seems fine to me. Hm. Ian? Any comments? >>> >>> I want to check on a few things before we head down this path. I've bee= n >>> traveling so haven't had a chance to look through it to see if Atmel us= es >>> this, and who else does... >>> >>> Warner >> I think that i have more complete implementation of reset framework >> ready to commit. Just waiting for mentor approval. >> Please see https://github.com/strejda/tegra/tree/master/sys/dev/reset >> >> Michal > > I have no objections to using Michal's framework, especially if the patch= from PR 206516 is applied: > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206516 > > His framework is really more complete than what I did. > > Best wishes, > Stanislav > >>>> -a >>>> >>>>> Best wishes >>>>> Stanislav >>>>> >>>>>> On Jan 18, 2016, at 02:04, Warner Losh wrote: >>>>>> >>>>>> I don't see how resets help. Maybe I missed where it was documented, >>>> could you send that to me? >>>>>> >>>>>> Even with that, it seems that a generic ohci_fdt driver isn't possib= le. >>>>>> >>>>>> Warner >>>>>> >>>>>> On Thu, Jan 14, 2016 at 2:01 AM, Stanislav Galabov >>> > wrote: >>>>>> Hi all, >>>>>> >>>>>> First off, sorry for the cross-post, I wasn=E2=80=99t very sure wher= e this >>>> should go=E2=80=A6 >>>>>> >>>>>> I=E2=80=99ve created 3 PRs, which enable some functionality that my = work on >>>> Ralink/Mediatek SoCs would benefit from. >>>>>> >>>>>> 1. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206227 < >>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206227> >>>>>> - This enables geom_flashmap and fdt_slicer support for SPI flash ch= ips >>>> supported by the mx25l driver (sys/dev/flash/mx25l.c) >>>>>> >>>>>> 2. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206228 < >>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206228> >>>>>> - This adds support for FDT =E2=80=98resets=3D=E2=80=99 property in = much the same way as >>>> ian@=E2=80=99s sys/dev/fdt/fdt_clock* supports FDT =E2=80=98clocks=3D= =E2=80=98 property. In fact >>>> this work is basically a modified version of fdt_clock* :-) >>>>>> >>>>>> 3. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206229 < >>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206229> >>>>>> - This simply moves the at91 specific sys/dev/usb/controller/ohci_fd= t.c >>>> to sys/dev/usb/controller/at91ohci_fdt.c (and changes the filename in >>>> sys/arm/at91/files.at91 as well). The current naming is misleading IMH= O and >>>> also, I have some (vague-ish) plans to see if I can implement generic >>>> ohci_fdt and ehci_fdt based on dwc_otg_fdt, so that systems with stand= ard >>>> ehci/ohci controllers can reuse these. >>>>>> >>>>>> Patches are attached to the PRs. >>>>>> >>>>>> I would appreciate any feedback on the PRs and would also appreciate= it >>>> if someone could commit these if the proposed changes are appropriate. >>>>>> >>>>>> Best wishes, >>>>>> Stanislav >>>>>> _______________________________________________ >>>>>> freebsd-arm@freebsd.org mailing lis= t >>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm < >>>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm> >>>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.or= g >>>> " >>>>> >>>>> _______________________________________________ >>>>> freebsd-arm@freebsd.org mailing list >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm >>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org= " >>> _______________________________________________ >>> freebsd-arm@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm >>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" >> >> _______________________________________________ >> freebsd-mips@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-mips >> To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org" > _______________________________________________ > freebsd-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"