From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 46500C43331 for ; Fri, 27 Mar 2020 09:01:14 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A96F2071B for ; Fri, 27 Mar 2020 09:01:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iFMOqohn"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="aAzYXAia" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A96F2071B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=57dtwliK7rWowZno/fu6Q2VTQMCLnc3uCL/SMaTcDEc=; b=iFMOqohnLLiiAe tV9ARBHkR8OGvvvscBeZWDTl9xIwggiVUBUQuYZ7pT7lwZRjjBpL9iUkNZNEiXHcRIoKSOsLTnfxE ei0jaCWbAzfxXzre7C/q45zg6YZmanqPDlcZYpCMOY7fzoDMseKUzgR87SHrcwWB37bhBEsvIcBkF s1gj2B5q60wfRfjrPjW7lBhohGFMfJKadcJ4yZ+0wNKwaaYndHKnpc52L/WtkdIZQ1ZTma9RRiiE7 1T/hThIPrS1fTFU6qGjEmQ3H0jxnW7jjxVL+Xg9nMKthgI/isTam2RhRDtjypVhGlM0G7tLYxv5Cy cL65CuctYLSUlgG7lmLw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jHkrH-0003BK-TL; Fri, 27 Mar 2020 09:00:55 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jHkrD-0003Ax-Sb for linux-mtd@lists.infradead.org; Fri, 27 Mar 2020 09:00:54 +0000 Received: by mail-wr1-x441.google.com with SMTP id 65so10479582wrl.1 for ; Fri, 27 Mar 2020 02:00:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=sw9EHe0rp4jEdZod7LUvBRAPC/j1wI6TRL3+L6zHB3k=; b=aAzYXAia5nPIJG0jSbMozw4pVDrHXdamQoXPwzA41RmrJ5Ogm0mTx5L/sJbg6suBd7 MloDGRZzaYsZh6D84nlRqop46ZsMghBb9ycCyInFi29VxhfNn3xBTlU0avNUJLsxwL+s C6lGh+N2MyA0/4uWEb/A+8yCIZLykKbNQT1+b/AvfHbqHRRLHR5R/hc/RwECKOlyheHd Jut/6wQlph1RUDk8rj4N7nCwPgEoPqGhmU8i+aP8nAw7zfqMt8AMiwvn68EL9LITtAL8 uD1B3qUyAp6AYvVNG+nefMoJxVNeUYZbQ5DgM7DWNf0+71/GQPu/DKXCOGOE16eOdX/F puaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=sw9EHe0rp4jEdZod7LUvBRAPC/j1wI6TRL3+L6zHB3k=; b=S54SDqAOXmGtaBAdm0nfuiUZgltjTWJovzSb6B+GFVwVTIV2z3svdObdpC1+9RAsIM sYH5NYNIw0t2XQZe2GS0qkf2bm4hWyfK8czCsdmTeSg4FPLNH7TzcvP7ZsYUQiIe6Pw9 yivOy5qmqJPb6hxv0roVXRDGKBtS1CrhNtsZjNWhs7hxT/v+ulYGBdDH8dofo+kj4ll9 LAznXlKU6d2Qv/Pd86+KzVT4ybhLDPTAo+iWwEi0rlzjffOsI2LRWk34TpsagkPB57Kw I0aLFAg/IOFWaarhyUfbP2Vx2mw5wn3tBVHJpDcnbkXCV740dWGt9XKHU72S3ldhSZYu +dAQ== X-Gm-Message-State: ANhLgQ2123QDT4d6EazqmlD6OvxAzkzVFnNv2i1qCVsvThp5J61PHua7 0GItxnQaIBkhDgAus8VZbVA4LQ== X-Google-Smtp-Source: ADFU+vvjoty5CnSjs6+JrMK5QXrvDCdt7OK2Ri9BD5FemldQ3tZqNWcycGcCv24TvdUPEWtBmunJmQ== X-Received: by 2002:a5d:4d07:: with SMTP id z7mr13373134wrt.89.1585299649928; Fri, 27 Mar 2020 02:00:49 -0700 (PDT) Received: from dell ([95.149.164.95]) by smtp.gmail.com with ESMTPSA id y80sm7405082wmc.45.2020.03.27.02.00.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2020 02:00:49 -0700 (PDT) Date: Fri, 27 Mar 2020 09:01:39 +0000 From: Lee Jones To: Sergey Semin Subject: Re: [PATCH 2/2] mfd: Add Baikal-T1 Boot Controller driver Message-ID: <20200327090139.GK603801@dell> References: <20200306130528.9973-1-Sergey.Semin@baikalelectronics.ru> <20200306130614.696EF8030704@mail.baikalelectronics.ru> <20200325100940.GI442973@dell> <20200325165511.tjdaf2l5kkuhbhrr@ubsrv2.baikal.int> <20200326091313.GA603801@dell> <20200326113254.nfgiw5uynpbx5xhy@ubsrv2.baikal.int> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200326113254.nfgiw5uynpbx5xhy@ubsrv2.baikal.int> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200327_020051_938110_D8EAE528 X-CRM114-Status: GOOD ( 36.52 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Bogendoerfer , Vignesh Raghavendra , Paul Burton , Richard Weinberger , linux-kernel@vger.kernel.org, Ralf Baechle , Alexey Malahov , linux-mtd@lists.infradead.org, Miquel Raynal Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gVGh1LCAyNiBNYXIgMjAyMCwgU2VyZ2V5IFNlbWluIHdyb3RlOgoKPiBNaWNoYWVsLCBSaWNo YXJkLCBWaWduZXNoIGFuZCBNVEQgbWFpbGluZyBsaXN0IGFyZSBDYydlZCB0byBoYXZlIHRoZWly Cj4gY29tbWVudHMgb24gdGhlIGlzc3VlLgo+IAo+IE15IGFuc3dlcnMgb24gdGhlIHByZXZpb3Vz IGVtYWlsIGFyZSBiZWxvdy4KPiAKPiBPbiBUaHUsIE1hciAyNiwgMjAyMCBhdCAwOToxMzoxM0FN ICswMDAwLCBMZWUgSm9uZXMgd3JvdGU6Cj4gPiBPbiBXZWQsIDI1IE1hciAyMDIwLCBTZXJnZXkg U2VtaW4gd3JvdGU6Cj4gPiAKPiA+ID4gSGVsbG8gTGVlLAo+ID4gPiAKPiA+ID4gT24gV2VkLCBN YXIgMjUsIDIwMjAgYXQgMTA6MDk6NDBBTSArMDAwMCwgTGVlIEpvbmVzIHdyb3RlOgo+ID4gPiA+ IE9uIEZyaSwgMDYgTWFyIDIwMjAsIFNlcmdleS5TZW1pbkBiYWlrYWxlbGVjdHJvbmljcy5ydSB3 cm90ZToKPiA+ID4gPiAKPiA+ID4gPiA+IEZyb206IFNlcmdlIFNlbWluIDxTZXJnZXkuU2VtaW5A YmFpa2FsZWxlY3Ryb25pY3MucnU+Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IEJhaWthbC1UMSBCb290 IENvbnRyb2xsZXIgaXMgYW4gSVAgYmxvY2sgZW1iZWRkZWQgaW50byB0aGUgU29DIGFuZAo+ID4g PiA+ID4gcmVzcG9uc2libGUgZm9yIHRoZSBjaGlwIHByb3BlciBwcmUtaW5pdGlhbGl6YXRpb24g YW5kIGZ1cnRoZXIKPiA+ID4gPiA+IGJvb3RpbmcgdXAgZnJvbSBzb21lIG1lbW9yeSBkZXZpY2Uu IEZyb20gdGhlIExpbnV4IGtlcm5lbCBwb2ludCBvZiB2aWV3Cj4gPiA+ID4gPiBpdCdzIGp1c3Qg YSBtdWx0aS1mdW5jdGlvbmFsIGRldmljZSwgd2hpY2ggZXhwb3J0cyB0aHJlZSBwaHlzaWNhbGx5 IG1hcHBlZAo+ID4gPiA+ID4gUk9NcyBhbmQgYSBzaW5nbGUgU1BJIGNvbnRyb2xsZXIuCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IFByaW1hcmlseSB0aGUgUk9NcyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNl ZCBmb3IgdHJhbnNwYXJlbnQgYWNjZXNzIG9mCj4gPiA+ID4gPiB0aGUgbWVtb3J5IGRldmljZXMg d2l0aCBzeXN0ZW0gYm9vdHVwIGNvZGUuIEZpcnN0IFJPTSBkZXZpY2UgaXMgYW4KPiA+ID4gPiA+ IGVtYmVkZGVkIGludG8gdGhlIFNvQyBmaXJtd2FyZSwgd2hpY2ggaXMgc3VwcG9zZWQgdG8gYmUg dXNlZCBqdXN0IGZvcgo+ID4gPiA+ID4gdGhlIGNoaXAgZGVidWcgYW5kIHRlc3RzLiBTZWNvbmQg Uk9NIGRldmljZSBwcm92aWRlcyBhIE1NSU8tYmFzZWQKPiA+ID4gPiA+IGFjY2VzcyB0byBhbiBl eHRlcm5hbCBTUEkgZmxhc2guIFRoaXJkIFJPTSBtaXJyb3JzIGVpdGhlciB0aGUgSW50ZXJuYWwK PiA+ID4gPiA+IG9yIFNQSSBST00gcmVnaW9uLCBkZXBlbmRpbmcgb24gdGhlIHN0YXRlIG9mIHRo ZSBleHRlcm5hbCBCT09UQ0ZHX3swLDF9Cj4gPiA+ID4gPiBjaGlwIHBpbnMgc2VsZWN0aW5nIHRo ZSBzeXN0ZW0gYm9vdCBkZXZpY2UuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IEV4dGVybmFsIFNQSSBm bGFzaCBjYW4gYmUgYWxzbyBhY2Nlc3NlZCBieSB0aGUgRFcgQVBCIFNTSSBTUEkgY29udHJvbGxl cgo+ID4gPiA+ID4gZW1iZWRkZWQgaW50byB0aGUgQmFpa2FsLVQxIEJvb3QgQ29udHJvbGxlci4g SW4gdGhpcyBjYXNlIHRoZSBtZW1vcnkgbWFwcGVkCj4gPiA+ID4gPiBTUEkgZmxhc2ggcmVnaW9u IHNob3VsZG4ndCBiZSBhY2Nlc3NlZC4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGFraW5nIGludG8g YWNjb3VudCBhbGwgdGhlIHBlY3VsaWFyaXRpZXMgZGVzY3JpYmVkIGFib3ZlLCB3ZSBjcmVhdGVk Cj4gPiA+ID4gPiBhbiBNRkQtYmFzZWQgZHJpdmVyIGZvciB0aGUgQmFpa2FsLVQxIGNvbnRyb2xs ZXIuIEFzaWRlIGZyb20gb3JkaW5hcnkKPiA+ID4gPiA+IE9GLWJhc2VkIHN1Yi1kZXZpY2UgcmVn aXN0cmF0aW9uIGl0IGFsc28gcHJvdmlkZXMgYSBzaW1wbGUgQVBJIHRvCj4gPiA+ID4gPiBzZXJp YWxpemUgYW4gYWNjZXNzIHRvIHRoZSBleHRlcm5hbCBTUEkgZmxhc2ggZnJvbSBlaXRoZXIgdGhl IE1NSU8tYmFzZWQKPiA+ID4gPiA+IFNQSSBpbnRlcmZhY2Ugb3IgZW1iZWRkZWQgU1BJIGNvbnRy b2xsZXIuCj4gPiA+ID4gCj4gPiA+ID4gTm90IHN1cmUgd2h5IHRoaXMgaXMgYmVpbmcgY2xhc3Np ZmllZCBhcyBhbiBNRkQuCj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBpcyBjbGVhcmx5ICdqdXN0JyBh IG1lbW9yeSBkZXZpY2UuCj4gPiA+ID4gCj4gPiA+IAo+ID4gPiBIbSwgSSBzZWUgdGhpcyBhcyBh IG5vcm1hbCBNRkQgZGV2aWNlLiBUaGUgQm9vdCBjb250cm9sbGVyIHByb3ZpZGVzIGEKPiA+ID4g c2V0IG9mIHBoeXNpY2FsbHkgbWFwcGVkIFJPTXMgYW5kIGEgRFcgQVBCIFNTSS1iYXNlZCBlbWJl ZGRlZCBTUEkKPiA+ID4gY29udHJvbGxlci4gWWVzLCB0aGUgU1BJIGNvbnRyb2xsZXIgaXMgbm9y bWFsbHkgdXRpbGl6ZWQgdG8gYWNjZXNzIGFuIGV4dGVybmFsCj4gPiA+IGZsYXNoIGRldmljZSwg YW5kIGF0IGJvb3Qgc3RhZ2UgaXQgaXMgdXNlZCBmb3IgaXQuIEJ1dCBzdGlsbCBpdCdzIGEgU1BJ Cj4gPiA+IGNvbnRyb2xsZXIgd2hpY2ggZHJpdmVyIGJlbG9uZ3MgdG8gdGhlIGtlcm5lbCBTUEkg c3Vic3lzdGVtLiBNb3Jlb3Zlcgo+ID4gPiBub3RoaW5nIHByZXZlbnRzIGEgcGxhdGZvcm0gZGVz aWduZXIgZnJvbSB1c2luZyBpdCB0b2dldGhlciB3aXRoIGN1c3RvbQo+ID4gPiBHUElPLWJhc2Vk IGNoaXAtc2VsZWN0cyB0byBoYXZlIGFkZGl0aW9uYWwgZGV2aWNlcyBvbiB0aGUgU1BJIGJ1cy4K PiA+ID4gCj4gPiA+IEFzIEkgc2FpZCB0aGUgcHJvYmxlbSBpcyB0aGF0IGFuIFNQSSBmbGFzaCBt aWdodCBiZSBhY2Nlc3NlZCBlaXRoZXIgd2l0aAo+ID4gPiB1c2Ugb2YgYSBwaHlzaWNhbGx5IG1h cHBlZCBST00gb3IgdmlhIHRoZSBub3JtYWwgRFcgQVBCIFNQSSBjb250cm9sbGVyLgo+ID4gPiBU aGVzZSB0d28gaW50ZXJmYWNlcyBjYW4ndCBiZSB1c2VkIHNpbXVsdGFuZW91c2x5LCBiZWNhdXNl IHRoZSBST00gaXMKPiA+ID4ganVzdCBhbiBydGwgc3RhdGUtbWFjaGluZSwgd2hpY2ggaXMgYnVp bHQgdG8gdHJhbnNsYXRlIE1NSU8gb3BlcmF0aW9ucwo+ID4gPiB0aHJvdWdoIHRoZSBTUEkgY29u dHJvbGxlciByZWdpc3RlcnMgdG8gYW4gZXh0ZXJuYWwgU1BJLW5vciBhdCBDUzAgb2YKPiA+ID4g dGhlIGludGVyZmFjZS4gVGhhdCdzIHdoeSBmaXJzdCBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBp bnRlcmZhY2UgaXMgbG9ja2VkLAo+ID4gPiB0aGVuIGJlaW5nIGVuYWJsZWQsIHRoZW4gdGhlIGNv cnJlc3BvbmRpbmcgZHJpdmVyIGNhbiB1c2UgaXQsIHRoZW4gZ2V0Cj4gPiA+IHRvIHVubG9jay4g VGhhdCdzIHRoZSBwb2ludCBvZiBoYXZpbmcgdGhlIF9fYnQxX2JjX3NwaV9sb2NrKCkgYW5kCj4g PiA+IGJ0MV9iY19zcGlfdW5sb2NrKCkgbWV0aG9kcyBleHBvcnRlZCBmcm9tIHRoZSBkcml2ZXIu Cj4gPiA+IAo+ID4gPiBJJ3ZlIGdvdCB0d28gZHJpdmVycyBmb3IgTVREIFJPTSBhbmQgU1BJIGNv bnRyb2xsZXIgYmFzZWQgb24gdGhhdAo+ID4gPiBtZXRob2RzLiBCdXQgSSBoYXZlbid0IHN1Ym1p dHRlZCB0aGVtIHlldCwgYmVjYXVzZSB0aGV5IGJlbG9uZyB0byB0d28KPiA+ID4gZGlmZmVyZW50 IHN1YnN5c3RlbXMgYW5kIEkgbmVlZCB0byBoYXZlIHRoaXMgb25lIGJlaW5nIGFjY2VwdGVkIGZp cnN0Lgo+ID4gCj4gPiBUaGlzIGlzIG5vdCBhIHRvdGFsbHkgdW5pcXVlIGRldmljZS9zaXR1YXRp b24uICBJJ3ZlIHNlZW4gKGFuZCBOQUNLZWQpCj4gPiB0aGlzIHR5cGUgb2YgZGV2aWNlIGJlZm9y ZS4gIFlvdSBuZWVkIHRvIGV4cGxhaW4gdGhpcyB0byB0aGUgTVRECj4gPiAoU1BJLU5PUj8pIG1h aW50YWluZXJzLiAgVGhleSBzaG91bGQgYmUgaW4gYSBnb29kIHBvc2l0aW9uIHRvIHByb3ZpZGUK PiA+IGd1aWRhbmNlLgo+ID4gCj4gCj4gU29ycnksIEkgZG9uJ3QgcmVhbGx5IHVuZGVyc3RhbmQg eW91ciBqdXN0aWZpY2F0aW9uLiBUaGUgYm9vdCBjb250cm9sbGVyCj4gZXhwb3J0cyB0d28gdHlw ZXMgb2YgZGV2aWNlczogcGh5c2ljYWxseSBtYXBwZWQgUk9NcyBhbmQgYW4gRFcgQVBCCj4gU1NJ LWJhc2VkIFNQSSBjb250cm9sbGVyLiBBc2lkZSBmcm9tIGJlaW5nIGFibGUgdG8gYWNjZXNzIGFu IGV4dGVybmFsbHkKPiBhdHRhY2hlZCBTUEkgZmxhc2ggdGhlIFNQSSBjb250cm9sbGVyIGhhcyBu b3JtYWwgU1BJIGludGVyZmFjZSB3aGljaCBpbgo+IGdlbmVyYWwgY2FuIGJlIHVzZWQgdG8gYWNj ZXNzIGFueSBvdGhlciBTUEktc2xhdmUuIFRoZSBjb21wbGV4aXR5IG9mCj4gdGhlIGNhc2UgaXMg dGhhdCBvbmUgb2YgcGh5c2ljYWxseSBtYXBwZWQgUk9NIFJUTCB1c2VzIHRoZSBEVyBBUEIgU1NJ Cj4gY29udHJvbGxlciB0byBhY2Nlc3MgYW4gZXh0ZXJuYWwgU1BJIGZsYXNoLCB3aGljaCB3aGVu IGRvbmUgbWFrZXMgdGhlCj4gRFcgQVBCIFNTSSByZWdpc3RlcnMgdW51c2FibGUgb24gZGlyZWN0 IHdheS4gVGhhdCdzIHdoeSBJIGltcGxlbWVudGVkIHRoZQo+IGJvb3QgY29udHJvbGxlciBhcyBh biBNRkQuIEFuIGFsdGVybmF0aW9uIGNhdXNlZCBieSB0aGlzIHBlY3VsaWFyaXR5Cj4gd2lsbCBi ZSBzdWJtaXR0ZWQgdG8gZHJpdmVycy9tdGQvbWFwcy9waHlzbWFwLXtjb3JlLmMsYmFpa2FsLXQx LXJvbS5jfQo+IGxhdGVyIGFmdGVyIHRoaXMgY2hhbmdlIGlzIHJldmlld2VkIGFuZCBhY2NlcHRl ZC4gU2ltaWxhciBzaXR1YXRpb24KPiBjb25jZXJucyBhIGRyaXZlciBvZiBEVyBBUEIgU1NJLWJh c2VkIFNQSSBjb250cm9sbGVyLiBTbyBhY2NvcmRpbmcgdG8KPiB0aGUgY3VycmVudCBkZXNpZ24g dGhlIGJvb3QgY29udHJvbGxlciB3aXRoIGl0JyBzdWItZGV2aWNlcyB3aWxsIGJlCj4gZGVjbGFy ZWQgaW4gZHRzIGFzIGZvbGxvd3M6Cj4gCj4gYm9vdDogYm9vdEAxZjA0MDAwMCB7Cj4gCWNvbXBh dGlibGUgPSAiYmUsYnQxLWJvb3QtY3RsIjsKPiAJcmVnID0gPDB4MWYwNDAwMDAgMHgxMDA+Owo+ IAkjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiAJI3NpemUtY2VsbHMgPSA8MT47Cj4gCXJhbmdlczsK CldoYXQgY29udHJvbCBkb2VzIHRoaXMgZGV2aWNlIG9mZmVyIGluIHRob3NlIDB4MTAwIHJlZ2lz dGVycz8gCgo+IAljbG9ja3MgPSA8JmNjdV9zeXMgQ0NVX1NZU19BUEJfQ0xLPjsKPiAJY2xvY2st bmFtZXMgPSAicGNsayI7Cj4gCj4gCWludF9yb206IHJvbUAxYmZjMDAwMCB7Cj4gCQljb21wYXRp YmxlID0gImJlLGJ0MS1pbnQtcm9tIiwgIm10ZC1yb20iOwo+IAkJcmVnID0gPDB4MWJmYzAwMDAg MHgxMDAwMD47Cj4gCQkuLi4KPiAJfTsKPiAKPiAJc3BpX3JvbTogcm9tQDFjMDAwMDAwIHsKPiAJ CWNvbXBhdGlibGUgPSAiYmUsYnQxLXNzaS1yb20iLCAibXRkLXJvbSI7Cj4gCQlyZWcgPSA8MHgx YzAwMDAwMCAweDEwMDAwMDA+Owo+IAkJLi4uCj4gCX07Cj4gCj4gCXNwaTA6IHNwaUAxZjA0MDEw MCB7Cj4gCQljb21wYXRpYmxlID0gImJlLGJ0MS1ib290LXNzaSI7Cj4gCQlyZWcgPSA8MHgxZjA0 MDEwMCAweGYwMD47Cj4gCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiAJCSNzaXplLWNlbGxzID0g PDA+Owo+IAo+IAkJY2xvY2tzID0gPCZjY3Vfc3lzIENDVV9TWVNfU1BJX0NMSz47Cj4gCQljbG9j ay1uYW1lcyA9ICJyZWYiOwo+IAo+IAkJLi4uCj4gCX07Cj4gCj4gCWJvb3Rfcm9tOiByb21AMWZj MDAwMDAgewo+IAkJY29tcGF0aWJsZSA9ICJiZSxidDEtYm9vdC1yb20iLCAibXRkLXJvbSI7Cj4g CQlyZWcgPSA8MHgxZmMwMDAwMCAweDQwMDAwMD47Cj4gCQkuLi4KPiAJfTsKPiB9Owo+IAo+IEkg ZGFyZSB0byBhc3N1bWUsIHRoYXQgYnkgc2F5aW5nOiAiRGVzcGl0ZSBpbmNsdWRpbmcgdGhlIE1G RCBBUEksIEkgZG9uJ3QKPiBzZWUgaXQgYmVpbmcgdXNlZCBhdCBhbGwuIiB5b3UgbWVhbnQgdGhh dCBzaW5jZSB0aGUgZHJpdmVyIGRvZXNuJ3QKPiByZWRpc3RyaWJ1dGUgYW55IHJlc291cmNlIGJ5 IGRlY2xhcmluZyBtZmRfY2VsbCdlcywgZG9lc24ndAo+IHJlZ2lzdGVyIG1mZC1iYXNlZCBzdWIt ZGV2aWNlcywgYW5kIHByaW1hcnkgdXNlLWNhc2Ugb2YgdGhlIGJvb3QKPiBjb250cm9sbGVyIGlz IHRvIGFjY2VzcyBmbGFzaC1kZXZpY2VzLCBpdCBzaG91bGQgYmUganVzdCBtb3ZlZCB0byB0aGUg TVRECj4gc3Vic3lzdGVtLiBJIGRvbid0IHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciB0aGFuIHRv IGhhdmUgYSBjb21tb24gcGFydCAKPiBkZWZpbmVkIGhlcmUgaW4gTUZEIHdoaWxlIFJPTS1zcGVj aWZpYyBwYXJ0IC0gaW4gTVRELCBhbmQgU1BJLXNwZWNpZmljIC0gaW4KPiB0aGUgU1BJIHN1YnN5 c3RlbXMuIEkgd291bGQgY29uc2lkZXIgQmFpa2FsLVQxIEJvb3QgQ29udHJvbGxlciBiZWluZyBz aW1pbGFyCj4gdG8gZHJpdmVycy9tZmQvcWNvbS1zcG1pLXBtaWMuYywgZHJpdmVycy9tZmQvYXRt ZWwtZmxleGNvbS5jLCBldGMsIGJ1dAo+IGluc3RlYWQgb2YgaGF2aW5nIEdQSU8sIFJUQywgVUFS VCwgaTJjLCBldGMgc3ViLWRldmljZXMgKHdoaWNoIGFyZSBhbHNvCj4gZnVsbHkgZGVmaWVkIGlu IGR0cyksIGl0IGV4cG9ydHMgTU1JTy1iYXNlZCBST01zIGFuZCBTUEktY29udHJvbGxlci4KCkFy ZSB0aGUgUk9NcyBhbGwgY29udHJvbGxlZCB2aWEgU1BJPwoKPiBMZWUsIGV4cGxhaW4gbWUgcGxl YXNlIHdoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSBNRkRzIGFuZAo+IEJhaWth bC1UMSBCb290IENvbnRyb2xsZXIsIHRoYXQgbWFrZXMgb25lIHNpbXBsZSBNRkRzIHN1aXRhYmxl IGZvciB0aGUKPiBNRkQgc3Vic3lzdGVtLCB3aGlsZSBhbm90aGVyIGlzbid0PwoKQ29tcGxleGl0 eS4KCltOQjogUGxlYXNlIERvbid0IGFzc3VtZSB0aGF0IGp1c3QgYmVjYXVzZSBJIGFjY2VwdGVk IGEgZHJpdmVyIGludG8KICAgICBNRkQgNiB5ZWFycyBhZ28sIHRoYXQgaXQgd291bGQgYmUgYWNj ZXB0ZWQgYWdhaW4gdG9kYXkuXQoKVG8gbWUgdGhpcyBsb29rcyBsaWtlIGFuIE1URCBkZXZpY2Ug d2hpY2ggaXMgY29udHJvbGxlZCB2aWEgU1BJLgoKVGhlIHdheSBJJ20gcmVhZGluZyB0aGlzIGN1 cnJlbnRseSwgaXQgbWlnaHQgc2VydmUgd2VsbCB0byBtYWtlIHRoZQpNVEQgcG9ydGlvbihzKSBj aGlsZHJlbiBvZiB0aGUgU1BJIGNvbnRyb2xsZXIuICBJIHN0aWxsIGRvIG5vdCBzZWUgYQpjb21w ZWxsaW5nIHJlYXNvbiB0byB3YXJyYW50IGFkZGluZyBhIHN1cGVyZmx1b3VzIE1GRCBkcml2ZXIg aWYgYXQgYWxsCmF2b2lkYWJsZS4KCj4gTWlxdWVsLCBSaWNoYXJkLCBWaWduZXNoIGFuZCBldmVy eW9uZSBmcm9tIE1URCwgd2hvIGNhbiBoZWxwIGNvdWxkIHlvdQo+IGpvaW4gdGhpcyBkaXNjdXNz aW9uIGFuZCBjbGFyaWZ5IHdoZXRoZXIgdGhlIEJhaWthbC1UMSBCb290IENvbnRyb2xsZXIKPiBk cml2ZXIgaXMgc3VwcG9zZWQgdG8gYmUgbW92ZWQgdG8gdGhlIE1URCBzdWJzeXN0ZW0/IElmIHNv LCB0aGVuIHdoYXQgaXMKPiB0aGUgYmV0dGVyIHBsYWNlIHRvIHB1dCBpdCB3aXRoaW4gdGhlIGRy aXZlcnMvbXRkLyBkaXJlY3RvcnkgdHJlZT8KPiAKPiA+ID4gUmVjZW50bHkgSSd2ZSBzZW50IGFu IFJGQyByZWdhcmRpbmcgYSBkaWZmZXJlbnQgcXVlc3Rpb24sIGJ1dCBpdAo+ID4gPiBjb25jZXJu cyB0aGUgQmFpa2FsLVQxIHN5c3RlbSBjb250cm9sbGVyIGFuZCB0aGUgYm9vdCBjb250cm9sbGVy IGFzIGJlaW5nIHBhcnQKPiA+ID4gb2YgaXQ6Cj4gPiA+IAo+ID4gPiBodHRwczovL2xrbWwub3Jn L2xrbWwvMjAyMC8zLzIyLzM5Mwo+ID4gCgotLSAKTGVlIEpvbmVzIFvmnY7nkLzmlq9dCkxpbmFy byBTZXJ2aWNlcyBUZWNobmljYWwgTGVhZApMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0 d2FyZSBmb3IgQVJNIFNvQ3MKRm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxv ZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BE27C43331 for ; Fri, 27 Mar 2020 09:00:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 60E1F2071B for ; Fri, 27 Mar 2020 09:00:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="aAzYXAia" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727354AbgC0JAx (ORCPT ); Fri, 27 Mar 2020 05:00:53 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:37703 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727115AbgC0JAw (ORCPT ); Fri, 27 Mar 2020 05:00:52 -0400 Received: by mail-wr1-f66.google.com with SMTP id w10so10467833wrm.4 for ; Fri, 27 Mar 2020 02:00:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=sw9EHe0rp4jEdZod7LUvBRAPC/j1wI6TRL3+L6zHB3k=; b=aAzYXAia5nPIJG0jSbMozw4pVDrHXdamQoXPwzA41RmrJ5Ogm0mTx5L/sJbg6suBd7 MloDGRZzaYsZh6D84nlRqop46ZsMghBb9ycCyInFi29VxhfNn3xBTlU0avNUJLsxwL+s C6lGh+N2MyA0/4uWEb/A+8yCIZLykKbNQT1+b/AvfHbqHRRLHR5R/hc/RwECKOlyheHd Jut/6wQlph1RUDk8rj4N7nCwPgEoPqGhmU8i+aP8nAw7zfqMt8AMiwvn68EL9LITtAL8 uD1B3qUyAp6AYvVNG+nefMoJxVNeUYZbQ5DgM7DWNf0+71/GQPu/DKXCOGOE16eOdX/F puaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=sw9EHe0rp4jEdZod7LUvBRAPC/j1wI6TRL3+L6zHB3k=; b=C4JB0quoToP9HlU5M6+KTpXEMHv1xNPtBfPlvxbYXnNhpEmP1swWXoY3f+QS7LT2dD v+LZ01FBUgSneScXQMgx8ukY/2+7ogZxKe/+T5+VVvnrDJzR466BExl0sqYMXieR56WR 4yM/CcPD/S16hfCf1vIjMlL+OJ2vD/4S3nCRSSN+x2J70g9tQ6+WdoKgMG5VSUc0Jnit FLmQoK1wERXlYfUg/sgG1J1LkfrYaHYMv5vokq+kUBlPwwHUmC83VdtCKNsfRffTxIEN h4/sJoeEU3utXLFNCmwnHNFK6v2DPGrx70DA3r5RPIzAldMT1fvE0FzYc8U3+S7Fog3N /uZw== X-Gm-Message-State: ANhLgQ1oEA5UKeZGjreX7/WZmRejz1k9OvfQmpUI5HfFSCuv2BaXgorf K3Kz0s3hClMftYJTJmfm9dqjhQ== X-Google-Smtp-Source: ADFU+vvjoty5CnSjs6+JrMK5QXrvDCdt7OK2Ri9BD5FemldQ3tZqNWcycGcCv24TvdUPEWtBmunJmQ== X-Received: by 2002:a5d:4d07:: with SMTP id z7mr13373134wrt.89.1585299649928; Fri, 27 Mar 2020 02:00:49 -0700 (PDT) Received: from dell ([95.149.164.95]) by smtp.gmail.com with ESMTPSA id y80sm7405082wmc.45.2020.03.27.02.00.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2020 02:00:49 -0700 (PDT) Date: Fri, 27 Mar 2020 09:01:39 +0000 From: Lee Jones To: Sergey Semin Cc: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , linux-mtd@lists.infradead.org, Alexey Malahov , Thomas Bogendoerfer , Paul Burton , Ralf Baechle , linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] mfd: Add Baikal-T1 Boot Controller driver Message-ID: <20200327090139.GK603801@dell> References: <20200306130528.9973-1-Sergey.Semin@baikalelectronics.ru> <20200306130614.696EF8030704@mail.baikalelectronics.ru> <20200325100940.GI442973@dell> <20200325165511.tjdaf2l5kkuhbhrr@ubsrv2.baikal.int> <20200326091313.GA603801@dell> <20200326113254.nfgiw5uynpbx5xhy@ubsrv2.baikal.int> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200326113254.nfgiw5uynpbx5xhy@ubsrv2.baikal.int> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 26 Mar 2020, Sergey Semin wrote: > Michael, Richard, Vignesh and MTD mailing list are Cc'ed to have their > comments on the issue. > > My answers on the previous email are below. > > On Thu, Mar 26, 2020 at 09:13:13AM +0000, Lee Jones wrote: > > On Wed, 25 Mar 2020, Sergey Semin wrote: > > > > > Hello Lee, > > > > > > On Wed, Mar 25, 2020 at 10:09:40AM +0000, Lee Jones wrote: > > > > On Fri, 06 Mar 2020, Sergey.Semin@baikalelectronics.ru wrote: > > > > > > > > > From: Serge Semin > > > > > > > > > > Baikal-T1 Boot Controller is an IP block embedded into the SoC and > > > > > responsible for the chip proper pre-initialization and further > > > > > booting up from some memory device. From the Linux kernel point of view > > > > > it's just a multi-functional device, which exports three physically mapped > > > > > ROMs and a single SPI controller. > > > > > > > > > > Primarily the ROMs are intended to be used for transparent access of > > > > > the memory devices with system bootup code. First ROM device is an > > > > > embedded into the SoC firmware, which is supposed to be used just for > > > > > the chip debug and tests. Second ROM device provides a MMIO-based > > > > > access to an external SPI flash. Third ROM mirrors either the Internal > > > > > or SPI ROM region, depending on the state of the external BOOTCFG_{0,1} > > > > > chip pins selecting the system boot device. > > > > > > > > > > External SPI flash can be also accessed by the DW APB SSI SPI controller > > > > > embedded into the Baikal-T1 Boot Controller. In this case the memory mapped > > > > > SPI flash region shouldn't be accessed. > > > > > > > > > > Taking into account all the peculiarities described above, we created > > > > > an MFD-based driver for the Baikal-T1 controller. Aside from ordinary > > > > > OF-based sub-device registration it also provides a simple API to > > > > > serialize an access to the external SPI flash from either the MMIO-based > > > > > SPI interface or embedded SPI controller. > > > > > > > > Not sure why this is being classified as an MFD. > > > > > > > > This is clearly 'just' a memory device. > > > > > > > > > > Hm, I see this as a normal MFD device. The Boot controller provides a > > > set of physically mapped ROMs and a DW APB SSI-based embedded SPI > > > controller. Yes, the SPI controller is normally utilized to access an external > > > flash device, and at boot stage it is used for it. But still it's a SPI > > > controller which driver belongs to the kernel SPI subsystem. Moreover > > > nothing prevents a platform designer from using it together with custom > > > GPIO-based chip-selects to have additional devices on the SPI bus. > > > > > > As I said the problem is that an SPI flash might be accessed either with > > > use of a physically mapped ROM or via the normal DW APB SPI controller. > > > These two interfaces can't be used simultaneously, because the ROM is > > > just an rtl state-machine, which is built to translate MMIO operations > > > through the SPI controller registers to an external SPI-nor at CS0 of > > > the interface. That's why first I need to make sure the interface is locked, > > > then being enabled, then the corresponding driver can use it, then get > > > to unlock. That's the point of having the __bt1_bc_spi_lock() and > > > bt1_bc_spi_unlock() methods exported from the driver. > > > > > > I've got two drivers for MTD ROM and SPI controller based on that > > > methods. But I haven't submitted them yet, because they belong to two > > > different subsystems and I need to have this one being accepted first. > > > > This is not a totally unique device/situation. I've seen (and NACKed) > > this type of device before. You need to explain this to the MTD > > (SPI-NOR?) maintainers. They should be in a good position to provide > > guidance. > > > > Sorry, I don't really understand your justification. The boot controller > exports two types of devices: physically mapped ROMs and an DW APB > SSI-based SPI controller. Aside from being able to access an externally > attached SPI flash the SPI controller has normal SPI interface which in > general can be used to access any other SPI-slave. The complexity of > the case is that one of physically mapped ROM RTL uses the DW APB SSI > controller to access an external SPI flash, which when done makes the > DW APB SSI registers unusable on direct way. That's why I implemented the > boot controller as an MFD. An alternation caused by this peculiarity > will be submitted to drivers/mtd/maps/physmap-{core.c,baikal-t1-rom.c} > later after this change is reviewed and accepted. Similar situation > concerns a driver of DW APB SSI-based SPI controller. So according to > the current design the boot controller with it' sub-devices will be > declared in dts as follows: > > boot: boot@1f040000 { > compatible = "be,bt1-boot-ctl"; > reg = <0x1f040000 0x100>; > #address-cells = <1>; > #size-cells = <1>; > ranges; What control does this device offer in those 0x100 registers? > clocks = <&ccu_sys CCU_SYS_APB_CLK>; > clock-names = "pclk"; > > int_rom: rom@1bfc0000 { > compatible = "be,bt1-int-rom", "mtd-rom"; > reg = <0x1bfc0000 0x10000>; > ... > }; > > spi_rom: rom@1c000000 { > compatible = "be,bt1-ssi-rom", "mtd-rom"; > reg = <0x1c000000 0x1000000>; > ... > }; > > spi0: spi@1f040100 { > compatible = "be,bt1-boot-ssi"; > reg = <0x1f040100 0xf00>; > #address-cells = <1>; > #size-cells = <0>; > > clocks = <&ccu_sys CCU_SYS_SPI_CLK>; > clock-names = "ref"; > > ... > }; > > boot_rom: rom@1fc00000 { > compatible = "be,bt1-boot-rom", "mtd-rom"; > reg = <0x1fc00000 0x400000>; > ... > }; > }; > > I dare to assume, that by saying: "Despite including the MFD API, I don't > see it being used at all." you meant that since the driver doesn't > redistribute any resource by declaring mfd_cell'es, doesn't > register mfd-based sub-devices, and primary use-case of the boot > controller is to access flash-devices, it should be just moved to the MTD > subsystem. I don't think it would be better than to have a common part > defined here in MFD while ROM-specific part - in MTD, and SPI-specific - in > the SPI subsystems. I would consider Baikal-T1 Boot Controller being similar > to drivers/mfd/qcom-spmi-pmic.c, drivers/mfd/atmel-flexcom.c, etc, but > instead of having GPIO, RTC, UART, i2c, etc sub-devices (which are also > fully defied in dts), it exports MMIO-based ROMs and SPI-controller. Are the ROMs all controlled via SPI? > Lee, explain me please what is the difference between these MFDs and > Baikal-T1 Boot Controller, that makes one simple MFDs suitable for the > MFD subsystem, while another isn't? Complexity. [NB: Please Don't assume that just because I accepted a driver into MFD 6 years ago, that it would be accepted again today.] To me this looks like an MTD device which is controlled via SPI. The way I'm reading this currently, it might serve well to make the MTD portion(s) children of the SPI controller. I still do not see a compelling reason to warrant adding a superfluous MFD driver if at all avoidable. > Miquel, Richard, Vignesh and everyone from MTD, who can help could you > join this discussion and clarify whether the Baikal-T1 Boot Controller > driver is supposed to be moved to the MTD subsystem? If so, then what is > the better place to put it within the drivers/mtd/ directory tree? > > > > Recently I've sent an RFC regarding a different question, but it > > > concerns the Baikal-T1 system controller and the boot controller as being part > > > of it: > > > > > > https://lkml.org/lkml/2020/3/22/393 > > -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog