Merge branches 'clk-ingenic', 'clk-init-leak', 'clk-ux500' and 'clk-bitmain' into clk-next

- Support CGU in Ingenix X1000
 - Support Bitmain BM1880 clks

* clk-ingenic:
  clk: ingenic: Allow drivers to be built with COMPILE_TEST
  clk: Ingenic: Add CGU driver for X1000.
  dt-bindings: clock: Add X1000 bindings.

* clk-init-leak:
  clk: mark clk_disable_unused() as __init
  clk: Fix memory leak in clk_unregister()

* clk-ux500:
  MAINTAINERS: Update section for Ux500 clock drivers

* clk-bitmain:
  MAINTAINERS: Add entry for BM1880 SoC clock driver
  clk: Add common clock driver for BM1880 SoC
  dt-bindings: clock: Add devicetree binding for BM1880 SoC
  clk: Add clk_hw_unregister_composite helper function definition
  clk: Zero init clk_init_data in helpers
This commit is contained in:
Stephen Boyd
2019-11-27 08:15:13 -08:00
17 changed files with 1491 additions and 12 deletions

View File

@@ -0,0 +1,82 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Device Tree binding constants for Bitmain BM1880 SoC
*
* Copyright (c) 2019 Linaro Ltd.
*/
#ifndef __DT_BINDINGS_CLOCK_BM1880_H
#define __DT_BINDINGS_CLOCK_BM1880_H
#define BM1880_CLK_OSC 0
#define BM1880_CLK_MPLL 1
#define BM1880_CLK_SPLL 2
#define BM1880_CLK_FPLL 3
#define BM1880_CLK_DDRPLL 4
#define BM1880_CLK_A53 5
#define BM1880_CLK_50M_A53 6
#define BM1880_CLK_AHB_ROM 7
#define BM1880_CLK_AXI_SRAM 8
#define BM1880_CLK_DDR_AXI 9
#define BM1880_CLK_EFUSE 10
#define BM1880_CLK_APB_EFUSE 11
#define BM1880_CLK_AXI5_EMMC 12
#define BM1880_CLK_EMMC 13
#define BM1880_CLK_100K_EMMC 14
#define BM1880_CLK_AXI5_SD 15
#define BM1880_CLK_SD 16
#define BM1880_CLK_100K_SD 17
#define BM1880_CLK_500M_ETH0 18
#define BM1880_CLK_AXI4_ETH0 19
#define BM1880_CLK_500M_ETH1 20
#define BM1880_CLK_AXI4_ETH1 21
#define BM1880_CLK_AXI1_GDMA 22
#define BM1880_CLK_APB_GPIO 23
#define BM1880_CLK_APB_GPIO_INTR 24
#define BM1880_CLK_GPIO_DB 25
#define BM1880_CLK_AXI1_MINER 26
#define BM1880_CLK_AHB_SF 27
#define BM1880_CLK_SDMA_AXI 28
#define BM1880_CLK_SDMA_AUD 29
#define BM1880_CLK_APB_I2C 30
#define BM1880_CLK_APB_WDT 31
#define BM1880_CLK_APB_JPEG 32
#define BM1880_CLK_JPEG_AXI 33
#define BM1880_CLK_AXI5_NF 34
#define BM1880_CLK_APB_NF 35
#define BM1880_CLK_NF 36
#define BM1880_CLK_APB_PWM 37
#define BM1880_CLK_DIV_0_RV 38
#define BM1880_CLK_DIV_1_RV 39
#define BM1880_CLK_MUX_RV 40
#define BM1880_CLK_RV 41
#define BM1880_CLK_APB_SPI 42
#define BM1880_CLK_TPU_AXI 43
#define BM1880_CLK_DIV_UART_500M 44
#define BM1880_CLK_UART_500M 45
#define BM1880_CLK_APB_UART 46
#define BM1880_CLK_APB_I2S 47
#define BM1880_CLK_AXI4_USB 48
#define BM1880_CLK_APB_USB 49
#define BM1880_CLK_125M_USB 50
#define BM1880_CLK_33K_USB 51
#define BM1880_CLK_DIV_12M_USB 52
#define BM1880_CLK_12M_USB 53
#define BM1880_CLK_APB_VIDEO 54
#define BM1880_CLK_VIDEO_AXI 55
#define BM1880_CLK_VPP_AXI 56
#define BM1880_CLK_APB_VPP 57
#define BM1880_CLK_DIV_0_AXI1 58
#define BM1880_CLK_DIV_1_AXI1 59
#define BM1880_CLK_AXI1 60
#define BM1880_CLK_AXI2 61
#define BM1880_CLK_AXI3 62
#define BM1880_CLK_AXI4 63
#define BM1880_CLK_AXI5 64
#define BM1880_CLK_DIV_0_AXI6 65
#define BM1880_CLK_DIV_1_AXI6 66
#define BM1880_CLK_MUX_AXI6 67
#define BM1880_CLK_AXI6 68
#define BM1880_NR_CLKS 69
#endif /* __DT_BINDINGS_CLOCK_BM1880_H */

View File

@@ -0,0 +1,44 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* This header provides clock numbers for the ingenic,x1000-cgu DT binding.
*
* They are roughly ordered as:
* - external clocks
* - PLLs
* - muxes/dividers in the order they appear in the x1000 programmers manual
* - gates in order of their bit in the CLKGR* registers
*/
#ifndef __DT_BINDINGS_CLOCK_X1000_CGU_H__
#define __DT_BINDINGS_CLOCK_X1000_CGU_H__
#define X1000_CLK_EXCLK 0
#define X1000_CLK_RTCLK 1
#define X1000_CLK_APLL 2
#define X1000_CLK_MPLL 3
#define X1000_CLK_SCLKA 4
#define X1000_CLK_CPUMUX 5
#define X1000_CLK_CPU 6
#define X1000_CLK_L2CACHE 7
#define X1000_CLK_AHB0 8
#define X1000_CLK_AHB2PMUX 9
#define X1000_CLK_AHB2 10
#define X1000_CLK_PCLK 11
#define X1000_CLK_DDR 12
#define X1000_CLK_MAC 13
#define X1000_CLK_MSCMUX 14
#define X1000_CLK_MSC0 15
#define X1000_CLK_MSC1 16
#define X1000_CLK_SSIPLL 17
#define X1000_CLK_SSIMUX 18
#define X1000_CLK_SFC 19
#define X1000_CLK_I2C0 20
#define X1000_CLK_I2C1 21
#define X1000_CLK_I2C2 22
#define X1000_CLK_UART0 23
#define X1000_CLK_UART1 24
#define X1000_CLK_UART2 25
#define X1000_CLK_SSI 26
#define X1000_CLK_PDMA 27
#endif /* __DT_BINDINGS_CLOCK_X1000_CGU_H__ */