Skip to content

Commit aee4eee

Browse files
committed
Merge tag 'arm-soc/for-6.17/drivers' of https://github.com/Broadcom/stblinux into soc/drivers
This pull request contains Broadcom SoCs drivers updates for 6.17, please pull the following: - Andrea adds the RP1 clock, pinctrl/pinconf/gpio and misc driver to bind them all * tag 'arm-soc/for-6.17/drivers' of https://github.com/Broadcom/stblinux: pinctrl: rp1: Implement RaspberryPi RP1 pinmux/pinconf support misc: rp1: RaspberryPi RP1 misc driver pinctrl: rp1: Implement RaspberryPi RP1 gpio support clk: rp1: Add support for clocks provided by RP1 dt-bindings: clock: Add RaspberryPi RP1 clock bindings Link: https://lore.kernel.org/r/20250630190216.1518354-4-florian.fainelli@broadcom.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 2b12a40 + e3ce7b8 commit aee4eee

16 files changed

Lines changed: 3851 additions & 0 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/raspberrypi,rp1-clocks.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: RaspberryPi RP1 clock generator
8+
9+
maintainers:
10+
- A. della Porta <andrea.porta@suse.com>
11+
12+
description: |
13+
The RP1 contains a clock generator designed as three PLLs (CORE, AUDIO,
14+
VIDEO), and each PLL output can be programmed through dividers to generate
15+
the clocks to drive the sub-peripherals embedded inside the chipset.
16+
17+
Link to datasheet:
18+
https://datasheets.raspberrypi.com/rp1/rp1-peripherals.pdf
19+
20+
properties:
21+
compatible:
22+
const: raspberrypi,rp1-clocks
23+
24+
reg:
25+
maxItems: 1
26+
27+
'#clock-cells':
28+
const: 1
29+
description:
30+
The available clocks are defined in
31+
include/dt-bindings/clock/raspberrypi,rp1-clocks.h.
32+
33+
clocks:
34+
maxItems: 1
35+
36+
required:
37+
- compatible
38+
- reg
39+
- '#clock-cells'
40+
- clocks
41+
42+
additionalProperties: false
43+
44+
examples:
45+
- |
46+
#include <dt-bindings/clock/raspberrypi,rp1-clocks.h>
47+
48+
rp1 {
49+
#address-cells = <2>;
50+
#size-cells = <2>;
51+
52+
clocks@c040018000 {
53+
compatible = "raspberrypi,rp1-clocks";
54+
reg = <0xc0 0x40018000 0x0 0x10038>;
55+
#clock-cells = <1>;
56+
clocks = <&clk_rp1_xosc>;
57+
};
58+
};

drivers/clk/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,15 @@ config COMMON_CLK_RK808
8888
These multi-function devices have two fixed-rate oscillators, clocked at 32KHz each.
8989
Clkout1 is always on, Clkout2 can off by control register.
9090

91+
config COMMON_CLK_RP1
92+
tristate "Raspberry Pi RP1-based clock support"
93+
depends on MISC_RP1 || COMPILE_TEST
94+
default MISC_RP1
95+
help
96+
Enable common clock framework support for Raspberry Pi RP1.
97+
This multi-function device has 3 main PLLs and several clock
98+
generators to drive the internal sub-peripherals.
99+
91100
config COMMON_CLK_HI655X
92101
tristate "Clock driver for Hi655x" if EXPERT
93102
depends on (MFD_HI655X_PMIC || COMPILE_TEST)

drivers/clk/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ obj-$(CONFIG_CLK_LS1028A_PLLDIG) += clk-plldig.o
8484
obj-$(CONFIG_COMMON_CLK_PWM) += clk-pwm.o
8585
obj-$(CONFIG_CLK_QORIQ) += clk-qoriq.o
8686
obj-$(CONFIG_COMMON_CLK_RK808) += clk-rk808.o
87+
obj-$(CONFIG_COMMON_CLK_RP1) += clk-rp1.o
8788
obj-$(CONFIG_COMMON_CLK_HI655X) += clk-hi655x.o
8889
obj-$(CONFIG_COMMON_CLK_S2MPS11) += clk-s2mps11.o
8990
obj-$(CONFIG_COMMON_CLK_SCMI) += clk-scmi.o

0 commit comments

Comments
 (0)