|
From: | Cédric Le Goater |
Subject: | Re: [PATCH v1 1/1] hw: aspeed_scu: Add AST2600 hpll calculation function |
Date: | Tue, 15 Mar 2022 07:29:20 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 |
Hello Steven, [ ... ]
I was wondering if the following implementation is good to you. 1 Modify aspeed_scu_get_apb_freq() as below uint32_t aspeed_scu_get_apb_freq(AspeedSCUState *s) { return ASPEED_SCU_GET_CLASS(s)->get_apb(s); } 2. Introduce 2 APB class handlers: aspeed_2400_scu_get_apb_freq() and aspeed_2600_scu_get_apb_freq() 3. Add new attribute get_apb in AspeedSCUClass. 4. In aspeed_2400_scu_class_init() and aspeed_2500_scu_class_init() asc->get_apb = aspeed_2400_scu_get_apb_freq; In aspeed_2600_scu_class_init() asc->get_apb = aspeed_2600_scu_get_apb_freq;
yes. that's the idea. [ ... ]
static uint32_t aspeed_scu_get_clkin(AspeedSCUState *s) { - if (s->hw_strap1 & SCU_HW_STRAP_CLK_25M_IN) { + AspeedSCUClass *asc = ASPEED_SCU_GET_CLASS(s); + + if (s->hw_strap1 & SCU_HW_STRAP_CLK_25M_IN || + asc->calc_hpll == aspeed_2600_scu_calc_hpll) {Indeed, the AST2600 CLKIN is always 25Mhz. Instead of testing ->calc_hpll, I would introduce a class attribute, something like 'bool is_25Mhz'. This change should be in a second patch though.will add a new attribute for clkin in the second patch.
yes. 'clkin_25Mhz' may be. Thanks, C.
[Prev in Thread] | Current Thread | [Next in Thread] |