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
|
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.
|
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
|
config COMMON_CLK_PALMAS
|
||||||
tristate "Clock driver for TI Palmas devices"
|
tristate "Clock driver for TI Palmas devices"
|
||||||
depends on MFD_PALMAS
|
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
|
Adapter driver so that any PWM output can be (mis)used as clock signal
|
||||||
at 50% duty cycle.
|
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
|
config COMMON_CLK_PXA
|
||||||
def_bool COMMON_CLK && ARCH_PXA
|
def_bool COMMON_CLK && ARCH_PXA
|
||||||
---help---
|
---help---
|
||||||
|
|
|
@ -64,8 +64,8 @@ endif
|
||||||
obj-$(CONFIG_PLAT_ORION) += mvebu/
|
obj-$(CONFIG_PLAT_ORION) += mvebu/
|
||||||
obj-$(CONFIG_ARCH_MESON) += meson/
|
obj-$(CONFIG_ARCH_MESON) += meson/
|
||||||
obj-$(CONFIG_ARCH_MXS) += mxs/
|
obj-$(CONFIG_ARCH_MXS) += mxs/
|
||||||
obj-$(CONFIG_ARCH_LPC18XX) += nxp/
|
|
||||||
obj-$(CONFIG_MACH_PISTACHIO) += pistachio/
|
obj-$(CONFIG_MACH_PISTACHIO) += pistachio/
|
||||||
|
obj-$(CONFIG_COMMON_CLK_NXP) += nxp/
|
||||||
obj-$(CONFIG_COMMON_CLK_PXA) += pxa/
|
obj-$(CONFIG_COMMON_CLK_PXA) += pxa/
|
||||||
obj-$(CONFIG_COMMON_CLK_QCOM) += qcom/
|
obj-$(CONFIG_COMMON_CLK_QCOM) += qcom/
|
||||||
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
|
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-cgu.o
|
obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-cgu.o
|
||||||
obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-ccu.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