dt-bindings: imx: Add clock binding doc for i.MX8MN
Add the clock binding doc for i.MX8MN. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
parent
5f9e832c13
commit
1e80936a42
112
Documentation/devicetree/bindings/clock/imx8mn-clock.yaml
Normal file
112
Documentation/devicetree/bindings/clock/imx8mn-clock.yaml
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/bindings/clock/imx8mn-clock.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NXP i.MX8M Nano Clock Control Module Binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Anson Huang <Anson.Huang@nxp.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
NXP i.MX8M Nano clock control module is an integrated clock controller, which
|
||||||
|
generates and supplies to all modules.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: fsl,imx8mn-ccm
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: 32k osc
|
||||||
|
- description: 24m osc
|
||||||
|
- description: ext1 clock input
|
||||||
|
- description: ext2 clock input
|
||||||
|
- description: ext3 clock input
|
||||||
|
- description: ext4 clock input
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: osc_32k
|
||||||
|
- const: osc_24m
|
||||||
|
- const: clk_ext1
|
||||||
|
- const: clk_ext2
|
||||||
|
- const: clk_ext3
|
||||||
|
- const: clk_ext4
|
||||||
|
|
||||||
|
'#clock-cells':
|
||||||
|
const: 1
|
||||||
|
description: |
|
||||||
|
The clock consumer should specify the desired clock by having the clock
|
||||||
|
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mn-clock.h
|
||||||
|
for the full list of i.MX8M Nano clock IDs.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- '#clock-cells'
|
||||||
|
|
||||||
|
examples:
|
||||||
|
# Clock Control Module node:
|
||||||
|
- |
|
||||||
|
clk: clock-controller@30380000 {
|
||||||
|
compatible = "fsl,imx8mn-ccm";
|
||||||
|
reg = <0x0 0x30380000 0x0 0x10000>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>,
|
||||||
|
<&clk_ext2>, <&clk_ext3>, <&clk_ext4>;
|
||||||
|
clock-names = "osc_32k", "osc_24m", "clk_ext1",
|
||||||
|
"clk_ext2", "clk_ext3", "clk_ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Required external clocks for Clock Control Module node:
|
||||||
|
- |
|
||||||
|
osc_32k: clock-osc-32k {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <32768>;
|
||||||
|
clock-output-names = "osc_32k";
|
||||||
|
};
|
||||||
|
|
||||||
|
osc_24m: clock-osc-24m {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <24000000>;
|
||||||
|
clock-output-names = "osc_24m";
|
||||||
|
};
|
||||||
|
|
||||||
|
clk_ext1: clock-ext1 {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <133000000>;
|
||||||
|
clock-output-names = "clk_ext1";
|
||||||
|
};
|
||||||
|
|
||||||
|
clk_ext2: clock-ext2 {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <133000000>;
|
||||||
|
clock-output-names = "clk_ext2";
|
||||||
|
};
|
||||||
|
|
||||||
|
clk_ext3: clock-ext3 {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <133000000>;
|
||||||
|
clock-output-names = "clk_ext3";
|
||||||
|
};
|
||||||
|
|
||||||
|
clk_ext4: clock-ext4 {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency= <133000000>;
|
||||||
|
clock-output-names = "clk_ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
215
include/dt-bindings/clock/imx8mn-clock.h
Normal file
215
include/dt-bindings/clock/imx8mn-clock.h
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
/*
|
||||||
|
* Copyright 2018-2019 NXP
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __DT_BINDINGS_CLOCK_IMX8MN_H
|
||||||
|
#define __DT_BINDINGS_CLOCK_IMX8MN_H
|
||||||
|
|
||||||
|
#define IMX8MN_CLK_DUMMY 0
|
||||||
|
#define IMX8MN_CLK_32K 1
|
||||||
|
#define IMX8MN_CLK_24M 2
|
||||||
|
#define IMX8MN_OSC_HDMI_CLK 3
|
||||||
|
#define IMX8MN_CLK_EXT1 4
|
||||||
|
#define IMX8MN_CLK_EXT2 5
|
||||||
|
#define IMX8MN_CLK_EXT3 6
|
||||||
|
#define IMX8MN_CLK_EXT4 7
|
||||||
|
#define IMX8MN_AUDIO_PLL1_REF_SEL 8
|
||||||
|
#define IMX8MN_AUDIO_PLL2_REF_SEL 9
|
||||||
|
#define IMX8MN_VIDEO_PLL1_REF_SEL 10
|
||||||
|
#define IMX8MN_DRAM_PLL_REF_SEL 11
|
||||||
|
#define IMX8MN_GPU_PLL_REF_SEL 12
|
||||||
|
#define IMX8MN_VPU_PLL_REF_SEL 13
|
||||||
|
#define IMX8MN_ARM_PLL_REF_SEL 14
|
||||||
|
#define IMX8MN_SYS_PLL1_REF_SEL 15
|
||||||
|
#define IMX8MN_SYS_PLL2_REF_SEL 16
|
||||||
|
#define IMX8MN_SYS_PLL3_REF_SEL 17
|
||||||
|
#define IMX8MN_AUDIO_PLL1 18
|
||||||
|
#define IMX8MN_AUDIO_PLL2 19
|
||||||
|
#define IMX8MN_VIDEO_PLL1 20
|
||||||
|
#define IMX8MN_DRAM_PLL 21
|
||||||
|
#define IMX8MN_GPU_PLL 22
|
||||||
|
#define IMX8MN_VPU_PLL 23
|
||||||
|
#define IMX8MN_ARM_PLL 24
|
||||||
|
#define IMX8MN_SYS_PLL1 25
|
||||||
|
#define IMX8MN_SYS_PLL2 26
|
||||||
|
#define IMX8MN_SYS_PLL3 27
|
||||||
|
#define IMX8MN_AUDIO_PLL1_BYPASS 28
|
||||||
|
#define IMX8MN_AUDIO_PLL2_BYPASS 29
|
||||||
|
#define IMX8MN_VIDEO_PLL1_BYPASS 30
|
||||||
|
#define IMX8MN_DRAM_PLL_BYPASS 31
|
||||||
|
#define IMX8MN_GPU_PLL_BYPASS 32
|
||||||
|
#define IMX8MN_VPU_PLL_BYPASS 33
|
||||||
|
#define IMX8MN_ARM_PLL_BYPASS 34
|
||||||
|
#define IMX8MN_SYS_PLL1_BYPASS 35
|
||||||
|
#define IMX8MN_SYS_PLL2_BYPASS 36
|
||||||
|
#define IMX8MN_SYS_PLL3_BYPASS 37
|
||||||
|
#define IMX8MN_AUDIO_PLL1_OUT 38
|
||||||
|
#define IMX8MN_AUDIO_PLL2_OUT 39
|
||||||
|
#define IMX8MN_VIDEO_PLL1_OUT 40
|
||||||
|
#define IMX8MN_DRAM_PLL_OUT 41
|
||||||
|
#define IMX8MN_GPU_PLL_OUT 42
|
||||||
|
#define IMX8MN_VPU_PLL_OUT 43
|
||||||
|
#define IMX8MN_ARM_PLL_OUT 44
|
||||||
|
#define IMX8MN_SYS_PLL1_OUT 45
|
||||||
|
#define IMX8MN_SYS_PLL2_OUT 46
|
||||||
|
#define IMX8MN_SYS_PLL3_OUT 47
|
||||||
|
#define IMX8MN_SYS_PLL1_40M 48
|
||||||
|
#define IMX8MN_SYS_PLL1_80M 49
|
||||||
|
#define IMX8MN_SYS_PLL1_100M 50
|
||||||
|
#define IMX8MN_SYS_PLL1_133M 51
|
||||||
|
#define IMX8MN_SYS_PLL1_160M 52
|
||||||
|
#define IMX8MN_SYS_PLL1_200M 53
|
||||||
|
#define IMX8MN_SYS_PLL1_266M 54
|
||||||
|
#define IMX8MN_SYS_PLL1_400M 55
|
||||||
|
#define IMX8MN_SYS_PLL1_800M 56
|
||||||
|
#define IMX8MN_SYS_PLL2_50M 57
|
||||||
|
#define IMX8MN_SYS_PLL2_100M 58
|
||||||
|
#define IMX8MN_SYS_PLL2_125M 59
|
||||||
|
#define IMX8MN_SYS_PLL2_166M 60
|
||||||
|
#define IMX8MN_SYS_PLL2_200M 61
|
||||||
|
#define IMX8MN_SYS_PLL2_250M 62
|
||||||
|
#define IMX8MN_SYS_PLL2_333M 63
|
||||||
|
#define IMX8MN_SYS_PLL2_500M 64
|
||||||
|
#define IMX8MN_SYS_PLL2_1000M 65
|
||||||
|
|
||||||
|
/* CORE CLOCK ROOT */
|
||||||
|
#define IMX8MN_CLK_A53_SRC 66
|
||||||
|
#define IMX8MN_CLK_GPU_CORE_SRC 67
|
||||||
|
#define IMX8MN_CLK_GPU_SHADER_SRC 68
|
||||||
|
#define IMX8MN_CLK_A53_CG 69
|
||||||
|
#define IMX8MN_CLK_GPU_CORE_CG 70
|
||||||
|
#define IMX8MN_CLK_GPU_SHADER_CG 71
|
||||||
|
#define IMX8MN_CLK_A53_DIV 72
|
||||||
|
#define IMX8MN_CLK_GPU_CORE_DIV 73
|
||||||
|
#define IMX8MN_CLK_GPU_SHADER_DIV 74
|
||||||
|
|
||||||
|
/* BUS CLOCK ROOT */
|
||||||
|
#define IMX8MN_CLK_MAIN_AXI 75
|
||||||
|
#define IMX8MN_CLK_ENET_AXI 76
|
||||||
|
#define IMX8MN_CLK_NAND_USDHC_BUS 77
|
||||||
|
#define IMX8MN_CLK_DISP_AXI 78
|
||||||
|
#define IMX8MN_CLK_DISP_APB 79
|
||||||
|
#define IMX8MN_CLK_USB_BUS 80
|
||||||
|
#define IMX8MN_CLK_GPU_AXI 81
|
||||||
|
#define IMX8MN_CLK_GPU_AHB 82
|
||||||
|
#define IMX8MN_CLK_NOC 83
|
||||||
|
#define IMX8MN_CLK_AHB 84
|
||||||
|
#define IMX8MN_CLK_AUDIO_AHB 85
|
||||||
|
|
||||||
|
/* IPG CLOCK ROOT */
|
||||||
|
#define IMX8MN_CLK_IPG_ROOT 86
|
||||||
|
#define IMX8MN_CLK_IPG_AUDIO_ROOT 87
|
||||||
|
|
||||||
|
/* IP */
|
||||||
|
#define IMX8MN_CLK_DRAM_CORE 88
|
||||||
|
#define IMX8MN_CLK_DRAM_ALT 89
|
||||||
|
#define IMX8MN_CLK_DRAM_APB 90
|
||||||
|
#define IMX8MN_CLK_DRAM_ALT_ROOT 91
|
||||||
|
#define IMX8MN_CLK_DISP_PIXEL 92
|
||||||
|
#define IMX8MN_CLK_SAI2 93
|
||||||
|
#define IMX8MN_CLK_SAI3 94
|
||||||
|
#define IMX8MN_CLK_SAI5 95
|
||||||
|
#define IMX8MN_CLK_SAI6 96
|
||||||
|
#define IMX8MN_CLK_SPDIF1 97
|
||||||
|
#define IMX8MN_CLK_ENET_REF 98
|
||||||
|
#define IMX8MN_CLK_ENET_TIMER 99
|
||||||
|
#define IMX8MN_CLK_ENET_PHY_REF 100
|
||||||
|
#define IMX8MN_CLK_NAND 101
|
||||||
|
#define IMX8MN_CLK_QSPI 102
|
||||||
|
#define IMX8MN_CLK_USDHC1 103
|
||||||
|
#define IMX8MN_CLK_USDHC2 104
|
||||||
|
#define IMX8MN_CLK_I2C1 105
|
||||||
|
#define IMX8MN_CLK_I2C2 106
|
||||||
|
#define IMX8MN_CLK_I2C3 107
|
||||||
|
#define IMX8MN_CLK_I2C4 118
|
||||||
|
#define IMX8MN_CLK_UART1 119
|
||||||
|
#define IMX8MN_CLK_UART2 110
|
||||||
|
#define IMX8MN_CLK_UART3 111
|
||||||
|
#define IMX8MN_CLK_UART4 112
|
||||||
|
#define IMX8MN_CLK_USB_CORE_REF 113
|
||||||
|
#define IMX8MN_CLK_USB_PHY_REF 114
|
||||||
|
#define IMX8MN_CLK_ECSPI1 115
|
||||||
|
#define IMX8MN_CLK_ECSPI2 116
|
||||||
|
#define IMX8MN_CLK_PWM1 117
|
||||||
|
#define IMX8MN_CLK_PWM2 118
|
||||||
|
#define IMX8MN_CLK_PWM3 119
|
||||||
|
#define IMX8MN_CLK_PWM4 120
|
||||||
|
#define IMX8MN_CLK_WDOG 121
|
||||||
|
#define IMX8MN_CLK_WRCLK 122
|
||||||
|
#define IMX8MN_CLK_CLKO1 123
|
||||||
|
#define IMX8MN_CLK_CLKO2 124
|
||||||
|
#define IMX8MN_CLK_DSI_CORE 125
|
||||||
|
#define IMX8MN_CLK_DSI_PHY_REF 126
|
||||||
|
#define IMX8MN_CLK_DSI_DBI 127
|
||||||
|
#define IMX8MN_CLK_USDHC3 128
|
||||||
|
#define IMX8MN_CLK_CAMERA_PIXEL 129
|
||||||
|
#define IMX8MN_CLK_CSI1_PHY_REF 130
|
||||||
|
#define IMX8MN_CLK_CSI2_PHY_REF 131
|
||||||
|
#define IMX8MN_CLK_CSI2_ESC 132
|
||||||
|
#define IMX8MN_CLK_ECSPI3 133
|
||||||
|
#define IMX8MN_CLK_PDM 134
|
||||||
|
#define IMX8MN_CLK_SAI7 135
|
||||||
|
|
||||||
|
#define IMX8MN_CLK_ECSPI1_ROOT 136
|
||||||
|
#define IMX8MN_CLK_ECSPI2_ROOT 137
|
||||||
|
#define IMX8MN_CLK_ECSPI3_ROOT 138
|
||||||
|
#define IMX8MN_CLK_ENET1_ROOT 139
|
||||||
|
#define IMX8MN_CLK_GPIO1_ROOT 140
|
||||||
|
#define IMX8MN_CLK_GPIO2_ROOT 141
|
||||||
|
#define IMX8MN_CLK_GPIO3_ROOT 142
|
||||||
|
#define IMX8MN_CLK_GPIO4_ROOT 143
|
||||||
|
#define IMX8MN_CLK_GPIO5_ROOT 144
|
||||||
|
#define IMX8MN_CLK_I2C1_ROOT 145
|
||||||
|
#define IMX8MN_CLK_I2C2_ROOT 146
|
||||||
|
#define IMX8MN_CLK_I2C3_ROOT 147
|
||||||
|
#define IMX8MN_CLK_I2C4_ROOT 148
|
||||||
|
#define IMX8MN_CLK_MU_ROOT 149
|
||||||
|
#define IMX8MN_CLK_OCOTP_ROOT 150
|
||||||
|
#define IMX8MN_CLK_PWM1_ROOT 151
|
||||||
|
#define IMX8MN_CLK_PWM2_ROOT 152
|
||||||
|
#define IMX8MN_CLK_PWM3_ROOT 153
|
||||||
|
#define IMX8MN_CLK_PWM4_ROOT 154
|
||||||
|
#define IMX8MN_CLK_QSPI_ROOT 155
|
||||||
|
#define IMX8MN_CLK_NAND_ROOT 156
|
||||||
|
#define IMX8MN_CLK_SAI2_ROOT 157
|
||||||
|
#define IMX8MN_CLK_SAI2_IPG 158
|
||||||
|
#define IMX8MN_CLK_SAI3_ROOT 159
|
||||||
|
#define IMX8MN_CLK_SAI3_IPG 160
|
||||||
|
#define IMX8MN_CLK_SAI5_ROOT 161
|
||||||
|
#define IMX8MN_CLK_SAI5_IPG 162
|
||||||
|
#define IMX8MN_CLK_SAI6_ROOT 163
|
||||||
|
#define IMX8MN_CLK_SAI6_IPG 164
|
||||||
|
#define IMX8MN_CLK_SAI7_ROOT 165
|
||||||
|
#define IMX8MN_CLK_SAI7_IPG 166
|
||||||
|
#define IMX8MN_CLK_SDMA1_ROOT 167
|
||||||
|
#define IMX8MN_CLK_SDMA2_ROOT 168
|
||||||
|
#define IMX8MN_CLK_UART1_ROOT 169
|
||||||
|
#define IMX8MN_CLK_UART2_ROOT 170
|
||||||
|
#define IMX8MN_CLK_UART3_ROOT 171
|
||||||
|
#define IMX8MN_CLK_UART4_ROOT 172
|
||||||
|
#define IMX8MN_CLK_USB1_CTRL_ROOT 173
|
||||||
|
#define IMX8MN_CLK_USDHC1_ROOT 174
|
||||||
|
#define IMX8MN_CLK_USDHC2_ROOT 175
|
||||||
|
#define IMX8MN_CLK_WDOG1_ROOT 176
|
||||||
|
#define IMX8MN_CLK_WDOG2_ROOT 177
|
||||||
|
#define IMX8MN_CLK_WDOG3_ROOT 178
|
||||||
|
#define IMX8MN_CLK_GPU_BUS_ROOT 179
|
||||||
|
#define IMX8MN_CLK_ASRC_ROOT 180
|
||||||
|
#define IMX8MN_CLK_GPU3D_ROOT 181
|
||||||
|
#define IMX8MN_CLK_PDM_ROOT 182
|
||||||
|
#define IMX8MN_CLK_PDM_IPG 183
|
||||||
|
#define IMX8MN_CLK_DISP_AXI_ROOT 184
|
||||||
|
#define IMX8MN_CLK_DISP_APB_ROOT 185
|
||||||
|
#define IMX8MN_CLK_DISP_PIXEL_ROOT 186
|
||||||
|
#define IMX8MN_CLK_CAMERA_PIXEL_ROOT 187
|
||||||
|
#define IMX8MN_CLK_USDHC3_ROOT 188
|
||||||
|
#define IMX8MN_CLK_SDMA3_ROOT 189
|
||||||
|
#define IMX8MN_CLK_TMU_ROOT 190
|
||||||
|
#define IMX8MN_CLK_ARM 191
|
||||||
|
#define IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK 192
|
||||||
|
#define IMX8MN_CLK_GPU_CORE_ROOT 193
|
||||||
|
|
||||||
|
#define IMX8MN_CLK_END 194
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user