diff options
Diffstat (limited to 'arch/arc/boot/dts/hsdk.dts')
| -rw-r--r-- | arch/arc/boot/dts/hsdk.dts | 33 | 
1 files changed, 30 insertions, 3 deletions
| diff --git a/arch/arc/boot/dts/hsdk.dts b/arch/arc/boot/dts/hsdk.dts index 229d13adbce4..8f627c200d60 100644 --- a/arch/arc/boot/dts/hsdk.dts +++ b/arch/arc/boot/dts/hsdk.dts @@ -12,6 +12,7 @@  /dts-v1/;  #include <dt-bindings/net/ti-dp83867.h> +#include <dt-bindings/reset/snps,hsdk-reset.h>  / {  	model = "snps,hsdk"; @@ -57,10 +58,10 @@  		};  	}; -	core_clk: core-clk { +	input_clk: input-clk {  		#clock-cells = <0>;  		compatible = "fixed-clock"; -		clock-frequency = <500000000>; +		clock-frequency = <33333333>;  	};  	cpu_intc: cpu-interrupt-controller { @@ -102,6 +103,19 @@  		ranges = <0x00000000 0xf0000000 0x10000000>; +		cgu_rst: reset-controller@8a0 { +			compatible = "snps,hsdk-reset"; +			#reset-cells = <1>; +			reg = <0x8A0 0x4>, <0xFF0 0x4>; +		}; + +		core_clk: core-clk@0 { +			compatible = "snps,hsdk-core-pll-clock"; +			reg = <0x00 0x10>, <0x14B8 0x4>; +			#clock-cells = <0>; +			clocks = <&input_clk>; +		}; +  		serial: serial@5000 {  			compatible = "snps,dw-apb-uart";  			reg = <0x5000 0x100>; @@ -120,7 +134,18 @@  		mmcclk_ciu: mmcclk-ciu {  			compatible = "fixed-clock"; -			clock-frequency = <100000000>; +			/* +			 * DW sdio controller has external ciu clock divider +			 * controlled via register in SDIO IP. Due to its +			 * unexpected default value (it should divide by 1 +			 * but it divides by 8) SDIO IP uses wrong clock and +			 * works unstable (see STAR 9001204800) +			 * We switched to the minimum possible value of the +			 * divisor (div-by-2) in HSDK platform code. +			 * So add temporary fix and change clock frequency +			 * to 50000000 Hz until we fix dw sdio driver itself. +			 */ +			clock-frequency = <50000000>;  			#clock-cells = <0>;  		}; @@ -141,6 +166,8 @@  			clocks = <&gmacclk>;  			clock-names = "stmmaceth";  			phy-handle = <&phy0>; +			resets = <&cgu_rst HSDK_ETH_RESET>; +			reset-names = "stmmaceth";  			mdio {  				#address-cells = <1>; |