Skip to content

Commit acc379c

Browse files
Andrea della Portaffainelli
authored andcommitted
dt-bindings: clock: Add RaspberryPi RP1 clock bindings
Add device tree bindings for the clock generator found in RP1 multi function device, and relative entries in MAINTAINERS file. Signed-off-by: Andrea della Porta <andrea.porta@suse.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://lore.kernel.org/r/20250529135052.28398-1-andrea.porta@suse.com Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
1 parent 19272b3 commit acc379c

2 files changed

Lines changed: 119 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+
};
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Copyright (C) 2021 Raspberry Pi Ltd.
4+
*/
5+
6+
#ifndef __DT_BINDINGS_CLOCK_RASPBERRYPI_RP1
7+
#define __DT_BINDINGS_CLOCK_RASPBERRYPI_RP1
8+
9+
#define RP1_PLL_SYS_CORE 0
10+
#define RP1_PLL_AUDIO_CORE 1
11+
#define RP1_PLL_VIDEO_CORE 2
12+
13+
#define RP1_PLL_SYS 3
14+
#define RP1_PLL_AUDIO 4
15+
#define RP1_PLL_VIDEO 5
16+
17+
#define RP1_PLL_SYS_PRI_PH 6
18+
#define RP1_PLL_SYS_SEC_PH 7
19+
#define RP1_PLL_AUDIO_PRI_PH 8
20+
21+
#define RP1_PLL_SYS_SEC 9
22+
#define RP1_PLL_AUDIO_SEC 10
23+
#define RP1_PLL_VIDEO_SEC 11
24+
25+
#define RP1_CLK_SYS 12
26+
#define RP1_CLK_SLOW_SYS 13
27+
#define RP1_CLK_DMA 14
28+
#define RP1_CLK_UART 15
29+
#define RP1_CLK_ETH 16
30+
#define RP1_CLK_PWM0 17
31+
#define RP1_CLK_PWM1 18
32+
#define RP1_CLK_AUDIO_IN 19
33+
#define RP1_CLK_AUDIO_OUT 20
34+
#define RP1_CLK_I2S 21
35+
#define RP1_CLK_MIPI0_CFG 22
36+
#define RP1_CLK_MIPI1_CFG 23
37+
#define RP1_CLK_PCIE_AUX 24
38+
#define RP1_CLK_USBH0_MICROFRAME 25
39+
#define RP1_CLK_USBH1_MICROFRAME 26
40+
#define RP1_CLK_USBH0_SUSPEND 27
41+
#define RP1_CLK_USBH1_SUSPEND 28
42+
#define RP1_CLK_ETH_TSU 29
43+
#define RP1_CLK_ADC 30
44+
#define RP1_CLK_SDIO_TIMER 31
45+
#define RP1_CLK_SDIO_ALT_SRC 32
46+
#define RP1_CLK_GP0 33
47+
#define RP1_CLK_GP1 34
48+
#define RP1_CLK_GP2 35
49+
#define RP1_CLK_GP3 36
50+
#define RP1_CLK_GP4 37
51+
#define RP1_CLK_GP5 38
52+
#define RP1_CLK_VEC 39
53+
#define RP1_CLK_DPI 40
54+
#define RP1_CLK_MIPI0_DPI 41
55+
#define RP1_CLK_MIPI1_DPI 42
56+
57+
/* Extra PLL output channels - RP1B0 only */
58+
#define RP1_PLL_VIDEO_PRI_PH 43
59+
#define RP1_PLL_AUDIO_TERN 44
60+
61+
#endif

0 commit comments

Comments
 (0)