diff options
author | Furquan Shaikh <furquan@google.com> | 2014-09-05 14:29:24 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-03-27 08:04:41 +0100 |
commit | 8fdcf3287cf3bc3391f1a853857b16fc208b3340 (patch) | |
tree | 0e8a49c36ef15866b45d52304e91149d6780ec4e /src/soc/nvidia/tegra132/funitcfg.c | |
parent | c913a9c076ce91cda20a59d199c8286a6dded0d0 (diff) | |
download | coreboot-8fdcf3287cf3bc3391f1a853857b16fc208b3340.tar.xz |
tegra132: Fix clock apis
Instead of directly using the clk_src_id based on enum for clock source, every
device needs to have its own set of clk source ids defined. This prevents
accidentally selecting a wrong clk source if the ids are different from host1x's.
Also, clk_src_id is separated from clk_src_freq_id. clk_src_id is the clk src id
represented in CLK_SOURCE_<dev> registers, whereas clk_src_freq_id is used for
handling the common clock sources based on id to get the proper frequency in
software.
[pg: integrated a later commit to fix the build]
BUG=chrome-os-partner:31821
BRANCH=None
TEST=Compiles successfully and boots to kernel prompt
Change-Id: I5d40fb49b81e8838b2be071d32c466213215e0d6
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 27d5d6a34d1c826c6095c18368efb78c228d4ca8
Original-Change-Id: I5c88bed62841ebd81665cf8ffd82b0d88255f927
Original-Signed-off-by: Furquan Shaikh <furquan@google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/216761
Original-Tested-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 13c30c50a9e8a7f3c48673a2f6c144ba546129b6
Original-Change-Id: I6659858c24e925aec9495bf64344c0000ad19b4c
Original-Signed-off-by: Tom Warren <twarren@nvidia.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/217342
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9033
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/soc/nvidia/tegra132/funitcfg.c')
-rw-r--r-- | src/soc/nvidia/tegra132/funitcfg.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/soc/nvidia/tegra132/funitcfg.c b/src/soc/nvidia/tegra132/funitcfg.c index 205e3762b4..41bbc4ad8a 100644 --- a/src/soc/nvidia/tegra132/funitcfg.c +++ b/src/soc/nvidia/tegra132/funitcfg.c @@ -98,11 +98,11 @@ static const struct funit_cfg_data funit_data[] = { _Static_assert(ARRAY_SIZE(funit_data) == FUNIT_INDEX_MAX, "funit_cfg_data array not filled out!"); -static inline uint32_t get_clk_src_freq(uint32_t clk_src) +static inline uint32_t get_clk_src_freq(uint32_t clk_src_freq_id) { uint32_t freq = 0; - switch(clk_src) { + switch (clk_src_freq_id) { case CLK_M: freq = TEGRA_CLK_M_KHZ; break; @@ -111,7 +111,7 @@ static inline uint32_t get_clk_src_freq(uint32_t clk_src) break; default: printk(BIOS_SPEW, "%s ERROR: Unknown clk_src %d\n", - __func__,clk_src); + __func__, clk_src_freq_id); } return freq; @@ -125,7 +125,7 @@ static void configure_clock(const struct funit_cfg * const entry, uint32_t clk_div_mask; uint32_t clk_src_freq; - clk_src_freq = get_clk_src_freq(entry->clk_src_id); + clk_src_freq = get_clk_src_freq(entry->clk_src_freq_id); if (strncmp(funit->name, funit_i2c, strlen(funit_i2c)) == 0) { /* I2C funit */ |