From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751970AbdATKiO (ORCPT ); Fri, 20 Jan 2017 05:38:14 -0500 Received: from mail-by2nam01on0049.outbound.protection.outlook.com ([104.47.34.49]:7632 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751906AbdATKiL (ORCPT ); Fri, 20 Jan 2017 05:38:11 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jan.Glauber@cavium.com; Date: Fri, 20 Jan 2017 11:37:58 +0100 From: Jan Glauber To: David Daney CC: Ulf Hansson , "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Steven J . Hill" Subject: Re: [PATCH v10 0/8] Cavium MMC driver Message-ID: <20170120103758.GC3908@hardcore> References: <20161219121552.18316-1-jglauber@cavium.com> <20170119145041.GA11757@hardcore> <0f721117-24aa-cb69-56fe-0a48f9012852@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <0f721117-24aa-cb69-56fe-0a48f9012852@caviumnetworks.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: [88.67.142.24] X-ClientProxiedBy: VI1PR0501CA0021.eurprd05.prod.outlook.com (10.172.9.159) To CY1PR07MB2588.namprd07.prod.outlook.com (10.167.16.138) X-MS-Office365-Filtering-Correlation-Id: 2bea3fbe-ca6b-416e-d85f-08d441206d61 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY1PR07MB2588; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2588;3:5yStIaGGxtFkvI/cG4x4FBDcvMUkj7oNAdD44YQsEsOUbhisQtycJY+ff+05QA2/SZPmq6ZEf1OL02qH+GWxS1S+FL0aRD8LGyxkVp6s0G7ksk0VNtITBy9Wrr8KDpdNZ6B6MCra2VkfGsv2s0riNdR1P9ElvgLNsojSeP5Dw81JKD4oHN3UDbE7A+RjqTLbzGQN9VVfZzSlfzrtF+H1eoLJkjRiPHGGHvseFZpGjurj9HSOPapPLYckAGJa6BbLxzPDE2wCo4RhXqoBk+PytQ== X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2588;25:TArVU9Rmkkj7Urmhf3SFiUWYW7qPV6DGeJDUnSf0hAW25soJPVw5gEh6Nqm0jqcei9ZZ0c2aoLhpIbpukDcmotd1/cDSk3FcWNNycEor+LeObnLafUiIQyEZxdrSCkifSNuaTPh4TaZBC1N+qCa5SFjMWxCdnnGo1BhqWe0nhq6pDop8hW6jbnEBBAm0/WtlTWnCkbCwqYTK4A3AjEb3BqxlMIiQJtbbMlIXYfam5xWly7x82UogAYxJchU3ep8MfEN1YMGGJaTbvyhZiTPbnZoJRSv10smpIKajIlK31VmOlIXpYpLlwCxPE9D7eqEKvR3O1yOtIqycBl7EhlkLSXWo/EIASH3tD4M3HavmR2rZtCb0+aY+xffReIvtuKH0cEFtHundQlLa0lxW/vIOQUVo98cL9CGyIvmn+ooPW8bGweU02kPiqPAdkUE9bGO78mZ/mxtYMdsnZwQihRhrX9SOuFYdTnbD+L/Qc9/IwBvdUrPUJM4Y65oZ+LzpBm9b3CXsm0Y1gKeUWN7+IJWWyPYOeYoN9mQ+PilJ3B4szF17rHjx+Q1aGUER6wSnHwcnquEfWFUmtA0/5+mu7HU3ThjzSMN+amDqNbXM1Syu/TQEXtVne8qnlbDmSJzUwvu7Mpl7J1M8LtVAcepfpiYqHhUIzoF5WalCJvv4gqVUDhGuIaj2zt1JODjelIg9z8lXMxOOqgvSLkPgao8b8S9ONcqe+zPfve5hEOHCbvfmevXIG/13/czmqbjmyKZcHwzv X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2588;31:8e/p8hkHCMTkVZCZULQ3PZyrht9/IQFUgvpXdm7rdBbbAn18lDHqICr1PMLcvT0vVXs6TFmNvHRaOOktrRsnENdE0RXKDiCps5JjyWw7SGz99zND1dnVBb2MmejPzW9MHRBofzHxeeqUNDZhFHw8uz7NzMH9QN8jDvoIofOXhH09ceYs2nL8wb6Z6zS713P/8F1f5qR/L5QdY7S3ijDWhtXvlIpQMtyy9I74+bOVGN3E4QKIcCFkf4YvSUZLgJ3a;20:u628xpXOZ7X3OfkYQC1zAITYhHuuJVVnwo9P7OfxCJ6llcDjvlYI6QOeE3C6+IQWNwMhkYfXGbCOv/8O8pP82TWnEXIcQNSkpXipH9rL6fdyExqxML3cGChWGWm6uHMc4C0JWvq8Iz9Q2hbgRtKM6edrxKpb3n0gPfJx7dLSgdVQwXD6WTIWVS2H3XwXYYE8tI/3dyEAB2sy4sUfeVhdvh2jju9o4YfzpcIBlxk1/eU+qDfvTjTTYqT/cpMz4LSmQ6OdQQsBcdDdhhl7x0iek3dcDzg1tYFXmhvdF0cb/eyM9quZzIvrkL/9tXNz2qBrrhI6iBD58y0622+uPqElNa5q6BkvdBWzeRqKJtAHL1FPmt2XdBDru0My/gIUaqabxOD0pn++j1mAG9VJCT71bZSktF1TkwZxzuqJBZOANwzrDPFXMGHFRfk2MhIifpw5mGDtAZj1R88XRguGproiucwPS8L+tPy15pDPfRmQQjHNhlHLNIanTUv3rALUIqUvQJSjyX7uGhivI7NotiM+fGbmqCB0GkORaOxaqRULNTmiLjY0Z134tbCFz2pZCVTTP6ZF2bq9MPCCTVk0ocED9bdflEXszkl5dSmb3ibGDU4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148);SRVR:CY1PR07MB2588;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2588; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2588;4:yNgNRU+aXG3mXhCCVpiemydIHHGZVUo0s5Bi5rMlYRsZbhhJ5IZGl+j5XftN/4oDq2szRgroWM0Nd26qL5WkdVfqJhKkfbBRuYRJL8X7uBg9c85ksqPgRGchLcMN+zWz2jBTPioN1Mx9+2L31LLGlzDZ62d9OCrfKvfn/zm/M9OyfU9yR+nAobwKQbExdCuDcxD2e88glcMpQH23s/B6bq0Sm9WnkK13EB5dc6FIS1BHUVcVnrpn//V7ev4w/Kj1PEHW5UiRu3WVLk4l3BqE/WtjIP7xYAwrXhGNAd8hkq0zN8a7TWdfLSLac1VuDLxlTzH5qO1IAa9cBLmAErhjH6rn9LP39LtZ3Gp2/OCQsdQCvYBE2eG82m7UhkWdvwis+lC17Jvz3l7stVv/y9o6ngRSvjDKO8mMkbDMIjR3mVe9sOwLWVOfIXmYgeTqSH5axkg6LDZMmxm5RBi41An0HDjQ9PPJa0sc9kAFFlLY19aUeiaac+RdsZtf3TyD9mX5K9M2c9MAiF7IzfYZEsq/y2Yu4yj6X/f+cXnO8PFOGPn915G7/mjK5VLVoPsbESWw X-Forefront-PRVS: 01930B2BA8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(189002)(57704003)(24454002)(199003)(377454003)(4001350100001)(23726003)(101416001)(6116002)(6496003)(50986999)(76176999)(54356999)(229853002)(189998001)(38730400001)(5660300001)(81156014)(81166006)(54906002)(105586002)(55016002)(97756001)(66066001)(8676002)(33716001)(107886002)(47776003)(106356001)(25786008)(3846002)(6666003)(2950100002)(46406003)(305945005)(4326007)(4001430100002)(7736002)(33656002)(6636002)(42882006)(97736004)(53936002)(9686003)(2906002)(92566002)(1076002)(42186005)(68736007)(6862003)(93886004)(110136003)(50466002)(83506001)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2588;H:hardcore;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR07MB2588;23:W3pt/nFxyzgOIvdd7jU98Vxw8ktxyRPmOvDYhX9h4?= =?us-ascii?Q?RY3EENAfaYzf+V6DdYrOfrkro6XZ6kRci1LcIB+yD+Y+RJ/XfvLE8YRyWJBO?= =?us-ascii?Q?AaPWyWAuPCyYDQ2jPvDyLed/sSqurJahhpsny4+QjT2RfXmG2yqDc/w4sdKr?= =?us-ascii?Q?a8wDRL1mye66dzRwe56/eoVFA/IgLfp0dv49uQL+wrZtwC4yQJxvuOr/XLqi?= =?us-ascii?Q?WbnUzqyE7nQoxjHtuL+dwdckkv+xLHnHt1AFswvbluvZWP5meZH7BdoRKPbK?= =?us-ascii?Q?QZB9GWyVd1Z9rpWnKfaUE3i2cZ6kjlUgSAJWrY8R0KsGNlLp/53+P0SdkxqF?= =?us-ascii?Q?KVeW/WLlPEoDlHWyiUuT2xJjf3CfTVVnlzJ8RWchXkI+atQy6CI+etLKHple?= =?us-ascii?Q?WxT3mKGobWsZY9mUOqQkcWeu5UkWzN25Em/StXBB21yhcKsSMOUMPsJo9nMB?= =?us-ascii?Q?h6089KJrCUrS8IGl6XlGLeuN1woWPCoYxiVZJhvkZwaAy1EDlSmDCeS050LR?= =?us-ascii?Q?QJnSXd8h+AIsNO4rrROR4Wo45Pve9fRy6jRMMDH/Dq94u4sHudqCwaY52bSy?= =?us-ascii?Q?N7AqJEj/6fnIwU8bn5NhXyYpy3D9WLKZGpzn8c71ofLzNjH0r6ltGUgdr4Ky?= =?us-ascii?Q?JTvGbL4puQw25yUDtDCpq8orMKJ5uxWy5HJrRn3L3nUh8t3PZ/+FoZjPsIHU?= =?us-ascii?Q?vAxsk5rphnadirlLlcT2fHnN9AegM5OIYwz88L1fOYjRyN7Z5RnxY1XjN8M2?= =?us-ascii?Q?UN6PsdqXqRVOYePBfN6xD7RjPuizOddtszrDx0qi2iEkNg2HCr7tl0+1aD0w?= =?us-ascii?Q?1S9fag1pudqDhD8Jhv6v2vMj8rwjVs14w28m4NZBLnrTtrONc4gZy0T81HRo?= =?us-ascii?Q?dA5glruH3vp3qjXFPs70SUWUCthCACa131XcHMzTkMdWJLScun0qFGlLQp7D?= =?us-ascii?Q?Ktm7jpHpudKhaejUm0F7rVfN1wKLU5ZkeX/byqHkK7VnzTX6qbKAtezZKttg?= =?us-ascii?Q?fjD2sERmM+bEBHUedmwwzhgnq7LmU2cOin8eomsKNiHsSFLpzHFSlq7apNtt?= =?us-ascii?Q?eoINz5uzNh7V/okZ0EUZuKEENO7JRpw5sDgcCE2NkUYs7z012psRlPbcJ5Xc?= =?us-ascii?Q?nPypZefeUF+9clnAiWqifWI4Sgcu7uGUNLPKYYOFc9SVWh8Yl/JC/5Kr7BnT?= =?us-ascii?Q?2CrRmfVOpOvWIa6gJziAa1P9jJwVVDuFsFBR4F2cXPFJSAvXLHX0iNKQD06b?= =?us-ascii?Q?qJ5XlpfXmOjFWdjgTIHSgddOaM3qXffRwbVv6YWZwl76wZyZUrc2JOMnfdpm?= =?us-ascii?Q?/w9D68Bf2ITo2extfdng5X1a3GAL46i7oFOl0C9yPt/ISIfdQ3X0zEQuLyzY?= =?us-ascii?Q?io1+gJ4IRKnmKxOMKzREdhUe9HPD/pA6JrgG6fXqmLnlTVm9lrNYHMpTvh/4?= =?us-ascii?Q?8GZkWEPxg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2588;6:uCPbTYrzFjcINRTSZ/HlguoZP81PQVBOeUnKTaJPl19F2N+jqTBHABubGOTStfSjdynZstHDECqNgGQJacnNUtQEvzssSxChvYfaPuSDYcPXVykrNsQPTcpVy30FwZyK+ZV5JF8TQ0NgmdWe2TwsejUEYqTbTld2B1hhD7aqYsUoZ3otNnnlqlDVtP9XFz+aWxVCbS9T/nWygApduPjkZ9Rl/qtOcO2bpclCV6AgRbJMbfaPPBdD5texkuNsI2+4Vc+wN31cpNN0ETCBXjYybrDSkFB0oU1hb8a03O+93RFgHZtqDtMM7l1KCWlMsZ9VQ6wQTDX9f4eCUUQFoE5PKmj+ez/qMZc3Na2vZAVB2SwPWq+RixeXoiabebKcUtK4ymlJM+qsKIxkxq9j0aEFLKPkaYiFQ64FEfpgna/rCLY=;5:aPW8EAYpeDZE1AFT5R4+RLEyDV9QEk2MLi/NaN1U/Js6Ve8/uMQ/VgFUGV1vz9aWjkkFknbbI41kCPomb1WXPge4u3ZW/3Og+fM83hU62XozqVKHKXOwcyUacAf9bHhLXmKMxe0QBKhHihbqPt7QVA==;24:hHv10B+eV0dQ+dKqNZu1qp5d4X68N7g2QVCn7zEquPWl+KH1sEUHBYAodmBwz+l93zcYQwqktDlLjIZg1IHApvta1aqG5328uua6nSQGjLA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2588;7:n0dSvBfcuDzuvbkP2PDjMRX2dvaxLQeTGCpcgKZB1w/FluAr/fY1linHherS9wez36ejMLIUQT8Mcmf3woFUD4y5KRGnzljFrcywTQDArM4sFY6h55vGcktpDdjxl0zBaeQCB1DolTMRxdotRxtsCg6/FyoFw6h1Y95d6vc2o3ulqUwnq/L1LGXXrKmKA90vf1nf3EZ1u6EuGcB6wbdN5NRIgjE8s/qTOFCg2rei62SlUwnENIL0PRQSOf0uWZZXNQN2QqsGMe5V6bZZhzpMEacUOlizq8gaUEq/lGL9YOn0tz2/m9K9VjaEwVbWjTQQrqYcaoKye+OkQ17Wn2NP8vHgK2Sjenv/M9qFE0bxT/52RaxVzt/7TaxxbtvVhM53RcUO3P8woftRRBl+rHqjc+C7wkmhuwBA5Ojr6GjrAB86I7Zao0KZbD2R1xtIOF2jkf5wrGgJ/3cBJ/5TyYtC0g== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2017 10:38:08.0607 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2588 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 19, 2017 at 09:47:33AM -0800, David Daney wrote: > On 01/19/2017 06:50 AM, Jan Glauber wrote: > [...] > > > >>4) GPIO powers should be modelled as GPIO regulators. I believe we > >>have discussed this earlier as well (I don't really recall in detail > >>about the last things). It gives us the opportunity to via the > >>regulator framework to find out the supported voltage levels. This is > >>the generic method which is used by mmc drivers, you need to adopt to > >>this as well. > > > >I've added a fixed regulator to DT: > > > > vcc_3v3: regulator-vcc_3v3 { > > compatible = "regulator-fixed"; > > regulator-name = "VCC_3V3"; > > > Very minor point not really directly related to the MMC driver: > "VCC_3V3" implies a general purpose supply for many things on the > board. This is not the case for these boards. The "regulator" > controls power only to eMMC and SD devices, so a name that conveys > that function should be invented. OK, I'll rename it to: mmc_supply_3v3: mmc_supply_3v3 { compatible = "regulator-fixed"; regulator-name = "mmc_supply_3v3"; [...] > Actually on some boards GPIO 8 doesn't even control a regulator, but > instead only activates a bus isolator on the control and data > signals to the eMMC and SD devices. In this case we would be using > the regulator framework only because the code is already there and > it happens to work, not because we actually have a regulator. > > > regulator-min-microvolt = <3300000>; > > regulator-max-microvolt = <3300000>; > > > > gpio = <&gpio_6_0 8 0>; > > /* enable-gpio = <&gpio_6_0 8 0>; */ > > enable-active-high; > > }; > > > >This seems to enable the gpio. Is this sufficient or do I need the > >gpio-regulator? > > > > Does the "regulator-fixed" allow us to properly turn it on and off? Yes, I've disabled all gpio calls from our mmc driver, with only the gpio settings in the regulator entry I get: root@sff:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 464-511, parent: pci/0000:00:06.0, gpio_thunderx: gpio-472 ( |mmc_supply_3v3 ) out hi So the regulator driver enables GPIO 8 as it should. > If not, we may have to switch to "gpio-regulator". Which ever is > simplest should be used. "regulator-fixed" seems sufficient to me as we don't need the additional power states that "gpio-regulator" supports. > [...]