From 62b7f5931c54e96fca56dd8761b0e466d355c881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 18 Feb 2021 18:04:33 +0100 Subject: bcm27xx: import latest patches from the RPi foundation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas (cherry-picked from commit f07e572f64) --- ...-bcm-rpi-Use-clk_hw_register-for-pllb_arm.patch | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.4/950-0512-clk-bcm-rpi-Use-clk_hw_register-for-pllb_arm.patch (limited to 'target/linux/bcm27xx/patches-5.4/950-0512-clk-bcm-rpi-Use-clk_hw_register-for-pllb_arm.patch') diff --git a/target/linux/bcm27xx/patches-5.4/950-0512-clk-bcm-rpi-Use-clk_hw_register-for-pllb_arm.patch b/target/linux/bcm27xx/patches-5.4/950-0512-clk-bcm-rpi-Use-clk_hw_register-for-pllb_arm.patch new file mode 100644 index 0000000000..55f86ae340 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0512-clk-bcm-rpi-Use-clk_hw_register-for-pllb_arm.patch @@ -0,0 +1,56 @@ +From 3a4163613b7f6e628e7b5a0d3a546523d1d03bb7 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Fri, 7 Feb 2020 15:40:00 +0100 +Subject: [PATCH] clk: bcm: rpi: Use clk_hw_register for pllb_arm + +The pllb_arm clock is defined as a fixed factor clock with the pllb clock +as a parent. However, all its configuration is entirely static, and thus we +don't really need to call clk_hw_register_fixed_factor() but can simply call +clk_hw_register() with a static clk_fixed_factor structure. + +Cc: Michael Turquette +Cc: linux-clk@vger.kernel.org +Acked-by: Nicolas Saenz Julienne +Reviewed-by: Stephen Boyd +Signed-off-by: Maxime Ripard +--- + drivers/clk/bcm/clk-raspberrypi.c | 24 ++++++++++++++++++------ + 1 file changed, 18 insertions(+), 6 deletions(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -225,16 +225,28 @@ static int raspberrypi_register_pllb(str + return devm_clk_hw_register(rpi->dev, &rpi->pllb); + } + ++static struct clk_fixed_factor raspberrypi_clk_pllb_arm = { ++ .mult = 1, ++ .div = 2, ++ .hw.init = &(struct clk_init_data) { ++ .name = "pllb_arm", ++ .parent_names = (const char *[]){ "pllb" }, ++ .num_parents = 1, ++ .ops = &clk_fixed_factor_ops, ++ .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE, ++ }, ++}; ++ + static int raspberrypi_register_pllb_arm(struct raspberrypi_clk *rpi) + { +- rpi->pllb_arm = clk_hw_register_fixed_factor(rpi->dev, +- "pllb_arm", "pllb", +- CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE, +- 1, 2); +- if (IS_ERR(rpi->pllb_arm)) { ++ int ret; ++ ++ ret = clk_hw_register(rpi->dev, &raspberrypi_clk_pllb_arm.hw); ++ if (ret) { + dev_err(rpi->dev, "Failed to initialize pllb_arm\n"); +- return PTR_ERR(rpi->pllb_arm); ++ return ret; + } ++ rpi->pllb_arm = &raspberrypi_clk_pllb_arm.hw; + + rpi->pllb_arm_lookup = clkdev_hw_create(rpi->pllb_arm, NULL, "cpu0"); + if (!rpi->pllb_arm_lookup) { -- cgit v1.2.3