lkml.org 
[lkml]   [2023]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 4/5] clk: qcom: camcc-sc8280xp: Add sc8280xp CAMCC
From


On 9/30/23 15:41, Bryan O'Donoghue wrote:
> Add the sc8280xp CAMCC driver which follows the sdm845 CAMCC lineage
> with additional CCI and IFE blocks and more granular clock parentage.
>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
[...]

> +static struct clk_branch camcc_gdsc_clk = {
> + .halt_reg = 0xc1e4,
> + .halt_check = BRANCH_HALT,
> + .clkr = {
> + .enable_reg = 0xc1e4,
> + .enable_mask = BIT(0),
> + .hw.init = &(struct clk_init_data){
> + .name = "camcc_gdsc_clk",
> + .parent_hws = (const struct clk_hw*[]){
> + &camcc_xo_clk_src.clkr.hw,
> + },
> + .num_parents = 1,
> + .flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT,
"meh"

Is this clock only necessary for the GDSC to turn on?

I wanted to say "just chuck it into gdsc.cxcs", but upon actually
reading the code, I realized that just doing so doesn't event turn the
referenced clocks on.. That's.. a realization.. I think I'll be able to
solve a couple bugs with this knowledge..



[...]

> + ret = qcom_cc_really_probe(pdev, &camcc_sc8280xp_desc, regmap);
This conflicts with [1]

> + if (ret)
> + goto err_put_rpm;

[...]

> +
> +static int __init camcc_sc8280xp_init(void)
> +{
> + return platform_driver_register(&camcc_sc8280xp_driver);
> +}
> +subsys_initcall(camcc_sc8280xp_init);
module_platform_driver, please

Konrad

[1]
https://lore.kernel.org/linux-arm-msm/20230923112105.18102-4-quic_luoj@quicinc.com/

\
 
 \ /
  Last update: 2023-09-30 18:39    [W:0.068 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site