From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761091AbcHYRPy (ORCPT ); Thu, 25 Aug 2016 13:15:54 -0400 Received: from mail-sn1nam02on0106.outbound.protection.outlook.com ([104.47.36.106]:10720 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754723AbcHYRPv (ORCPT ); Thu, 25 Aug 2016 13:15:51 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=zach.brown@ni.com; Date: Thu, 25 Aug 2016 12:15:44 -0500 From: Zach Brown To: Mark Rutland CC: , , , , , , , , , Subject: Re: [PATCH 1/2] sdhci-of-arasan: Add quirk and device tree parameter to fake CD bit Message-ID: <20160825171539.GA13571@zach-desktop> References: <1472080984-17373-1-git-send-email-zach.brown@ni.com> <20160825105640.GA5439@remoulade> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20160825105640.GA5439@remoulade> User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [130.164.62.11] X-ClientProxiedBy: SN2PR17CA0026.namprd17.prod.outlook.com (10.169.188.164) To DM2PR0401MB1453.namprd04.prod.outlook.com (10.160.222.156) X-MS-Office365-Filtering-Correlation-Id: eeb06d71-c343-4531-75be-08d3cd0b7562 X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1453;2:enQmHus+3/8Ldbioe3/lXWnl/inF3HI7erUgf7ZCnLlFxFPa+aL8smCceyA5eX0nzavDRl6b6Ow5kCE9ffCsIeIBu+Z+cWVKzAdhvHA9ViHW5tKJxvV5njZ2Lm80fxyUF6l29GWQquQG7muN9tCN9ExsydA7XxrKJiN1jT3HY+SSTfGvw/f6LlhdIQRICyDv;3:GWy4DtKpqqz07OsVm3r5EOfjbxv7BnmWg817C6/ev/+vNrvKG7LZknhAJXP2juSpHu3SC+TWiIo/Nfn70zu+grA91ix88XsedvjvcB74Mt4cGS9XQmPVXlsGudcG9MV5;25:uxvigyGnh6+lk63HJ6KRcLzuUMXdBG1ax9CUQx8TWvf/BTq2OpOBr6Je3SjiszXp+gbpP6bJrSrkNrhbNIctjzZwYNmcPf9xWN8aMPOkVwDiIityr4tWEuxzdtg94LDd5lRPq1jDjJxipA37eXY91f5ARHjYHkjGX+alH0eg1NBI7iRlle42MaTHTW1rUTQxM/G5XXiFsvNzjEXMug1KH/5m1q3PZxa+M0WMAn+5WUBbXnelxV50Zix1GzkkOoMovf6/27+VeDzH7hyuqwxDv8yxhzlOeHwNeNg9iML0QVBacUDkVQBclfgWRVm8mwPgwBJLbdO13l+4lO4ektjs6QWXZ7fpf6vbp0mGjF+xr5ZB9O1NIN9e/a8RYuNcN5zxPGEEgzLgh4B8uY4iuFrY7ZwhmmXVYVmSDy5zDnE0eAs= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0401MB1453; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1453;31:0BCG+6qYaPK1DM+LxpYXb0UDWsYE8dD5eas5tN03J4ldSktq2x5EP9PrzckGUgkTugUbWZq+AkKU01uyCkn1mIaw9TLwhxSGwe1yk7IcBnUE/woyKRmnY/sT4nDRD8QNcqnIDw8m5IvwKTYKga8yg7yOExGCxvjK5rMr8y5zKXX+OMSilOXM6oamEyTmX++XqhnJpY+uHaH1atIdI8HI4OQgN0wbO5AIPmwQVJPx6RM=;20:6i0zHG5SxIQPQ2HLuZ1SQD7CKdHepqtaksMo6IhUKSLXGfUQn1m/km3Q4FmSkxLCo0MmIp36f5ZUT/f7kaXCazBqekqi0O+XgCEUmIifHradSkTg1hL21KjGBxwpZkVZ2q13gPYkyhK4EOVgbWSHF93Te/bXwm/kLqkZ2WQjPnIPmPMpoh5I+9zX83r9wKKg78B/ne4IbMz8zBVpARMYt2TRNikz2Gkcezv94ebLrDWWNsOioSJ64KVkkq0xSDTyD42BHTXUiOtJOgX+B1n9ki6IFyrPkyTMpyArdhD/d05CAl6AcoZJXr4wg8UlTdkfbaAnH0AYZ2tsn/yc/878io/+Veku0q/Z8/iPNlIUHhxoKpVeu07MogCnOXGmKtGThwL0BFsILMX7/tVGzAFCaMODJjVSjix5o06MZ8pwwDrNk0zO2ocmD2nL369VC1xAuDi+ImqV+vVHZgwl6e76PfbgUUQpHKhxZsIxV79Vj4g6cUuF4Wo33FjS3Rl8Tdb2ST9eypkdOlzTDXFaDzj/z9T7+jHXBcGN11GJn7zgG8+gHQ/8lLguIUe3In0q8LHHjDswYsMg7kQJ0zYLQaNpNM2CTnV1qA/iSDLD279KseY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592)(189271028609987)(145744241990776); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:DM2PR0401MB1453;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0401MB1453; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1453;4:f1imlcOl9VhxFVuWKGZ+65BxAM0BtHtECimg1zGaADVgihq2vKntg/P2Svgr+eg6zotw2962ALCCAGSSrPuK5W8DtKKz3IpN63EnV4+OzYAFCSRpTbucH22mYRGVRBhSlIlSK0ulyeS6YiwvffySBj219XBMboP/HxfnfacmMONvUKNVOCY6JZnclYkXHwXisd9zLYB3efMx4mEjyZS/GZs9OWypIa9odBDsMFW2uZDvyczvtwxGW465UVL1+tvpsTOsVvW6SPZNqzYiJ2WdhrRbxUdpjuRwsHAZjid6rwdZYBXRbVstp3DE0ky4IP+p8enQ5mPJqzUbq8q5VKz1YTJeHp4urFYBoI+0byoAhpp8emYymv/ToOhfruAn8EfsvMI6Qgi9ixzIRzpJjrVUZIIkE4OV6xKw/2t5IrS85n2zEHl8wKf3E0IoMAqADpEJDnz00lt1FbAJlKsYTqqBGJaZ34VImhTK0/K2L1b9OXdn0gX7neQB1Y15LR8btfZE X-Forefront-PRVS: 0045236D47 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(24454002)(189002)(305945005)(19300405004)(19580405001)(33656002)(5660300001)(105586002)(86362001)(9686002)(7846002)(7736002)(97756001)(4326007)(46406003)(1076002)(8666005)(15975445007)(81156014)(50466002)(33716001)(230783001)(101416001)(4001350100001)(19580395003)(68736007)(189998001)(54356999)(2950100001)(92566002)(50986999)(81166006)(42186005)(76176999)(110136002)(2906002)(97736004)(23726003)(7416002)(586003)(66066001)(106356001)(8676002)(83506001)(77096005)(6116002)(3846002)(47776003)(18370500001)(7059030)(2690400003)(107986001)(562404015);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0401MB1453;H:zach-desktop;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0401MB1453;23:jH2glkkvv6C6zXk6FwmyYcBfYi/GZXYJZ/627Ff?= =?us-ascii?Q?rWahcQUsSTLYZJij8cX7JMfxoczzyMQIsMEySuC8QeqjT0pZYqqolp2+0MRM?= =?us-ascii?Q?neAyWFrNBTN2MfWmvbiFoSSImCHnWqusDC/SnCAvKZPGW1uGqlAzsZYtORMr?= =?us-ascii?Q?nzg3vWQR/sM1W8VXaAlVGv/tM/DDBB0gXV+q7/oqiyJ4I9WLXF8e9QRNbgfR?= =?us-ascii?Q?t0Yra2BVa+ALAdx3NGr7+Z8Chlu3/v9ly+dc+VvDbHX27ckh2ZtTLXcKVIkD?= =?us-ascii?Q?it9NO/hNjD596g9vjYtdQXgwRkp65hmtiXdttrqlfShS2hNi4YVbl+4R3FR/?= =?us-ascii?Q?/056sK9GFdgBn2WBt7DlV21+DSxgl1PO8weL85Y+ox4ehUDQX3blDAHuthIF?= =?us-ascii?Q?/fBwj/36kzI40x3+AOwQ6xRSi2Mowph8c8/OUm1rzca0o8c7FLKENepY3c40?= =?us-ascii?Q?/21hsDHI9ttB10SyXR0BVdPmXG4zONm2fgi9WdwPtb96BXvZsGSdNE8IHJ7R?= =?us-ascii?Q?/4nnKQxx3mqUk0BdJrSHzYwvVFuMquORBOmbNtgeALkBNwnhHYPtXDTOeQWq?= =?us-ascii?Q?gScGxjPf4TJEOFRavfHYHSVZWYibKQwssx6YP94j3gV12Jkf+LRflNrhH5qz?= =?us-ascii?Q?KTggJ3fCKeGkOuX7lgexADWdu3qQoxxcvM76VFp8sCOTUvc22Ympa6QfhZIm?= =?us-ascii?Q?znFBnvJ56foJtBtd0tGxV3C2YCWn/WUcAYmT7GAW2vsfoDvDo66s70Xk3Cet?= =?us-ascii?Q?S2UlzwllVIkj//GJxjyLGyvojWBaTxDeiMHz7UWHCfqQVNDj6xz6SYh/eIyp?= =?us-ascii?Q?itLAZKyqpmTf1HW8YqWDI7+ZSyTth+MNfP2SAoygMsiJxmNRPlvlTcvpbMkw?= =?us-ascii?Q?IzvjpsgUYl7vjUwWUbFdoKr6fHbwQwP0aOxDKizaYuiuNq1cT62ashKRqXQZ?= =?us-ascii?Q?wKWlVGHakg4LBr9TdnCSxyDsZMkaUsD/l6KN0B5vXOtPr3LwCvZDWOqhI1QO?= =?us-ascii?Q?yDrC73DQeISeKfkIAKFInJc9lJ9U2Q2P++M0CDf6kY4C5GiHg3A9F/bMO1wr?= =?us-ascii?Q?NoKpcN+YCusUcec1OJwQTMIbIxRCghGW8Nqc1f2MYnL48PIpCJaW5kujzn9P?= =?us-ascii?Q?gophvsPdaaybHenMhghGARpEC/YTVOY8s3phg1aqVtj/i+pVOSAsVrZ4PRRz?= =?us-ascii?Q?dS3R8k6pe6i67W8Fm76zBjkhDIsf+a6Nz+mT4PZe7gJFS5y3fi6n8EMphFxC?= =?us-ascii?Q?Y8uizMxoJXQjwT5cIEC8l/KcPu5R5qEoRBy48df7jAZvW0Peq8N9+oBUQVDt?= =?us-ascii?Q?r7TRURqVvf7Zw+klX39s93cgCmIfbZYhejiHZ5LAW1Ca78Yrwq068S03WLU0?= =?us-ascii?Q?cf6zUy7lJ4wogPaZeIjF1W8w6rIM=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0401MB1453;6:URvztnNPHfvt2akrIR9YDBIvchUyiaGMbr5cwjcercipCdv0r9WwpSB/xcDkMIH34ugXXhxymilwqlw4emsmZP9+3ZJm8gENevpbyP7meTizmgltQWUO5V1T+OHI768nSvO31KhTCPY5Nfp7FvZtU2je8EukiJmdef+SUyGpxXdfJ3e/9BWA7VGpGntaRsyjImm6199fEDXY/29XsC47r4U3o2ZsrwpolCBD7pM/Q6welqbn5mTG/snMwgEj0feL6onlRvOcbR1zO4ZNOc2xM8duLX1+MYFHne+nYnnyWEw=;5:FJsWmNv1YIyJC3FYv4t4Kxe9mwL/2LTBTwIB/hnGMYdBSth98GUcZYYjWyJtn5tZLRf1eYryk3TlmJ/3SzlZKIyq1c7wj4rRLXNcu9oYnQNY1tPNGaZSOtA7eWK0Z130gKH9hVa6MbbqkUfsYUUiiQ==;24:LLzpQCg+4jP/1SC5sTwe5r9mHLmg7MJpc2ypF6swl2o1+niRm/0z7X2CtI+ear+aMIMqLJE//a5UeNOocp+iUuhfxOSwaYk99dHxMrpswlw=;7:3fwYyUUk8UO/0IdY4kNAA1C62dQIXVIepWdf+lI1UmaIkeMKJWlXFDVqLTc65o/2DtBQBRvYVY8giF6BFVMuWxteTUtMYVerD3OHmm2LKSc1T3jdC3KKo3kgTDeNUnklj9+I9kp8X0ziBRXKp/7lOHHKnluG9NLoyW6fqFslUE8qDgh1kKj+iKs02mt0S7qWkOPt22I9bVjAQCucb53htN8sFMMEeRwGY5Zb32TDKSuc5lElLpn8M+C2BQMNlqWp SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ni.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2016 17:15:48.1658 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0401MB1453 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 25, 2016 at 11:56:55AM +0100, Mark Rutland wrote: > On Wed, Aug 24, 2016 at 06:23:03PM -0500, Zach Brown wrote: > > The sdhci controller on xilinx zynq devices will not function unless > > the cd bit is provided. http://www.xilinx.com/support/answers/61064.html > > In cases where it is impossible to provide the cd bit in hardware, > > setting the controller to test mode and then setting inserted to true > > will get the controller to function with out the cd bit. > > > > The device property "fake-cd" will let the arasan driver know it needs > > to fake the cd bit for the controller inorder for the controller to > > Nit: s/inorder/in order/ > > Comments on the actual patch below. > > > function with a SD card that does not provide the CD bit. > > > > Signed-off-by: Zach Brown > > --- > > Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt > > index 3404afa..3b9f406 100644 > > --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt > > +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt > > @@ -21,6 +21,10 @@ Required Properties: > > - interrupts: Interrupt specifier > > - interrupt-parent: Phandle for the interrupt controller that services > > interrupts for this device. > > +Optional Properties: > > +- fake-cd: On Zynq Devices the SDHCI Controller will not work without the cd > > + bit. When this option is set the driver will put the controller in test mode > > + and fake the cd bit so it will function. > > As Lars noted, the DT should describe the HW, and the policy of how to deal > with that should be left to the kernel. So from a DT perspective the above is > not correct. > > If I understand the linked documentation, this is slightly different to typical > uses of broken-cd in that in the absence of a card detect signal the HW will > not be able to access the SD card at all, even if requested to. Is that correct? > > If so, perhaps a better option is to have the combination of broken-cd and the > compatible string for this IP block imply that the test mode workaround is > required. Obviously that requires a fixup to the usual broken-cd binding to > remove the implication that polling alone must be used. > > Thanks, > Mark. In cases where the card is non-removable then polling doesn't make sense. So it doesn't make sense to tie the test mode workaround into the broken-cd property, even though I agree the nature of the defect fits under the notion of the CD being broken.