On 30 September 2015 at 16:07, Heiko Stuebner <heiko at sntech.de> wrote: > This series resurrects and adapts some individual patches whose sum > enable the dw_mmc hosts on Rockchip socs to tune clock phases using > the generic phase api (rk3288 and following have this capability). > > The changes to the original mmc-phase clocks are expanded by further > findings resulting from devices being used in the field. > > Similarly the regulator handling changes do use the brand new > regulator_set_voltage_triplet call to allow specifying lower and upper > limits. One possible point of discussion are the two voltage ranges > that are tried for the 3.3V signal level. Trying to stay near vmmc > at first and only then opening the range to the full 2.7-3.6V. > > This mainly circumvents a shortcoming of the regulator voltage > setting, in that even with regulator_set_voltage_triplet the regulator > framework will take the lowest possible voltage when the possible > voltages are below the target voltage. While it may be ideal to solve > this on the regulator side, I'm not seeing this appearing in the short > term, mainly because all regulator parts (including regulator drivers) > are keyed to selecting the lowest voltage from the range, while on the > mmc side we know which voltages may work and trying this in two steps > does not create to much overhead, as unsupported voltages are already > filtered out by the regulator_is_voltage_selected calls. > > changes since v1: > - address comment from Jaehoon Chung and keep this local to Rockchip > for the time being > - address comments from Ulf and Doug in making it more explicit > that the two-step 3.3V voltage setting essentially works around > a limitation of regulator_set_voltage_triplet > > Alexandru M Stan (3): > mmc: dw_mmc-rockchip: dt-binding: Add tuning related things > mmc: dw_mmc: Generic MMC tuning with the clock phase framework > ARM: dts: rockchip: Add drive/sample clocks for rk3288 dw_mmc devices > > Douglas Anderson (4): > clk: rockchip: Allow more precision for some mmc clock phases > clk: rockchip: Make calculations use rounding > mmc: core: Add mmc_regulator_set_vqmmc() > mmc: dw_mmc: Use mmc_regulator_set_vqmmc in > start_signal_voltage_switch > > Heiko Stuebner (1): > ARM: dts: rockchip: add tuning related settings to veyron devices > > .../devicetree/bindings/mmc/rockchip-dw-mshc.txt | 13 ++ > arch/arm/boot/dts/rk3288-veyron-sdmmc.dtsi | 7 +- > arch/arm/boot/dts/rk3288-veyron.dtsi | 6 + > arch/arm/boot/dts/rk3288.dtsi | 20 ++- > drivers/clk/rockchip/clk-mmc-phase.c | 54 ++++--- > drivers/mmc/core/core.c | 74 ++++++++++ > drivers/mmc/host/dw_mmc-rockchip.c | 162 +++++++++++++++++++++ > drivers/mmc/host/dw_mmc.c | 17 +-- > include/linux/mmc/host.h | 7 + > 9 files changed, 321 insertions(+), 39 deletions(-) > > -- > 2.5.1 > Thanks, applied for next! Kind regards Uffe