Having a template file with replacement macros is a bit cleaner than
encoding the setup of the file in `meson.build` and piping that through
`echo` with caputred variables.
Unfortunately there appears to be no support for repetition, to e.g.
expand a list of platform names into the various uses (array with comma-
separation, or individual `extern struct` declarations, forcing us to
have some form of string expansion within `meson.build`).
Fix the following error:
../debugcc.c: In function 'mmap_mux':
../debugcc.c:295:40: error: format '%zx' expects argument of type 'size_t', but argument 2 has type 'long unsigned int' [-Werror=format=]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Switch to meson as a build system. Define a list of supported platforms
and use it to generate platforms list and the symlink targets.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Hook MCCC up on SM6375 where it was validated and intentionally overreserve
the MCCC memory, as mmap expects we reserve at least one ALIGNED page
(which means we're aligned to 4K (0x1000) or whatever our pagesize is AND
that we have to reserve too much and stray from user error when adding
offsets to not try and read memory outside the actual MCCC region).
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
SM6115 and its other bengal friends have 5 debug muxes, one of which
(memory controller) is out of scope here, as it's not defined in dt.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Provide a way to skip programming enable/mux registers (as we do for
div_reg) if the corresponding mask is zero.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
MCCC (memory clock controller) uses non-standard measuring process (just
read the rate and return). Provide a way to override default
measurement proces with the leaf cc hook.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Split measurement function into clock rate calculation
(measure_default()) and the wrapper that prepares muxes and then
disables them. This fixes the issue that muxes will not be disabled for
the clocks that are not turned off (because measure function will return
early for disabled clocks).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>