From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965265AbdCVRsi (ORCPT ); Wed, 22 Mar 2017 13:48:38 -0400 Received: from mail-dm3nam03on0068.outbound.protection.outlook.com ([104.47.41.68]:59904 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935551AbdCVRs0 (ORCPT ); Wed, 22 Mar 2017 13:48:26 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=fail action=none header.from=nxp.com; Message-ID: <1490204881.17057.16.camel@nxp.com> Subject: Re: [RFC 7/8] cpufreq: imx6q: Initialize LDO bypass From: Leonard Crestez To: Lucas Stach CC: Mark Brown , Liam Girdwood , Viresh Kumar , "Rafael J. Wysocki" , Shawn Guo , Sascha Hauer , Mark Rutland , , Anson Huang , Irina Tirdea , , , Rob Herring , "Octavian Purdila" , Fabio Estevam , Robin Gong , Date: Wed, 22 Mar 2017 19:48:01 +0200 In-Reply-To: <1490202585.29056.5.camel@pengutronix.de> References: <75ec3ea8fe812b4cf689e0c130358e81aa7fbd13.1490199005.git.leonard.crestez@nxp.com> <1490202585.29056.5.camel@pengutronix.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131346784958506381;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.158.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(336005)(39400400002)(39450400003)(39850400002)(39380400002)(39840400002)(39860400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(189002)(24454002)(199003)(377424004)(9170700003)(39060400002)(105606002)(77096006)(106466001)(33646002)(5820100001)(5660300001)(8676002)(50466002)(86362001)(76176999)(6246003)(81166006)(110136004)(103116003)(85426001)(23676002)(36756003)(6306002)(54906002)(38730400002)(8936002)(2950100002)(7416002)(53936002)(305945005)(50986999)(230700001)(6916009)(229853002)(356003)(2906002)(47776003)(104016004)(50226002)(8656002)(966004)(189998001)(4326008)(99106002)(32563001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR03MB2262;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;MX:1;A:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD014;1:qlvPTjsCtVOlAxkuPX1FSP4kifKMnkVh5B1eOfBzFGH++Udvm8/9u5vT8k7JjSucivz5lkuaCKuawK8EmDmKCupeH5fPYHTKZOnxOnnOX7IUvN2+gRKdKjvtd2pixUQOxjjRX+zR2lXlzwGDY/EzMeOkYvQWq4Ahz77eUxbgeEu5SC8+D7PhIqWufFmrohr0EGYUf41nBQrF78TCNrBtO9OznslRyFVe0STzGzOFSC1lMFl9miOE+0vTcQyaj9A+zIbJA023Uq8ohYfjyGfTrSNvcY9bYWqj3yNqPqf1p4sNVXX3v+38lI4iJP7jIVkcvZYtgENhpvl6GarzqZHwwmdGkOfmMrXil87kRLMMhLJ7q9KWSHuCJ3BuIR3eRJWG5bu1HhWwHZ1tEi1bsqUJQwSGIfSolBSiJx+gp6biXwEnWZFq35seiupLBibZUkdHASPee/eAXOvp36XccVzDV+CKOApkxjXBPa0ySui5KGwYXN66Z9FhWgrpYHa3qgzUlGy5Vy+cBHICJCJmc8LE6ADEPkqD7uGHPFjOhfm7CLy9bhWtN1zZEfr6giz/CGszTPWHobl/eXliAqXyOEAJ7jpGRpCidg+3TXCgxtAhlpQCPomBW0Z4vIcawaUs0lLz X-MS-Office365-Filtering-Correlation-Id: 529036d8-02d0-48de-042c-08d4714b9e4c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CO2PR03MB2262; X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2262;3:SUoGKVkVxoEKIFKQsSqkFzwrqyY3XtP2JeqFzCJ0R8x5W/6XGe+/NBB+83KJd5HrBHH0v1yi6I2BVGSGcetrkSaI8xQ9I4LstEjf1CdT94lPw0JKT/VmQqpe7i+1E2gZB1C3cbpJmjnH9dCrD4W0Nj1niraaYSclalU2RDoDGl6970pjNIbcrGtlMPWfSX3L4x8kBl1qkexkGHbwSeEk9beVr8YCiakfVAk6D3MxtYKjKniBSLZ9pSpnWj47LA897+bEZr4yMXFVhvQv2N3EcdAAqBA+EQeVwMJycWSmC6qA9TyEt1KxhdG27xfhKYr7cma7L75wJJAoM/1tdp57nUUDERi9uEQZvShEKp9XwvNcuFJEAAS7ZU/a+ubiMpPH;25:/zgEGXuOPpIa49Gdf2YkeQ9aRRU2KZ9vi/UUkK6DRS8FeMtzSR5+5hmT3X03I7VNJVcbxDDYvTPdUAlLb8DqGFA349kkeEUaf49zWu9rRk0Tg01X18IJqZS43IGgX6UlZKQ9b+QptTFFou9xh+5aE2A7Z8QmcfTfuVAg17GQ841dh0MkromKFnvxECLGonlcBoWbwagbjt5Ej7quBofOxcTIi7kr4yXcLoqQTbyilGQ7dOT66Et6g6x0ttxkTLFp0sv/CQ+bSbLRtIS8R0RrArHUXSWCHm+Ftlq/Ai9IilwQ1MvwXkscZv8a4s/fgYTMCDwo5eqvcqdaazoaDNR02ZuwgaNgwYdsM1lD67YjLkoudj2bj1BRYwOxl+zwwzQY+RbXz7q8i4OBOW4qlRMIkV6EMD3d2EPYxY4WqymzzcAo+uFZ6gMWXiEp0QC1AepvJbiWp3tnC6ukz2APos+X/Q== X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2262;31:+j/6iMjMlFlU9mXZvuOsOTSmy05OQT06VJdvVqU0FOtDnALItUvFY11+5+eCQKdrPBjNbwDWAoj5fvWQyYKFWfvD9DwIY8Ck4dFcB0JjLTmVUHy0SIHBpWhO0Ow7j55bf1hqSrQBu4FneXb28puxS0+ViEXJtUJPbIBPFzktNM4RZWELVqNT3n4Soo2Y0GTNsXeRfvzQueNck+h2nFCtQILXSIJsuJeRXl6p+tq4Ff8oSqUdaLYDRUPRqzTd6FkLtrpZ8dvcerOmy7jq9PNk8Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(264314650089876); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13024025)(13017025)(13015025)(13018025)(13023025)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123559025)(20161123556025)(20161123561025)(20161123563025);SRVR:CO2PR03MB2262;BCL:0;PCL:0;RULEID:(400006);SRVR:CO2PR03MB2262; X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2262;4:VoaR8biupHrKQY5jRM9xWYc0R2cWsVg01PRtc/M1SqfTrS/K+MILhhYNO3HRJUiTW9cgHJdSJevSQMyXvSlAkcusKBqTgIH/DyEDmDR4xElGD33if5FWTWla5AE4bn/76EctJvUC1+9NlzPWggEbezqpfqpJhuHMnse6Tv2U6qj2vvcdPwkwOiPz0/UGBG+a9Mu10m/U9m5guYnT5p2QnzS0xK6wZAiWPGl3OvZAKBXzPJ7YP+Ex2JMv3fMQ3CyTOBd0h7Hz2GBqKVKxdf2b4kHEi0dTwVu4EFqvT1EXY6u+FRPmck1TVQMpfcVn7iF9unbJTM6OL6mL5FEsUHjbw/g8OLQpokt9n3fZAx/deznvcvPW6w5xK66H0pb95pPgyZVfRsYiZhBv4BkC/HOgygzTS9I7Uvclop0VJr+cgwMd3oAUEDn+6uV+MJQpbKM5HSqLwC8RvQOVuMP+fpm5OvyqMC1CF8hwYOLn7b6CYhyqzAt7SLNRZYP736Gi9wOEqu3skQ9axZRRGL0l/JaMyeCBGpKGVMa71us6bP3gTJyPUgCKMLZ5l7vE7EsUIuKoByH1M6+xfDjdr9mI6h0ilqE8WBzzFdc2snEw5GQvDidmuhO1K4rAAijMkwnhj3H+t8FZHjuBVRMu/HKqZOQeV77MHNAj0iRF9PRahDQUmSD+3Lv2zaAOhlR4g512owG0OcxZqjcuoul3FyEgkJPhGf4CquiLYpj1DGZGyuWPOe3TvmF3y1IjC96A2RO3ZgeS3uQgqrT8Zzuz7F2uAPJyCg== X-Forefront-PRVS: 02543CD7CD X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDTzJQUjAzTUIyMjYyOzIzOmI4azlYdStXVkxwa1FhOWtNZGk0bUN1RXFW?= =?utf-8?B?elBRWGpyUyt5NXVXZEIwNXhFRVo5Nk9hN2tyYngwNSs5bmJHTFZPZGZ0bjdT?= =?utf-8?B?Tjd0eGFLTHN4VWkzbUNXdHlJNUtZc1k4M3BnQm8rRytrR05La0RYMlg0bWU2?= =?utf-8?B?emdBNVd0d1JuZS9LN0JGUWE1MHEzbjZ0cnlHcWluakhNbmE1QXBLeFpDOUJH?= =?utf-8?B?bGhINHlyMnQ4NThLTko0R0dXQU9QSnZreGpHUVF5b3MvbHpKNk5NSnREMnVu?= =?utf-8?B?SU4rajRmbVdGMitmdDdCRDRnUTk0VlpOYkUvYzZWUTRQN2NCM0lXOVlmZEVI?= =?utf-8?B?cXhkdGEyWWhCRWhtYlRkUWt3WnArcDFwUU5OMklOQkJDa2tQdzBXV0xtaHgx?= =?utf-8?B?MkNGckNBa1hkem9EZUs2ZHg2TXdvM2dKeHNrWThXeHJKTU1ob3JiOHM0RDQx?= =?utf-8?B?SXNVRWt4MzI3TVNpVDNpTDhmZENDa1FMK0lSR21pM2VIWlIvVUROZUlvZW5K?= =?utf-8?B?c2VLYW5aWGgwZDd0RnlGdkF3M1NacUdDWWdVYXVJOElsTkdYcWFRUjRtSklp?= =?utf-8?B?T0UxV3VtOWRHSjdjSUZHb2lsczFvK1NaRU0vNDRoODdFOUlTUldnOWdmZExw?= =?utf-8?B?RE5OWkxZOTFZUHhQaHNkVzI4blp4Q2xwVk1HbUd4OTg1ZmdIVUNicVVaaHpD?= =?utf-8?B?ZmJrWlV2OUt5WHc5bjVtTVg0Rk41T05wSlUrTTVrUkpGTkYwMG13V3dLcFpn?= =?utf-8?B?akZpNElaMi9Ma3FiRWNQd2U5VThyQ0dRM0pnSXo4bjZ6dk01azA0NmplTlBp?= =?utf-8?B?dG1JWGJ4cXFRbTNlMyt5a1dwdExFWnFDM0xsM0FDUk5ha1E5REVxOUxEV1dn?= =?utf-8?B?UzBhcnJPRU84NEVOTkMyc2RqL0xmNU5COUw1Nm5EVG9yd1NnbkhLVEpvZkhD?= =?utf-8?B?UnNTWWQ3Q1ozWlJJaXFadmRsVTdQZTQxUlB5NWxyWUx6cy9UNzd1TjJIdDRV?= =?utf-8?B?djJDNmNMQmZnc1FvUDNRTUxjcEUwQUtBNkdtVmtKeTFicStPZWdHTGxPWG5X?= =?utf-8?B?bVlVT01ZaStncFFSVEFzd0xlTnZ1aXVLOVJLRGhlZGpjNzI4aUFWbHUrZjEr?= =?utf-8?B?WVV0VVNqSWxWUzNZUlZKTFg2R1g1VXZZNXV2TkRsSjZ5NUNObXNXNDZqNmg1?= =?utf-8?B?cnpyOE45aTNFdjF0TkEwZmhJMGVMTm5SZDlIa2lhVVZxRDY1by9XQXdqYkdP?= =?utf-8?B?OTFQNjhBZ1hTbnNvM3dDa1pqRUVkdXBYUW5mTGdFMjhCSXFtS0NBQnQwSmho?= =?utf-8?B?ZFF1eHhzak9aSkgyQzJWQXBTQWlFYzlSUSs0OXN3N2dSTUp2YkpHTFVSVExq?= =?utf-8?B?U1U2bWtNcFpOb2tENitBRkJadTQxc2FZTS9LbnI4LzNLcEM3Q3E0OStPZzZI?= =?utf-8?B?V1JyZGlTV3JmTDhxbmZXQ242bm5Ga3ByZENhQVpNb0lycVVEYXVtWXc4Skkv?= =?utf-8?B?aktNb1JtbkVaYXE2Y1hidFA4MWJ1MHNpaFRqNnFOenFvcWpkd0MwWWd5d1I3?= =?utf-8?B?TUFWQ3hSWUtVdjJoZm8wKytvTWtZWGliZ0dzbUxTNDhnek1DcWNCb01GMnRr?= =?utf-8?B?RXprWDhqQzJKckxJbkhvNXhGZTl5dDR6MnE5TmQ1WXVqMzc2bytMZXoybHQr?= =?utf-8?B?WVBSOGdUdlg2aitzWXJsUEVSdncweThhQkFQZkJKelAzSHRLT0kySkp3eUI4?= =?utf-8?B?MkVtbGZYTStqZ1c2aHM3WTQyUGM3YmhobHlWRWp3WHFqL3Z1cXBKWmhzT0tN?= =?utf-8?B?bFRMd0pISW5FakxPVW9Sb1UwdWtHTC9TWWRyTWVsU1ZFZlI1Y3NSY05XM3pr?= =?utf-8?B?czg4R29XQnRReEtrVkVnOWJFWmlLNnI4d0NHdnRVbkVUdnI3elVSc05GaW93?= =?utf-8?B?WUdsdWhacjRVT3VXQ2FmRkcybE56U2pIcW9KTHB3T25HVXgzSWFBM3dpUVhi?= =?utf-8?B?Yk03enZRWUg1VmRXUnd5bThtQVlKVHlKTGxZWlYzYVE1b0RnMlNGZUtSRUww?= =?utf-8?Q?dfrCL2ubbLH5QtKvOJfqLgJVL?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2262;6:TaTL+zIp20LaxxVVPlih8oTZOJumMyO5dZfjrFa3pomnpvhMyDP2SYoPGzJHh2E/ERL00Aq3o4aZsZuJwrX420UhWWB9R1s2l2tLHFxrw8iioztpxIdla93k8Q/lpBmll+5MGAAO2jVg2kjK787nTGFsvGoDRHrGEiZGyyDsUwAvPwtfq44luJCOBS/vKGPnYx6PBHXlbIvO+eq2Zqqadg4R4PlaSkhRtSfGhGPik0dJzrrWtqJjpDI0c955I174WcBrKbr6dZz5wcCKjoANniYoCumEBPJShNX7xkojoL+eZCwCuSUx9r4kkHaqWkz8Uuf7NjneYzk25zHV3VYADkqhvBevkVnEnhXbXVRC+gMBKUs0AKgflvsdF8SqMB8YMbn6EeRaxkQ2VGQ0AIDl4sdoPMJKF+ccYgphUYxwn58=;5:nxgV4bfpDRwd+5PtUAl9A+ALqnIpJPbWc8N7IxtA89CjcrDdGaEqb/u87tplA0fXPHGlkekcYA9Lj4UvB6tB8dFs2r2rf5wTBjFDZJGw53KkVZcVLHUddvLf/xpUQhnkvb7Qjh7+i+twrnHIuvApbFK73aXZS96ktYNEbTHIcFr/mDa03hn9TBN25szjeRUV;24:K9AhI6+jawaUyUvCFiao0+RTsPRx2pq7BZSMY4sDe68u2XYqXfkXlKccWIhDXjcQ2zD8CBoPrF8+mrEb4cpbpHQtuWLtkCKDV/J+Pf4FdJ0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2262;7:LMlsAXTXa2T6YBnQIbGXsUVy4g2O1xfqjY70YxfXFlc+dKxxXtr7o9wjXFpof7xC7XcHX4JmePXVuUDRpl09wVzoxGz1LrjiIetSLSQAaZzdhxl3dU1E2MZWVmHAoGJim14zPDjGuCNbdfbhVKdW8DHaIgcboXu8H2Px2y5akZ7Rp2o/IjCa+FFCIWUf6i6TA/TZgOdww+mctB7nzacHtdaazcbU4LPwZmuqXHc72phMIlAkAmIFJXQKAYM2Ykhbfk5cVCyj72pR+cgFvZpgSB0D6oxTfO6I6dSq9WPoBWEC0GKZ92SV0kg//fgWDkQNbS9QAFl8+vuKMy933S3NmQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2017 17:48:15.4294 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR03MB2262 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-03-22 at 18:09 +0100, Lucas Stach wrote: > Am Mittwoch, den 22.03.2017, 18:53 +0200 schrieb Leonard Crestez: > > > > Several imx6* socs have three built-in regulators LDO_ARM LDO_SOC and > > LDO_PU used to control internal chip voltages. "ldo-bypass" mode refers > > to placing these regulators in bypass mode and controlling voltages from > > an external power management chip instead. This is intended to save > > power at the expense of an extra PMIC on the board. > > > > The voltages for these regulators are controlled from the imxq6 cpufreq > > driver so it makes sense to also control LDO bypass from here. The gpc > > driver also fetches a reference to LDO_PU and uses it to gate power to > > graphics blocks. > > > > The LDO regulator has a minimum dropout voltage of 125mv so enabling > > bypass mode will raise the effective voltage by that amount. We need set > > the minimum frequency first to avoid overvolting when enabling LDO > > bypass. > > > > The binding is an u32 fsl,ldo-bypass in the gpc node because that's how > > it was defined in the freescale vendor tree for a long time and > > compatibility is desirable. Otherwise it would be a bool. > > > > Some versions of u-boot shipped by freescale check this same property > > and set regulators in bypass mode before linux actually starts so we > > check for that scenario as well and finish early. > I've not looked at the patch at all, but this feels like the wrong > location to implement this. Using bypass mode or not should really be a > internal decision of the regulator driver, influenced by a DT property > to allow bypass mode. > > The regulator driver can also implement the correct sequencing of first > lowering external voltage to min + dropout, then going into bypass mode, > then lower the external voltage by the amount of the dropout. I don't > see why we need a frequency switch for this at all. Because minimum voltages are dictated by core frequency. At high frequency the (minimum voltage for frequency + dropout) is too high and would go beyond the maximum of 1300 mv when bypass is enabled. It doesn't actually instantly break, this is based on the "operating ranges" from this document: http://www.nxp.com/assets/documents/data/en/data-sheets/IMX6DQCEC.pdf > Implementing this in the consumers seems like the wrong spot. It doesn't belong in drivers for individual regulators either, it's a piece of board-level global configuration. -- Regards, Leonard