> Subject: [PATCH] hw/misc/aspeed_scu: Set both AST2600 protection key
> registers on reset
> 
> Currently, booting Linux on the ast2600-evb machine via -kernel results in a 
> lot
> of warnings about failing to apply pinmux configuration when binding drivers:
> 
>     [    7.339307][    T1] Creating 5 MTD partitions on "bmc":
>     [    7.340402][    T1] 0x000000000000-0x0000000e0000 : "u-boot"
>     [    7.513755][    T1] 0x0000000e0000-0x000000100000 :
> "u-boot-env"
>     [    7.664219][    T1] 0x000000100000-0x000000a00000 : "kernel"
>     [    7.826974][    T1] 0x000000a00000-0x000002a00000 : "rofs"
>     [    8.026666][    T1] 0x000002a00000-0x000004000000 : "rwfs"
>     [    8.201612][    T1] spi-aspeed-smc 1e630000.spi: error -EPERM:
> Error applying setting, reverse things back
>     [    8.370835][    T1] spi-aspeed-smc 1e630000.spi: Calibration area
> too uniform, using low speed
>     [    8.371131][    T1] spi-aspeed-smc 1e630000.spi: Force to dts
> configuration 100000kHz.
>     [    8.371500][    T1] spi-aspeed-smc 1e630000.spi: CE0 read
> buswidth:4 [0x406c0741]
>     [    8.766797][    T1] mdio-aspeed 1e650000.mdio: error -EPERM:
> Error applying setting, reverse things back
>     [    8.906008][    T1] mdio-aspeed 1e650008.mdio: error -EPERM:
> Error applying setting, reverse things back
>     [    9.039240][    T1] mdio-aspeed 1e650010.mdio: error -EPERM:
> Error applying setting, reverse things back
>     [    9.147942][    T1] mdio-aspeed 1e650018.mdio: error -EPERM:
> Error applying setting, reverse things back
> 
> The pinmux configuration fails because the SCU is not unlocked.
> 
> Set both SCU protection keys for the AST2600. Further, set them such that they
> behave accordance with the read value documented by the datasheet. The new
> arrangement now upholds the comment in hw/arm/aspeed.c regarding passing
> -kernel on the qemu command-line.
> 
>     [    7.568170][    T1] Creating 5 MTD partitions on "bmc":
>     [    7.569330][    T1] 0x000000000000-0x0000000e0000 : "u-boot"
>     [    7.740372][    T1] 0x0000000e0000-0x000000100000 :
> "u-boot-env"
>     [    7.883570][    T1] 0x000000100000-0x000000a00000 : "kernel"
>     [    8.041004][    T1] 0x000000a00000-0x000002a00000 : "rofs"
>     [    8.196824][    T1] 0x000002a00000-0x000004000000 : "rwfs"
>     [    8.547037][    T1] spi-aspeed-smc 1e630000.spi: Calibration area
> too uniform, using low speed
>     [    8.547320][    T1] spi-aspeed-smc 1e630000.spi: Force to dts
> configuration 100000kHz.
>     [    8.547642][    T1] spi-aspeed-smc 1e630000.spi: CE0 read
> buswidth:4 [0x406c0741]
>     [    9.494235][    T1] ftgmac100 1e660000.ethernet: Read MAC
> address 52:54:00:12:34:56 from chip
>     [    9.531186][    T1] RTL8211E Gigabit Ethernet 1e650000.mdio-1:00:
> attached PHY driver (mii_bus:phy_addr=1e650000.mdio-1:00,
> 
> Fixes: e09cf36321f6 ("hw: aspeed_scu: Add AST2600 support")
> Signed-off-by: Andrew Jeffery <[email protected]>
> ---
> I ran into this issue while improving test coverage in my patch review 
> process.
> ---
>  hw/misc/aspeed_scu.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c index
> ca93c3699d81..1e3db6d03f91 100644
> --- a/hw/misc/aspeed_scu.c
> +++ b/hw/misc/aspeed_scu.c
> @@ -821,7 +821,8 @@ static void aspeed_ast2600_scu_reset_hold(Object
> *obj, ResetType type)
>      s->regs[AST2600_SILICON_REV2] = s->silicon_rev;
>      s->regs[AST2600_HW_STRAP1] = s->hw_strap1;
>      s->regs[AST2600_HW_STRAP2] = s->hw_strap2;
> -    s->regs[PROT_KEY] = s->hw_prot_key;
> +    s->regs[AST2600_PROT_KEY] = s->hw_prot_key ==
> ASPEED_SCU_PROT_KEY;
> +    s->regs[AST2600_PROT_KEY2] = s->hw_prot_key ==
> ASPEED_SCU_PROT_KEY;
>  }
> 
>  static void aspeed_2600_scu_class_init(ObjectClass *klass, const void *data)
> 
> ---
> base-commit: 9696bf5dc5a5bf0b4a9d05b6cdfe5f13990f97aa
> change-id: 20260818-dev-ast2600-hw-prot-key-reset-e68eb9f49ee9
> 
> Best regards,
> --
> Andrew Jeffery <[email protected]>

Reviewed-by: Jamin Lin <[email protected]>

Thanks,
Jamin

Reply via email to