Merge branch 'clk-lpc32xx' into clk-next
This commit is contained in:
commit
5b50c522d5
7 changed files with 1690 additions and 1 deletions
30
Documentation/devicetree/bindings/clock/nxp,lpc3220-clk.txt
Normal file
30
Documentation/devicetree/bindings/clock/nxp,lpc3220-clk.txt
Normal file
|
@ -0,0 +1,30 @@
|
|||
NXP LPC32xx Clock Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "nxp,lpc3220-clk"
|
||||
- reg: should contain clock controller registers location and length
|
||||
- #clock-cells: must be 1, the cell holds id of a clock provided by the
|
||||
clock controller
|
||||
- clocks: phandles of external oscillators, the list must contain one
|
||||
32768 Hz oscillator and may have one optional high frequency oscillator
|
||||
- clock-names: list of external oscillator clock names, must contain
|
||||
"xtal_32k" and may have optional "xtal"
|
||||
|
||||
Examples:
|
||||
|
||||
/* System Control Block */
|
||||
scb {
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x0 0x040004000 0x00001000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
clk: clock-controller@0 {
|
||||
compatible = "nxp,lpc3220-clk";
|
||||
reg = <0x00 0x114>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
clocks = <&xtal_32k>, <&xtal>;
|
||||
clock-names = "xtal_32k", "xtal";
|
||||
};
|
||||
};
|
|
@ -0,0 +1,22 @@
|
|||
NXP LPC32xx USB Clock Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "nxp,lpc3220-usb-clk"
|
||||
- reg: should contain clock controller registers location and length
|
||||
- #clock-cells: must be 1, the cell holds id of a clock provided by the
|
||||
USB clock controller
|
||||
|
||||
Examples:
|
||||
|
||||
usb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x0 0x31020000 0x00001000>;
|
||||
|
||||
usbclk: clock-controller@f00 {
|
||||
compatible = "nxp,lpc3220-usb-clk";
|
||||
reg = <0xf00 0x100>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
};
|
|
@ -167,6 +167,12 @@ config COMMON_CLK_KEYSTONE
|
|||
Supports clock drivers for Keystone based SOCs. These SOCs have local
|
||||
a power sleep control module that gate the clock to the IPs and PLLs.
|
||||
|
||||
config COMMON_CLK_NXP
|
||||
def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
|
||||
select REGMAP_MMIO if ARCH_LPC32XX
|
||||
---help---
|
||||
Support for clock providers on NXP platforms.
|
||||
|
||||
config COMMON_CLK_PALMAS
|
||||
tristate "Clock driver for TI Palmas devices"
|
||||
depends on MFD_PALMAS
|
||||
|
@ -181,6 +187,11 @@ config COMMON_CLK_PWM
|
|||
Adapter driver so that any PWM output can be (mis)used as clock signal
|
||||
at 50% duty cycle.
|
||||
|
||||
config COMMON_CLK_NXP
|
||||
def_bool COMMON_CLK && ARCH_LPC18XX
|
||||
---help---
|
||||
Support for clock providers on NXP platforms.
|
||||
|
||||
config COMMON_CLK_PXA
|
||||
def_bool COMMON_CLK && ARCH_PXA
|
||||
---help---
|
||||
|
|
|
@ -64,8 +64,8 @@ endif
|
|||
obj-$(CONFIG_PLAT_ORION) += mvebu/
|
||||
obj-$(CONFIG_ARCH_MESON) += meson/
|
||||
obj-$(CONFIG_ARCH_MXS) += mxs/
|
||||
obj-$(CONFIG_ARCH_LPC18XX) += nxp/
|
||||
obj-$(CONFIG_MACH_PISTACHIO) += pistachio/
|
||||
obj-$(CONFIG_COMMON_CLK_NXP) += nxp/
|
||||
obj-$(CONFIG_COMMON_CLK_PXA) += pxa/
|
||||
obj-$(CONFIG_COMMON_CLK_QCOM) += qcom/
|
||||
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-cgu.o
|
||||
obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-ccu.o
|
||||
obj-$(CONFIG_ARCH_LPC32XX) += clk-lpc32xx.o
|
||||
|
|
1569
drivers/clk/nxp/clk-lpc32xx.c
Normal file
1569
drivers/clk/nxp/clk-lpc32xx.c
Normal file
File diff suppressed because it is too large
Load diff
56
include/dt-bindings/clock/lpc32xx-clock.h
Normal file
56
include/dt-bindings/clock/lpc32xx-clock.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2015 Vladimir Zapolskiy <vz@mleia.com>
|
||||
*
|
||||
* This code is released using a dual license strategy: BSD/GPL
|
||||
* You can choose the licence that better fits your requirements.
|
||||
*
|
||||
* Released under the terms of 3-clause BSD License
|
||||
* Released under the terms of GNU General Public License Version 2.0
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DT_BINDINGS_LPC32XX_CLOCK_H
|
||||
#define __DT_BINDINGS_LPC32XX_CLOCK_H
|
||||
|
||||
/* LPC32XX System Control Block clocks */
|
||||
#define LPC32XX_CLK_RTC 1
|
||||
#define LPC32XX_CLK_DMA 2
|
||||
#define LPC32XX_CLK_MLC 3
|
||||
#define LPC32XX_CLK_SLC 4
|
||||
#define LPC32XX_CLK_LCD 5
|
||||
#define LPC32XX_CLK_MAC 6
|
||||
#define LPC32XX_CLK_SD 7
|
||||
#define LPC32XX_CLK_DDRAM 8
|
||||
#define LPC32XX_CLK_SSP0 9
|
||||
#define LPC32XX_CLK_SSP1 10
|
||||
#define LPC32XX_CLK_UART3 11
|
||||
#define LPC32XX_CLK_UART4 12
|
||||
#define LPC32XX_CLK_UART5 13
|
||||
#define LPC32XX_CLK_UART6 14
|
||||
#define LPC32XX_CLK_IRDA 15
|
||||
#define LPC32XX_CLK_I2C1 16
|
||||
#define LPC32XX_CLK_I2C2 17
|
||||
#define LPC32XX_CLK_TIMER0 18
|
||||
#define LPC32XX_CLK_TIMER1 19
|
||||
#define LPC32XX_CLK_TIMER2 20
|
||||
#define LPC32XX_CLK_TIMER3 21
|
||||
#define LPC32XX_CLK_TIMER4 22
|
||||
#define LPC32XX_CLK_TIMER5 23
|
||||
#define LPC32XX_CLK_WDOG 24
|
||||
#define LPC32XX_CLK_I2S0 25
|
||||
#define LPC32XX_CLK_I2S1 26
|
||||
#define LPC32XX_CLK_SPI1 27
|
||||
#define LPC32XX_CLK_SPI2 28
|
||||
#define LPC32XX_CLK_MCPWM 29
|
||||
#define LPC32XX_CLK_HSTIMER 30
|
||||
#define LPC32XX_CLK_KEY 31
|
||||
#define LPC32XX_CLK_PWM1 32
|
||||
#define LPC32XX_CLK_PWM2 33
|
||||
#define LPC32XX_CLK_ADC 34
|
||||
|
||||
/* LPC32XX USB clocks */
|
||||
#define LPC32XX_USB_CLK_I2C 1
|
||||
#define LPC32XX_USB_CLK_DEVICE 2
|
||||
#define LPC32XX_USB_CLK_HOST 3
|
||||
|
||||
#endif /* __DT_BINDINGS_LPC32XX_CLOCK_H */
|
Loading…
Reference in a new issue