summaryrefslogtreecommitdiffstats
path: root/block/blk-lib.c
diff options
context:
space:
mode:
authorH. Nikolaus Schaller <hns@goldelico.com>2019-09-11 19:47:07 +0200
committerViresh Kumar <viresh.kumar@linaro.org>2019-10-10 16:11:50 +0530
commitb4bc9f9e27edd8de76d44675c8f0c6c2ccb6b22c (patch)
tree2aaa82d92c1ba008ac398b4f282fb033afeea20b /block/blk-lib.c
parent54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c (diff)
downloadlinux-b4bc9f9e27edd8de76d44675c8f0c6c2ccb6b22c.tar.gz
linux-b4bc9f9e27edd8de76d44675c8f0c6c2ccb6b22c.tar.bz2
linux-b4bc9f9e27edd8de76d44675c8f0c6c2ccb6b22c.zip
cpufreq: ti-cpufreq: add support for omap34xx and omap36xx
This adds code and tables to read the silicon revision and eFuse (speed binned / 720 MHz grade) bits for selecting opp-v2 table entries. Since these bits are not always part of the syscon register range (like for am33xx, am43, dra7), we add code to directly read the register values using ioremap() if syscon access fails. The format of the opp-supported-hw entries is that it has two 32 bit bitfields. E.g.: opp-supported-hw = <0xffffffff 3> The first value is matched against the bit position of the silicon revision which is (see TRM) omap34xx: BIT(0) ES1.0 BIT(1) ES2.0 BIT(2) ES2.1 BIT(3) ES3.0 BIT(4) ES3.1 BIT(7) ES3.1.2 omap36xx: BIT(0) ES1.0 BIT(1) ES1.1 BIT(2) ES1.2 The second value is matched against the speed grade eFuse: BIT(0) no high speed OPP BIT(1) high speed OPP This means for the example above that it is always enabled while e.g. opp-supported-hw = <0x1 2> enables the OPP only for ES1.0 BIT(0) and if the high speed eFuse is set BIT(1). Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> Reviewed-by: Tony Lindgren <tony@atomide.com> Tested-by: Adam Ford <aford173@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'block/blk-lib.c')
0 files changed, 0 insertions, 0 deletions