mirror of https://gitee.com/openkylin/linux.git
ARM: SoC late changes for v3.14
These are changes that arrived a little late but were considered self-contained enough to still go in for v3.14. They are all device tree updtes this time around, and mainly for Broadcom SoCs. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) iQIcBAABAgAGBQJS6u4lAAoJEFk3GJrT+8ZlbmkP/jvLB3+S7wyHfIqXeuQAL5s1 24jp495ynJe8aql70VGYIkS5+m7oB4Gx7cY0eAwsUClggI0EGuCuQWssrxqc0sNU zO5AiQp1HvVe5zNhNy7fSRH+XKrLCbIFsTwDGM4XQBVSJeskbOH2+xPernkxFdTC xCbCDoA8bLyrw+868T2AvQ3ArUAFdfnMIMtMDaFLY2D3ibJx0tG7PKm+uiMgd1n/ J+K+xGqq12+BbR2tDQWeKfKWeEPizlfFT07bhz01gdt5036bKTIicr2n3J0K+hq/ VxEdR3ZxYTW5sbfYqNk9JJ213PfQ+9PzCu7BsH+RlPLm7jzUohpMYB/mwXkroBnV DsXLu3514v1DNPzWQmLvjx4wM3BAMUrFwuWalsPWrffwQaIVQDp6/aTCHWma67Nq egzbQWOrVLGIhPaG8W3CLbjuussOh9orsoNi2UwM4GImgz24CDuNf6n8XICheY8r 6PH+lro/x72SC4e7FNhGbxMc4MGK90wiNNBMSKqBUgQYMbxWPEfK3irIwrvlGPrC E3tmaQSbl6zSQ/b6SSsu4tvg2JldulXQ9a+uYc+dQ0HWf5CtGqyaBYuZ4zRqCGNk ualHxIPQKvlp0/bjWRvVTBXlWrnih/RDUT2AFT044L1R/s7ICz4tZE/xZNS40Cy6 aZ0Ce0JrdsKpWSlWxu0o =tEa/ -----END PGP SIGNATURE----- Merge tag 'late-dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC late changes from Kevin Hilman: "These are changes that arrived a little late but were considered self-contained enough to still go in for v3.14. They are all device tree updtes this time around, and mainly for Broadcom SoCs" * tag 'late-dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: moxart: move fixed rate clock child node to board level dts clk: bcm281xx: define kona clock binding ARM: dts: add usb udc support to bcm281xx ARM: dts: Specify clocks for timer on bcm11351 Documentation: dt: kona-timer: Add clocks property ARM: dts: Specify clocks for SDHCIs on bcm11351 Documentation: dt: kona-sdhci: Add clocks property ARM: dts: Specify clocks for UARTs on bcm11351 ARM: dts: bcm281xx: Add i2c busses ARM: dts: Declare clocks as fixed on bcm11351 ARM: dts: bcm28155-ap: Enable all the i2c busses
This commit is contained in:
commit
f8a504c404
|
@ -8,13 +8,18 @@ Required properties:
|
|||
- DEPRECATED: compatible : "bcm,kona-timer"
|
||||
- reg : Register range for the timer
|
||||
- interrupts : interrupt for the timer
|
||||
- clocks: phandle + clock specifier pair of the external clock
|
||||
- clock-frequency: frequency that the clock operates
|
||||
|
||||
Only one of clocks or clock-frequency should be specified.
|
||||
|
||||
Refer to clocks/clock-bindings.txt for generic clock consumer properties.
|
||||
|
||||
Example:
|
||||
timer@35006000 {
|
||||
compatible = "brcm,kona-timer";
|
||||
reg = <0x35006000 0x1000>;
|
||||
interrupts = <0x0 7 0x4>;
|
||||
clock-frequency = <32768>;
|
||||
clocks = <&hub_timer_clk>;
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
Broadcom Kona Family Clocks
|
||||
|
||||
This binding is associated with Broadcom SoCs having "Kona" style
|
||||
clock control units (CCUs). A CCU is a clock provider that manages
|
||||
a set of clock signals. Each CCU is represented by a node in the
|
||||
device tree.
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
Required properties:
|
||||
- compatible
|
||||
Shall have one of the following values:
|
||||
- "brcm,bcm11351-root-ccu"
|
||||
- "brcm,bcm11351-aon-ccu"
|
||||
- "brcm,bcm11351-hub-ccu"
|
||||
- "brcm,bcm11351-master-ccu"
|
||||
- "brcm,bcm11351-slave-ccu"
|
||||
- reg
|
||||
Shall define the base and range of the address space
|
||||
containing clock control registers
|
||||
- #clock-cells
|
||||
Shall have value <1>. The permitted clock-specifier values
|
||||
are defined below.
|
||||
- clock-output-names
|
||||
Shall be an ordered list of strings defining the names of
|
||||
the clocks provided by the CCU.
|
||||
|
||||
|
||||
BCM281XX family SoCs use Kona CCUs. The following table defines
|
||||
the set of CCUs and clock specifiers for BCM281XX clocks. When
|
||||
a clock consumer references a clocks, its symbolic specifier
|
||||
(rather than its numeric index value) should be used. These
|
||||
specifiers are defined in "include/dt-bindings/clock/bcm281xx.h".
|
||||
|
||||
CCU Clock Type Index Specifier
|
||||
--- ----- ---- ----- ---------
|
||||
root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M
|
||||
|
||||
aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER
|
||||
aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC
|
||||
aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR
|
||||
|
||||
hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M
|
||||
|
||||
master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1
|
||||
master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2
|
||||
master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3
|
||||
master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4
|
||||
master dmac peri 4 BCM281XX_MASTER_CCU_DMAC
|
||||
master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC
|
||||
master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M
|
||||
master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M
|
||||
|
||||
slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB
|
||||
slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2
|
||||
slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3
|
||||
slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4
|
||||
slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0
|
||||
slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2
|
||||
slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1
|
||||
slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2
|
||||
slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3
|
||||
slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM
|
||||
|
||||
|
||||
Device tree example:
|
||||
|
||||
slave_ccu: slave_ccu {
|
||||
compatible = "brcm,bcm11351-slave-ccu";
|
||||
reg = <0x3e011000 0x0f00>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "uartb",
|
||||
"uartb2",
|
||||
"uartb3",
|
||||
"uartb4";
|
||||
};
|
||||
|
||||
ref_crystal_clk: ref_crystal {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <26000000>;
|
||||
};
|
||||
|
||||
uart@3e002000 {
|
||||
compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
|
||||
status = "disabled";
|
||||
reg = <0x3e002000 0x1000>;
|
||||
clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
};
|
|
@ -6,12 +6,16 @@ and the properties present in the bcm281xx SDHCI
|
|||
Required properties:
|
||||
- compatible : Should be "brcm,kona-sdhci"
|
||||
- DEPRECATED: compatible : Should be "bcm,kona-sdhci"
|
||||
- clocks: phandle + clock specifier pair of the external clock
|
||||
|
||||
Refer to clocks/clock-bindings.txt for generic clock consumer properties.
|
||||
|
||||
Example:
|
||||
|
||||
sdio2: sdio@0x3f1a0000 {
|
||||
compatible = "brcm,kona-sdhci";
|
||||
reg = <0x3f1a0000 0x10000>;
|
||||
clocks = <&sdio3_clk>;
|
||||
interrupts = <0x0 74 0x4>;
|
||||
};
|
||||
|
||||
|
|
|
@ -44,5 +44,11 @@ sdio4: sdio@3f1b0000 {
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
usbotg: usb@3f120000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: usb-phy@3f130000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -43,7 +43,7 @@ uart@3e000000 {
|
|||
compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
|
||||
status = "disabled";
|
||||
reg = <0x3e000000 0x1000>;
|
||||
clock-frequency = <13000000>;
|
||||
clocks = <&uartb_clk>;
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
|
@ -53,7 +53,7 @@ uart@3e001000 {
|
|||
compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
|
||||
status = "disabled";
|
||||
reg = <0x3e001000 0x1000>;
|
||||
clock-frequency = <13000000>;
|
||||
clocks = <&uartb2_clk>;
|
||||
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
|
@ -63,7 +63,7 @@ uart@3e002000 {
|
|||
compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
|
||||
status = "disabled";
|
||||
reg = <0x3e002000 0x1000>;
|
||||
clock-frequency = <13000000>;
|
||||
clocks = <&uartb3_clk>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
|
@ -73,7 +73,7 @@ uart@3e003000 {
|
|||
compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
|
||||
status = "disabled";
|
||||
reg = <0x3e003000 0x1000>;
|
||||
clock-frequency = <13000000>;
|
||||
clocks = <&uartb4_clk>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
|
@ -95,7 +95,7 @@ timer@35006000 {
|
|||
compatible = "brcm,kona-timer";
|
||||
reg = <0x35006000 0x1000>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-frequency = <32768>;
|
||||
clocks = <&hub_timer_clk>;
|
||||
};
|
||||
|
||||
gpio: gpio@35003000 {
|
||||
|
@ -118,6 +118,7 @@ sdio1: sdio@3f180000 {
|
|||
compatible = "brcm,kona-sdhci";
|
||||
reg = <0x3f180000 0x10000>;
|
||||
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdio1_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -125,6 +126,7 @@ sdio2: sdio@3f190000 {
|
|||
compatible = "brcm,kona-sdhci";
|
||||
reg = <0x3f190000 0x10000>;
|
||||
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdio2_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -132,6 +134,7 @@ sdio3: sdio@3f1a0000 {
|
|||
compatible = "brcm,kona-sdhci";
|
||||
reg = <0x3f1a0000 0x10000>;
|
||||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdio3_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -139,6 +142,7 @@ sdio4: sdio@3f1b0000 {
|
|||
compatible = "brcm,kona-sdhci";
|
||||
reg = <0x3f1b0000 0x10000>;
|
||||
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdio4_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -146,4 +150,160 @@ pinctrl@35004800 {
|
|||
compatible = "brcm,capri-pinctrl";
|
||||
reg = <0x35004800 0x430>;
|
||||
};
|
||||
|
||||
i2c@3e016000 {
|
||||
compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
|
||||
reg = <0x3e016000 0x80>;
|
||||
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bsc1_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c@3e017000 {
|
||||
compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
|
||||
reg = <0x3e017000 0x80>;
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bsc2_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c@3e018000 {
|
||||
compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
|
||||
reg = <0x3e018000 0x80>;
|
||||
interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bsc3_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c@3500d000 {
|
||||
compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
|
||||
reg = <0x3500d000 0x80>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmu_bsc_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
clocks {
|
||||
bsc1_clk: bsc1 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
bsc2_clk: bsc2 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
bsc3_clk: bsc3 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
pmu_bsc_clk: pmu_bsc {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
hub_timer_clk: hub_timer {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
pwm_clk: pwm {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <26000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
sdio1_clk: sdio1 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <48000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
sdio2_clk: sdio2 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <48000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
sdio3_clk: sdio3 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <48000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
sdio4_clk: sdio4 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <48000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
tmon_1m_clk: tmon_1m {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <1000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
uartb_clk: uartb {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
uartb2_clk: uartb2 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
uartb3_clk: uartb3 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
uartb4_clk: uartb4 {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
usb_otg_ahb_clk: usb_otg_ahb {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <52000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
usbotg: usb@3f120000 {
|
||||
compatible = "snps,dwc2";
|
||||
reg = <0x3f120000 0x10000>;
|
||||
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&usb_otg_ahb_clk>;
|
||||
clock-names = "otg";
|
||||
phys = <&usbphy>;
|
||||
phy-names = "usb2-phy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: usb-phy@3f130000 {
|
||||
compatible = "brcm,kona-usb2-phy";
|
||||
reg = <0x3f130000 0x28>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -27,6 +27,26 @@ uart@3e000000 {
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@3e016000 {
|
||||
status="okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
i2c@3e017000 {
|
||||
status="okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
i2c@3e018000 {
|
||||
status="okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
i2c@3500d000 {
|
||||
status="okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
sdio1: sdio@3f180000 {
|
||||
max-frequency = <48000000>;
|
||||
status = "okay";
|
||||
|
@ -43,4 +63,12 @@ sdio4: sdio@3f1b0000 {
|
|||
cd-gpios = <&gpio 14 0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbotg: usb@3f120000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy: usb-phy@3f130000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -17,6 +17,14 @@ memory {
|
|||
reg = <0x0 0x2000000>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
ref12: ref12M {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
};
|
||||
|
||||
flash@80000000,0 {
|
||||
compatible = "numonyx,js28f128", "cfi-flash";
|
||||
reg = <0x80000000 0x1000000>;
|
||||
|
|
|
@ -26,12 +26,6 @@ cpu@0 {
|
|||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ref12: ref12M {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
|
|
Loading…
Reference in New Issue