mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-21 10:05:00 +08:00
12faa35ae5
UART modules on Wondermedia SoCs are connected via a gated clock source, rather than directly to the 24Mhz reference clock. While uboot enables UART0 for debugging, other UART ports are unavailable until the clock is enabled. This patch checks that a valid clock is actually passed from devicetree, enables the clock in probe. This change removes the fallback when a clock was not specified as it doesn't apply any longer (and would only work if the UART clock was already enabled). DTSI files are updated for VT8500, WM8505 and WM8650. Signed-off-by: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
149 lines
2.8 KiB
Plaintext
149 lines
2.8 KiB
Plaintext
/*
|
|
* vt8500.dtsi - Device tree file for VIA VT8500 SoC
|
|
*
|
|
* Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
|
|
*
|
|
* Licensed under GPLv2 or later
|
|
*/
|
|
|
|
/include/ "skeleton.dtsi"
|
|
|
|
/ {
|
|
compatible = "via,vt8500";
|
|
|
|
soc {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "simple-bus";
|
|
ranges;
|
|
interrupt-parent = <&intc>;
|
|
|
|
intc: interrupt-controller@d8140000 {
|
|
compatible = "via,vt8500-intc";
|
|
interrupt-controller;
|
|
reg = <0xd8140000 0x10000>;
|
|
#interrupt-cells = <1>;
|
|
};
|
|
|
|
gpio: gpio-controller@d8110000 {
|
|
compatible = "via,vt8500-gpio";
|
|
gpio-controller;
|
|
reg = <0xd8110000 0x10000>;
|
|
#gpio-cells = <3>;
|
|
};
|
|
|
|
pmc@d8130000 {
|
|
compatible = "via,vt8500-pmc";
|
|
reg = <0xd8130000 0x1000>;
|
|
|
|
clocks {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ref24: ref24M {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <24000000>;
|
|
};
|
|
|
|
clkuart0: uart0 {
|
|
#clock-cells = <0>;
|
|
compatible = "via,vt8500-device-clock";
|
|
clocks = <&ref24>;
|
|
enable-reg = <0x250>;
|
|
enable-bit = <1>;
|
|
};
|
|
|
|
clkuart1: uart1 {
|
|
#clock-cells = <0>;
|
|
compatible = "via,vt8500-device-clock";
|
|
clocks = <&ref24>;
|
|
enable-reg = <0x250>;
|
|
enable-bit = <2>;
|
|
};
|
|
|
|
clkuart2: uart2 {
|
|
#clock-cells = <0>;
|
|
compatible = "via,vt8500-device-clock";
|
|
clocks = <&ref24>;
|
|
enable-reg = <0x250>;
|
|
enable-bit = <3>;
|
|
};
|
|
|
|
clkuart3: uart3 {
|
|
#clock-cells = <0>;
|
|
compatible = "via,vt8500-device-clock";
|
|
clocks = <&ref24>;
|
|
enable-reg = <0x250>;
|
|
enable-bit = <4>;
|
|
};
|
|
};
|
|
};
|
|
|
|
timer@d8130100 {
|
|
compatible = "via,vt8500-timer";
|
|
reg = <0xd8130100 0x28>;
|
|
interrupts = <36>;
|
|
};
|
|
|
|
ehci@d8007900 {
|
|
compatible = "via,vt8500-ehci";
|
|
reg = <0xd8007900 0x200>;
|
|
interrupts = <43>;
|
|
};
|
|
|
|
uhci@d8007b00 {
|
|
compatible = "platform-uhci";
|
|
reg = <0xd8007b00 0x200>;
|
|
interrupts = <43>;
|
|
};
|
|
|
|
fb@d800e400 {
|
|
compatible = "via,vt8500-fb";
|
|
reg = <0xd800e400 0x400>;
|
|
interrupts = <12>;
|
|
display = <&display>;
|
|
default-mode = <&mode0>;
|
|
};
|
|
|
|
ge_rops@d8050400 {
|
|
compatible = "wm,prizm-ge-rops";
|
|
reg = <0xd8050400 0x100>;
|
|
};
|
|
|
|
uart@d8200000 {
|
|
compatible = "via,vt8500-uart";
|
|
reg = <0xd8200000 0x1040>;
|
|
interrupts = <32>;
|
|
clocks = <&clkuart0>;
|
|
};
|
|
|
|
uart@d82b0000 {
|
|
compatible = "via,vt8500-uart";
|
|
reg = <0xd82b0000 0x1040>;
|
|
interrupts = <33>;
|
|
clocks = <&clkuart1>;
|
|
};
|
|
|
|
uart@d8210000 {
|
|
compatible = "via,vt8500-uart";
|
|
reg = <0xd8210000 0x1040>;
|
|
interrupts = <47>;
|
|
clocks = <&clkuart2>;
|
|
};
|
|
|
|
uart@d82c0000 {
|
|
compatible = "via,vt8500-uart";
|
|
reg = <0xd82c0000 0x1040>;
|
|
interrupts = <50>;
|
|
clocks = <&clkuart3>;
|
|
};
|
|
|
|
rtc@d8100000 {
|
|
compatible = "via,vt8500-rtc";
|
|
reg = <0xd8100000 0x10000>;
|
|
interrupts = <48>;
|
|
};
|
|
};
|
|
};
|