Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934816Ab3DONE3 (ORCPT ); Mon, 15 Apr 2013 09:04:29 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:44972 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751054Ab3DONE2 (ORCPT ); Mon, 15 Apr 2013 09:04:28 -0400 From: Grygorii Strashko To: Liam Girdwood , Mark Brown CC: Grygorii Strashko , open list , Mike Turquette , Tero Kristo , Nishanth Menon , linux-omap , linux-arm Subject: [RFC v1 0/1] introduce regulator chain locking scheme Date: Mon, 15 Apr 2013 16:03:34 +0300 Message-ID: <1366031015-17073-1-git-send-email-grygorii.strashko@ti.com> X-Mailer: git-send-email 1.7.9.5 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: 3386 Lines: 90 Hi Mark, Liam, All Our target is to reuse common DVFS framework proposed by Mike Turquette in http://lwn.net/Articles/540422/ and cpufreq-cpu0.c for all TI SoC and minimize creation of any TI specific APIs or modules. The common DVFS framework solution is based on assumption that Regulator, connected to DVFS FW or CPU0 CPUFreq, is able to change requested voltage for the corresponding Voltage domain (like CPU/MPU) by itself. But most of TI SoCs, which support DVFS, have more complex voltage supply schema as shown below: |------------| |------------| --| RegulatorY |--| CPU DVFS | |------------| |------------| \ \ \ \_____________________________ \ \ |-------------------| |---------------| |---------| --| RegulatorX (PMIC) |--| Regulator AVS |--| ABB LDO |-- |-------------------| |---------------| |---------| /|\ | |______________________| Voltage adjustment and they need to configure, at least, internal ABB LDO befor/after reconfiguring external voltage supplier in PMIC. (as maximum - Regulator AVS (Adaptive voltage scaling) is needed to be reconfigured after ABB LDO, and Regulator AVS may, finally, reconfigure external voltage supplier with voltage value which is different from initially requested by DVFS). for example (Vcurset_voltage(Vreq) - ABB: if (Vcurset_voltage(Vreq) - AVS: PMIC->set_voltage(Vreq1) - ABB: if (Vcur Cc: Tero Kristo Cc: Nishanth Menon Cc: linux-omap Cc: linux-arm -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/