bcm27xx: import latest patches from the RPi foundation
[openwrt/staging/ynezz.git] / target / linux / bcm27xx / patches-5.4 / 950-0780-clk-bcm-rpi-Give-firmware-clocks-a-name.patch
1 From 5f69f49a942cd31e5f8b511e166fb55e3a0df267 Mon Sep 17 00:00:00 2001
2 From: Maxime Ripard <maxime@cerno.tech>
3 Date: Tue, 26 May 2020 14:30:31 +0200
4 Subject: [PATCH] clk: bcm: rpi: Give firmware clocks a name
5
6 We've registered the firmware clocks using their ID as name, but it's much
7 more convenient to register them using their proper name. Since the
8 firmware doesn't provide it, we have to duplicate it.
9
10 Acked-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
11 Signed-off-by: Maxime Ripard <maxime@cerno.tech>
12 ---
13 drivers/clk/bcm/clk-raspberrypi.c | 21 ++++++++++++++++++++-
14 1 file changed, 20 insertions(+), 1 deletion(-)
15
16 --- a/drivers/clk/bcm/clk-raspberrypi.c
17 +++ b/drivers/clk/bcm/clk-raspberrypi.c
18 @@ -36,6 +36,23 @@ enum rpi_firmware_clk_id {
19 RPI_FIRMWARE_NUM_CLK_ID,
20 };
21
22 +static char *rpi_firmware_clk_names[] = {
23 + [RPI_FIRMWARE_EMMC_CLK_ID] = "emmc",
24 + [RPI_FIRMWARE_UART_CLK_ID] = "uart",
25 + [RPI_FIRMWARE_ARM_CLK_ID] = "arm",
26 + [RPI_FIRMWARE_CORE_CLK_ID] = "core",
27 + [RPI_FIRMWARE_V3D_CLK_ID] = "v3d",
28 + [RPI_FIRMWARE_H264_CLK_ID] = "h264",
29 + [RPI_FIRMWARE_ISP_CLK_ID] = "isp",
30 + [RPI_FIRMWARE_SDRAM_CLK_ID] = "sdram",
31 + [RPI_FIRMWARE_PIXEL_CLK_ID] = "pixel",
32 + [RPI_FIRMWARE_PWM_CLK_ID] = "pwm",
33 + [RPI_FIRMWARE_HEVC_CLK_ID] = "hevc",
34 + [RPI_FIRMWARE_EMMC2_CLK_ID] = "emmc2",
35 + [RPI_FIRMWARE_M2MC_CLK_ID] = "m2mc",
36 + [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb",
37 +};
38 +
39 #define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0)
40 #define RPI_FIRMWARE_STATE_WAIT_BIT BIT(1)
41
42 @@ -340,7 +357,9 @@ static struct clk_hw *raspberrypi_clk_re
43 data->rpi = rpi;
44 data->id = id;
45
46 - init.name = devm_kasprintf(rpi->dev, GFP_KERNEL, "fw-clk-%u", id);
47 + init.name = devm_kasprintf(rpi->dev, GFP_KERNEL,
48 + "fw-clk-%s",
49 + rpi_firmware_clk_names[id]);
50 init.ops = &raspberrypi_firmware_clk_ops;
51 init.flags = CLK_GET_RATE_NOCACHE;
52