Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756585AbcKVRc2 (ORCPT ); Tue, 22 Nov 2016 12:32:28 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:39531 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756549AbcKVRcZ (ORCPT ); Tue, 22 Nov 2016 12:32:25 -0500 From: Gregory CLEMENT To: Rob Herring Cc: Ziji Hu , Ulf Hansson , Adrian Hunter , , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , , Thomas Petazzoni , , "Jack\(SH\) Zhu" , Jimmy Xu , Jisheng Zhang , Nadav Haklai , Ryan Gao , Doug Jones , Shiwu Zhang , Victor Gu , "Wei\(SOCP\) Liu" , Wilson Ding , Xueping Liu , Hilbert Zhang , Keji Zhang , Liuliu Zhao , Peng Zhu , Yu Cao , Romain Perier , Yehuda Yitschak , Marcin Wojtas , Hanna Hawa , Kostya Porotchkin , Subject: Re: [PATCH 5/10] dt: bindings: Add bindings for Marvell Xenon SD Host Controller References: <20161109182426.vfrpb4i2mfatdzz3@rob-hp-laptop> <15b06a12-ed69-03a7-ccc7-0c133ce1ac1e@marvell.com> Date: Tue, 22 Nov 2016 18:23:16 +0100 In-Reply-To: <15b06a12-ed69-03a7-ccc7-0c133ce1ac1e@marvell.com> (Ziji Hu's message of "Thu, 10 Nov 2016 19:44:19 +0800") Message-ID: <87d1hno2d7.fsf@free-electrons.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2055 Lines: 57 Hi Rob, On jeu., nov. 10 2016, Ziji Hu wrote: [...] >>> + >>> +- reg: >>> + * For "marvell,xenon-sdhci", one register area for Xenon IP. >>> + >>> + * For "marvell,armada-3700-sdhci", two register areas. >>> + The first one for Xenon IP register. The second one for the Armada 3700 SOC >>> + PHY PAD Voltage Control register. >>> + Please follow the examples with compatible "marvell,armada-3700-sdhci" >>> + in below. >>> + Please also check property marvell,pad-type in below. >>> + >>> +Optional Properties: >>> +- marvell,xenon-slotno: >> >> Multiple slots should be represented as child nodes IMO. I think some >> other bindings already do this. >> > > All the slots are entirely independent. > I prefer to consider it as multiple independent SDHCs placed in > a single IP, instead of that a IP contains multiple child slots. It was indeed what I tried to show in my answer for the 1st version: http://lists.infradead.org/pipermail/linux-arm-kernel/2016-October/461860.html Maybe you missed it. You also mentioned other bindings using child nodes, but for this one we have one controller with only one set of register with multiple slots (Atmel is an example). Here each slot have it own set of register. Actually giving the fact that each slot is controlled by a different set of register I wonder why the hardware can't also deduce the slot number from the address register. For me it looks like an hardware bug but we have to deal with it. Do you still think we needchild node here? > > It is unlike the implementation which put multiple slots behind PCIe EP interface. sdhci-pci.c will handle each slot init one by one. > If Xenon SDHC slots are represented as child nodes, there should also be a main entry in Xenon driver to init each child node one by one. > In my very own opinion, it is inconvenient and unnecessary. Gregory -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com