Skip to content

Commit be1559f

Browse files
mripardbebarino
authored andcommitted
clk: bcm: rpi: Add an enum for the firmware clocks
While the firmware allows us to discover the available clocks, we need to discriminate those clocks to only register the ones meaningful to Linux. The firmware also doesn't provide a clock name, so having a list of the ID will help us to give clocks a proper name later on. Acked-by: Nicolas Saenz Julienne <[email protected]> Tested-by: Nicolas Saenz Julienne <[email protected]> Signed-off-by: Maxime Ripard <[email protected]> Link: https://lore.kernel.org/r/4738f77ee7de9b48a3bb1c558ead958d0cc064d9.1592210452.git-series.maxime@cerno.tech Signed-off-by: Stephen Boyd <[email protected]>
1 parent d4b4f1b commit be1559f

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

drivers/clk/bcm/clk-raspberrypi.c

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,23 @@
1818

1919
#include <soc/bcm2835/raspberrypi-firmware.h>
2020

21-
#define RPI_FIRMWARE_ARM_CLK_ID 0x00000003
21+
enum rpi_firmware_clk_id {
22+
RPI_FIRMWARE_EMMC_CLK_ID = 1,
23+
RPI_FIRMWARE_UART_CLK_ID,
24+
RPI_FIRMWARE_ARM_CLK_ID,
25+
RPI_FIRMWARE_CORE_CLK_ID,
26+
RPI_FIRMWARE_V3D_CLK_ID,
27+
RPI_FIRMWARE_H264_CLK_ID,
28+
RPI_FIRMWARE_ISP_CLK_ID,
29+
RPI_FIRMWARE_SDRAM_CLK_ID,
30+
RPI_FIRMWARE_PIXEL_CLK_ID,
31+
RPI_FIRMWARE_PWM_CLK_ID,
32+
RPI_FIRMWARE_HEVC_CLK_ID,
33+
RPI_FIRMWARE_EMMC2_CLK_ID,
34+
RPI_FIRMWARE_M2MC_CLK_ID,
35+
RPI_FIRMWARE_PIXEL_BVB_CLK_ID,
36+
RPI_FIRMWARE_NUM_CLK_ID,
37+
};
2238

2339
#define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0)
2440
#define RPI_FIRMWARE_STATE_WAIT_BIT BIT(1)
@@ -31,8 +47,6 @@
3147

3248
#define A2W_PLL_FRAC_BITS 20
3349

34-
#define NUM_FW_CLKS 16
35-
3650
struct raspberrypi_clk {
3751
struct device *dev;
3852
struct rpi_firmware *firmware;
@@ -320,7 +334,8 @@ static int raspberrypi_clk_probe(struct platform_device *pdev)
320334
rpi->firmware = firmware;
321335
platform_set_drvdata(pdev, rpi);
322336

323-
clk_data = devm_kzalloc(dev, struct_size(clk_data, hws, NUM_FW_CLKS),
337+
clk_data = devm_kzalloc(dev, struct_size(clk_data, hws,
338+
RPI_FIRMWARE_NUM_CLK_ID),
324339
GFP_KERNEL);
325340
if (!clk_data)
326341
return -ENOMEM;

0 commit comments

Comments
 (0)