diff options
| -rw-r--r-- | arch/arm/boot/dts/Makefile | 4 | ||||
| -rw-r--r-- | arch/arm/boot/dts/stm32429i-eval.dts | 75 | ||||
| -rw-r--r-- | arch/arm/boot/dts/stm32f429-disco.dts | 8 | ||||
| -rw-r--r-- | arch/arm/boot/dts/stm32f429.dtsi | 79 | 
4 files changed, 108 insertions, 58 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 65f8433c35c2..7b908eabfd93 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -556,7 +556,9 @@ dtb-$(CONFIG_ARCH_STI) += \  	stih416-b2020.dtb \  	stih416-b2020e.dtb \  	stih418-b2199.dtb -dtb-$(CONFIG_ARCH_STM32)+= stm32f429-disco.dtb +dtb-$(CONFIG_ARCH_STM32)+= \ +	stm32f429-disco.dtb \ +	stm32429i-eval.dtb  dtb-$(CONFIG_MACH_SUN4I) += \  	sun4i-a10-a1000.dtb \  	sun4i-a10-ba10-tvbox.dtb \ diff --git a/arch/arm/boot/dts/stm32429i-eval.dts b/arch/arm/boot/dts/stm32429i-eval.dts new file mode 100644 index 000000000000..6964fc9e97cf --- /dev/null +++ b/arch/arm/boot/dts/stm32429i-eval.dts @@ -0,0 +1,75 @@ +/* + * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com> + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + *  a) This file is free software; you can redistribute it and/or + *     modify it under the terms of the GNU General Public License as + *     published by the Free Software Foundation; either version 2 of the + *     License, or (at your option) any later version. + * + *     This file is distributed in the hope that it will be useful, + *     but WITHOUT ANY WARRANTY; without even the implied warranty of + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *     GNU General Public License for more details. + * + *     You should have received a copy of the GNU General Public + *     License along with this file; if not, write to the Free + *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + *     MA 02110-1301 USA + * + * Or, alternatively, + * + *  b) Permission is hereby granted, free of charge, to any person + *     obtaining a copy of this software and associated documentation + *     files (the "Software"), to deal in the Software without + *     restriction, including without limitation the rights to use, + *     copy, modify, merge, publish, distribute, sublicense, and/or + *     sell copies of the Software, and to permit persons to whom the + *     Software is furnished to do so, subject to the following + *     conditions: + * + *     The above copyright notice and this permission notice shall be + *     included in all copies or substantial portions of the Software. + * + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + *     OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; +#include "stm32f429.dtsi" + +/ { +	model = "STMicroelectronics STM32429i-EVAL board"; +	compatible = "st,stm32429i-eval", "st,stm32f429"; + +	chosen { +		bootargs = "root=/dev/ram rdinit=/linuxrc"; +		stdout-path = "serial0:115200n8"; +	}; + +	memory { +		reg = <0xc0000000 0x2000000>; +	}; + +	aliases { +		serial0 = &usart1; +	}; +}; + +&clk_hse { +	clock-frequency = <25000000>; +}; + +&usart1 { +	status = "okay"; +}; diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts index 6b9aa59d978a..f0b731db6f53 100644 --- a/arch/arm/boot/dts/stm32f429-disco.dts +++ b/arch/arm/boot/dts/stm32f429-disco.dts @@ -53,8 +53,8 @@  	compatible = "st,stm32f429i-disco", "st,stm32f429";  	chosen { -		bootargs = "console=ttyS0,115200 root=/dev/ram rdinit=/linuxrc"; -		linux,stdout-path = &usart1; +		bootargs = "root=/dev/ram rdinit=/linuxrc"; +		stdout-path = "serial0:115200n8";  	};  	memory { @@ -66,6 +66,10 @@  	};  }; +&clk_hse { +	clock-frequency = <8000000>; +}; +  &usart1 {  	status = "okay";  }; diff --git a/arch/arm/boot/dts/stm32f429.dtsi b/arch/arm/boot/dts/stm32f429.dtsi index aa73b4f4172c..d78a4815da8f 100644 --- a/arch/arm/boot/dts/stm32f429.dtsi +++ b/arch/arm/boot/dts/stm32f429.dtsi @@ -49,48 +49,10 @@  / {  	clocks { -		clk_sysclk: clk-sysclk { +		clk_hse: clk-hse {  			#clock-cells = <0>;  			compatible = "fixed-clock"; -			clock-frequency = <180000000>; -		}; - -		clk_hclk: clk-hclk { -			#clock-cells = <0>; -			compatible = "fixed-clock"; -			clock-frequency = <180000000>; -		}; - -		clk_pclk1: clk-pclk1 { -			#clock-cells = <0>; -			compatible = "fixed-clock"; -			clock-frequency = <45000000>; -		}; - -		clk_pclk2: clk-pclk2 { -			#clock-cells = <0>; -			compatible = "fixed-clock"; -			clock-frequency = <90000000>; -		}; - -		clk_pmtr1: clk-pmtr1 { -			#clock-cells = <0>; -			compatible = "fixed-clock"; -			clock-frequency = <90000000>; -		}; - -		clk_pmtr2: clk-pmtr2 { -			#clock-cells = <0>; -			compatible = "fixed-clock"; -			clock-frequency = <180000000>; -		}; - -		clk_systick: clk-systick { -			compatible = "fixed-factor-clock"; -			clocks = <&clk_hclk>; -			#clock-cells = <0>; -			clock-div = <8>; -			clock-mult = <1>; +			clock-frequency = <0>;  		};  	}; @@ -99,7 +61,7 @@  			compatible = "st,stm32-timer";  			reg = <0x40000000 0x400>;  			interrupts = <28>; -			clocks = <&clk_pmtr1>; +			clocks = <&rcc 0 128>;  			status = "disabled";  		}; @@ -107,7 +69,7 @@  			compatible = "st,stm32-timer";  			reg = <0x40000400 0x400>;  			interrupts = <29>; -			clocks = <&clk_pmtr1>; +			clocks = <&rcc 0 129>;  			status = "disabled";  		}; @@ -115,7 +77,7 @@  			compatible = "st,stm32-timer";  			reg = <0x40000800 0x400>;  			interrupts = <30>; -			clocks = <&clk_pmtr1>; +			clocks = <&rcc 0 130>;  			status = "disabled";  		}; @@ -123,14 +85,14 @@  			compatible = "st,stm32-timer";  			reg = <0x40000c00 0x400>;  			interrupts = <50>; -			clocks = <&clk_pmtr1>; +			clocks = <&rcc 0 131>;  		};  		timer6: timer@40001000 {  			compatible = "st,stm32-timer";  			reg = <0x40001000 0x400>;  			interrupts = <54>; -			clocks = <&clk_pmtr1>; +			clocks = <&rcc 0 132>;  			status = "disabled";  		}; @@ -138,7 +100,7 @@  			compatible = "st,stm32-timer";  			reg = <0x40001400 0x400>;  			interrupts = <55>; -			clocks = <&clk_pmtr1>; +			clocks = <&rcc 0 133>;  			status = "disabled";  		}; @@ -146,7 +108,7 @@  			compatible = "st,stm32-usart", "st,stm32-uart";  			reg = <0x40004400 0x400>;  			interrupts = <38>; -			clocks = <&clk_pclk1>; +			clocks =  <&rcc 0 145>;  			status = "disabled";  		}; @@ -154,7 +116,7 @@  			compatible = "st,stm32-usart", "st,stm32-uart";  			reg = <0x40004800 0x400>;  			interrupts = <39>; -			clocks = <&clk_pclk1>; +			clocks = <&rcc 0 146>;  			status = "disabled";  		}; @@ -162,7 +124,7 @@  			compatible = "st,stm32-uart";  			reg = <0x40004c00 0x400>;  			interrupts = <52>; -			clocks = <&clk_pclk1>; +			clocks = <&rcc 0 147>;  			status = "disabled";  		}; @@ -170,7 +132,7 @@  			compatible = "st,stm32-uart";  			reg = <0x40005000 0x400>;  			interrupts = <53>; -			clocks = <&clk_pclk1>; +			clocks = <&rcc 0 148>;  			status = "disabled";  		}; @@ -178,7 +140,7 @@  			compatible = "st,stm32-usart", "st,stm32-uart";  			reg = <0x40007800 0x400>;  			interrupts = <82>; -			clocks = <&clk_pclk1>; +			clocks = <&rcc 0 158>;  			status = "disabled";  		}; @@ -186,7 +148,7 @@  			compatible = "st,stm32-usart", "st,stm32-uart";  			reg = <0x40007c00 0x400>;  			interrupts = <83>; -			clocks = <&clk_pclk1>; +			clocks = <&rcc 0 159>;  			status = "disabled";  		}; @@ -194,7 +156,7 @@  			compatible = "st,stm32-usart", "st,stm32-uart";  			reg = <0x40011000 0x400>;  			interrupts = <37>; -			clocks = <&clk_pclk2>; +			clocks = <&rcc 0 164>;  			status = "disabled";  		}; @@ -202,13 +164,20 @@  			compatible = "st,stm32-usart", "st,stm32-uart";  			reg = <0x40011400 0x400>;  			interrupts = <71>; -			clocks = <&clk_pclk2>; +			clocks = <&rcc 0 165>;  			status = "disabled";  		}; + +		rcc: rcc@40023810 { +			#clock-cells = <2>; +			compatible = "st,stm32f42xx-rcc", "st,stm32-rcc"; +			reg = <0x40023800 0x400>; +			clocks = <&clk_hse>; +		};  	};  };  &systick { -	clocks = <&clk_systick>; +	clocks = <&rcc 1 0>;  	status = "okay";  };  | 
