Skip to content

Commit e72705f

Browse files
committed
clk: Move vec clock to clk-raspberrypi
clk-2835 is deprecated and gets an innacurate clock for vec (107.143MHz). Switch to clk-raspberrypi which uses the right PLL to get an accurate 108MHz Signed-off-by: Dom Cobley <[email protected]>
1 parent c9e91cf commit e72705f

File tree

4 files changed

+5
-17
lines changed

4 files changed

+5
-17
lines changed

arch/arm/boot/dts/bcm2711.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@
303303
vec: vec@7ec13000 {
304304
compatible = "brcm,bcm2711-vec";
305305
reg = <0x7ec13000 0x1000>;
306-
clocks = <&clocks BCM2835_CLOCK_VEC>;
306+
clocks = <&firmware_clocks 15>;
307307
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
308308
status = "disabled";
309309
};

arch/arm/boot/dts/bcm2835-common.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
vec: vec@7e806000 {
110110
compatible = "brcm,bcm2835-vec";
111111
reg = <0x7e806000 0x1000>;
112-
clocks = <&clocks BCM2835_CLOCK_VEC>;
112+
clocks = <&firmware_clocks 15>;
113113
interrupts = <2 27>;
114114
status = "disabled";
115115
};

drivers/clk/bcm/clk-bcm2835.c

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2214,21 +2214,6 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
22142214
.frac_bits = 12,
22152215
.tcnt_mux = 28),
22162216

2217-
/* TV encoder clock. Only operating frequency is 108Mhz. */
2218-
[BCM2835_CLOCK_VEC] = REGISTER_PER_CLK(
2219-
SOC_ALL,
2220-
.name = "vec",
2221-
.ctl_reg = CM_VECCTL,
2222-
.div_reg = CM_VECDIV,
2223-
.int_bits = 4,
2224-
.frac_bits = 0,
2225-
/*
2226-
* Allow rate change propagation only on PLLH_AUX which is
2227-
* assigned index 7 in the parent array.
2228-
*/
2229-
.set_rate_parent = BIT(7),
2230-
.tcnt_mux = 29),
2231-
22322217
/* dsi clocks */
22332218
[BCM2835_CLOCK_DSI0E] = REGISTER_PER_CLK(
22342219
SOC_ALL,

drivers/clk/bcm/clk-raspberrypi.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ enum rpi_firmware_clk_id {
3333
RPI_FIRMWARE_EMMC2_CLK_ID,
3434
RPI_FIRMWARE_M2MC_CLK_ID,
3535
RPI_FIRMWARE_PIXEL_BVB_CLK_ID,
36+
RPI_FIRMWARE_VEC_CLK_ID,
3637
RPI_FIRMWARE_NUM_CLK_ID,
3738
};
3839

@@ -51,6 +52,7 @@ static char *rpi_firmware_clk_names[] = {
5152
[RPI_FIRMWARE_EMMC2_CLK_ID] = "emmc2",
5253
[RPI_FIRMWARE_M2MC_CLK_ID] = "m2mc",
5354
[RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb",
55+
[RPI_FIRMWARE_VEC_CLK_ID] = "vec",
5456
};
5557

5658
#define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0)
@@ -273,6 +275,7 @@ static int raspberrypi_discover_clocks(struct raspberrypi_clk *rpi,
273275
case RPI_FIRMWARE_V3D_CLK_ID:
274276
case RPI_FIRMWARE_HEVC_CLK_ID:
275277
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
278+
case RPI_FIRMWARE_VEC_CLK_ID:
276279
hw = raspberrypi_clk_register(rpi, clks->parent,
277280
clks->id);
278281
if (IS_ERR(hw))

0 commit comments

Comments
 (0)