dts: arm: socfpga: merge gen5 devicetrees from linux
Add -u-boot.dtsi files to keep the current U-Boot behaviour: - add u-boot,dm-pre-reloc where required - disable watchdog - set uart clock frequency - add gpio bank-name properties where appropriate: - make qspi work (add alias for spi0, fix compatible for flash) - enable usb (status okay, add alias for udc0) Adapt board dts files that are not in Linux to keep their old behaviour. Change licenses to SPDX. (Patman warnings/errors are in 1:1 copied files from Linux) Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
This commit is contained in:
		
							parent
							
								
									2a3a99932b
								
							
						
					
					
						commit
						c402e81702
					
				|  | @ -3,7 +3,6 @@ | ||||||
|  * Copyright (C) 2012 Altera <www.altera.com> |  * Copyright (C) 2012 Altera <www.altera.com> | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "skeleton.dtsi" |  | ||||||
| #include <dt-bindings/reset/altr,rst-mgr.h> | #include <dt-bindings/reset/altr,rst-mgr.h> | ||||||
| 
 | 
 | ||||||
| / { | / { | ||||||
|  | @ -11,34 +10,26 @@ | ||||||
| 	#size-cells = <1>; | 	#size-cells = <1>; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	aliases { | ||||||
| 		ethernet0 = &gmac0; |  | ||||||
| 		ethernet1 = &gmac1; |  | ||||||
| 		i2c0 = &i2c0; |  | ||||||
| 		i2c1 = &i2c1; |  | ||||||
| 		i2c2 = &i2c2; |  | ||||||
| 		i2c3 = &i2c3; |  | ||||||
| 		serial0 = &uart0; | 		serial0 = &uart0; | ||||||
| 		serial1 = &uart1; | 		serial1 = &uart1; | ||||||
| 		timer0 = &timer0; | 		timer0 = &timer0; | ||||||
| 		timer1 = &timer1; | 		timer1 = &timer1; | ||||||
| 		timer2 = &timer2; | 		timer2 = &timer2; | ||||||
| 		timer3 = &timer3; | 		timer3 = &timer3; | ||||||
| 		spi0 = &qspi; |  | ||||||
| 		spi1 = &spi0; |  | ||||||
| 		spi2 = &spi1; |  | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	cpus { | 	cpus { | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <0>; | 		#size-cells = <0>; | ||||||
|  | 		enable-method = "altr,socfpga-smp"; | ||||||
| 
 | 
 | ||||||
| 		cpu@0 { | 		cpu0: cpu@0 { | ||||||
| 			compatible = "arm,cortex-a9"; | 			compatible = "arm,cortex-a9"; | ||||||
| 			device_type = "cpu"; | 			device_type = "cpu"; | ||||||
| 			reg = <0>; | 			reg = <0>; | ||||||
| 			next-level-cache = <&L2>; | 			next-level-cache = <&L2>; | ||||||
| 		}; | 		}; | ||||||
| 		cpu@1 { | 		cpu1: cpu@1 { | ||||||
| 			compatible = "arm,cortex-a9"; | 			compatible = "arm,cortex-a9"; | ||||||
| 			device_type = "cpu"; | 			device_type = "cpu"; | ||||||
| 			reg = <1>; | 			reg = <1>; | ||||||
|  | @ -46,6 +37,15 @@ | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
|  | 	pmu: pmu@ff111000 { | ||||||
|  | 		compatible = "arm,cortex-a9-pmu"; | ||||||
|  | 		interrupt-parent = <&intc>; | ||||||
|  | 		interrupts = <0 176 4>, <0 177 4>; | ||||||
|  | 		interrupt-affinity = <&cpu0>, <&cpu1>; | ||||||
|  | 		reg = <0xff111000 0x1000>, | ||||||
|  | 		      <0xff113000 0x1000>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
| 	intc: intc@fffed000 { | 	intc: intc@fffed000 { | ||||||
| 		compatible = "arm,cortex-a9-gic"; | 		compatible = "arm,cortex-a9-gic"; | ||||||
| 		#interrupt-cells = <3>; | 		#interrupt-cells = <3>; | ||||||
|  | @ -63,7 +63,7 @@ | ||||||
| 		ranges; | 		ranges; | ||||||
| 
 | 
 | ||||||
| 		amba { | 		amba { | ||||||
| 			compatible = "arm,amba-bus"; | 			compatible = "simple-bus"; | ||||||
| 			#address-cells = <1>; | 			#address-cells = <1>; | ||||||
| 			#size-cells = <1>; | 			#size-cells = <1>; | ||||||
| 			ranges; | 			ranges; | ||||||
|  | @ -87,6 +87,14 @@ | ||||||
| 			}; | 			}; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | 		base_fpga_region { | ||||||
|  | 			compatible = "fpga-region"; | ||||||
|  | 			fpga-mgr = <&fpgamgr0>; | ||||||
|  | 
 | ||||||
|  | 			#address-cells = <0x1>; | ||||||
|  | 			#size-cells = <0x1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
| 		can0: can@ffc00000 { | 		can0: can@ffc00000 { | ||||||
| 			compatible = "bosch,d_can"; | 			compatible = "bosch,d_can"; | ||||||
| 			reg = <0xffc00000 0x1000>; | 			reg = <0xffc00000 0x1000>; | ||||||
|  | @ -131,7 +139,7 @@ | ||||||
| 						compatible = "fixed-clock"; | 						compatible = "fixed-clock"; | ||||||
| 					}; | 					}; | ||||||
| 
 | 
 | ||||||
| 					main_pll: main_pll { | 					main_pll: main_pll@40 { | ||||||
| 						#address-cells = <1>; | 						#address-cells = <1>; | ||||||
| 						#size-cells = <0>; | 						#size-cells = <0>; | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
|  | @ -139,7 +147,7 @@ | ||||||
| 						clocks = <&osc1>; | 						clocks = <&osc1>; | ||||||
| 						reg = <0x40>; | 						reg = <0x40>; | ||||||
| 
 | 
 | ||||||
| 						mpuclk: mpuclk { | 						mpuclk: mpuclk@48 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&main_pll>; | 							clocks = <&main_pll>; | ||||||
|  | @ -147,7 +155,7 @@ | ||||||
| 							reg = <0x48>; | 							reg = <0x48>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						mainclk: mainclk { | 						mainclk: mainclk@4c { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&main_pll>; | 							clocks = <&main_pll>; | ||||||
|  | @ -155,29 +163,29 @@ | ||||||
| 							reg = <0x4C>; | 							reg = <0x4C>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						dbg_base_clk: dbg_base_clk { | 						dbg_base_clk: dbg_base_clk@50 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&main_pll>; | 							clocks = <&main_pll>, <&osc1>; | ||||||
| 							div-reg = <0xe8 0 9>; | 							div-reg = <0xe8 0 9>; | ||||||
| 							reg = <0x50>; | 							reg = <0x50>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						main_qspi_clk: main_qspi_clk { | 						main_qspi_clk: main_qspi_clk@54 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&main_pll>; | 							clocks = <&main_pll>; | ||||||
| 							reg = <0x54>; | 							reg = <0x54>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						main_nand_sdmmc_clk: main_nand_sdmmc_clk { | 						main_nand_sdmmc_clk: main_nand_sdmmc_clk@58 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&main_pll>; | 							clocks = <&main_pll>; | ||||||
| 							reg = <0x58>; | 							reg = <0x58>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						cfg_h2f_usr0_clk: cfg_h2f_usr0_clk { | 						cfg_h2f_usr0_clk: cfg_h2f_usr0_clk@5c { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&main_pll>; | 							clocks = <&main_pll>; | ||||||
|  | @ -185,7 +193,7 @@ | ||||||
| 						}; | 						}; | ||||||
| 					}; | 					}; | ||||||
| 
 | 
 | ||||||
| 					periph_pll: periph_pll { | 					periph_pll: periph_pll@80 { | ||||||
| 						#address-cells = <1>; | 						#address-cells = <1>; | ||||||
| 						#size-cells = <0>; | 						#size-cells = <0>; | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
|  | @ -193,42 +201,42 @@ | ||||||
| 						clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>; | 						clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>; | ||||||
| 						reg = <0x80>; | 						reg = <0x80>; | ||||||
| 
 | 
 | ||||||
| 						emac0_clk: emac0_clk { | 						emac0_clk: emac0_clk@88 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&periph_pll>; | 							clocks = <&periph_pll>; | ||||||
| 							reg = <0x88>; | 							reg = <0x88>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						emac1_clk: emac1_clk { | 						emac1_clk: emac1_clk@8c { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&periph_pll>; | 							clocks = <&periph_pll>; | ||||||
| 							reg = <0x8C>; | 							reg = <0x8C>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						per_qspi_clk: per_qsi_clk { | 						per_qspi_clk: per_qsi_clk@90 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&periph_pll>; | 							clocks = <&periph_pll>; | ||||||
| 							reg = <0x90>; | 							reg = <0x90>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						per_nand_mmc_clk: per_nand_mmc_clk { | 						per_nand_mmc_clk: per_nand_mmc_clk@94 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&periph_pll>; | 							clocks = <&periph_pll>; | ||||||
| 							reg = <0x94>; | 							reg = <0x94>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						per_base_clk: per_base_clk { | 						per_base_clk: per_base_clk@98 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&periph_pll>; | 							clocks = <&periph_pll>; | ||||||
| 							reg = <0x98>; | 							reg = <0x98>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						h2f_usr1_clk: h2f_usr1_clk { | 						h2f_usr1_clk: h2f_usr1_clk@9c { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&periph_pll>; | 							clocks = <&periph_pll>; | ||||||
|  | @ -236,7 +244,7 @@ | ||||||
| 						}; | 						}; | ||||||
| 					}; | 					}; | ||||||
| 
 | 
 | ||||||
| 					sdram_pll: sdram_pll { | 					sdram_pll: sdram_pll@c0 { | ||||||
| 						#address-cells = <1>; | 						#address-cells = <1>; | ||||||
| 						#size-cells = <0>; | 						#size-cells = <0>; | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
|  | @ -244,28 +252,28 @@ | ||||||
| 						clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>; | 						clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>; | ||||||
| 						reg = <0xC0>; | 						reg = <0xC0>; | ||||||
| 
 | 
 | ||||||
| 						ddr_dqs_clk: ddr_dqs_clk { | 						ddr_dqs_clk: ddr_dqs_clk@c8 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&sdram_pll>; | 							clocks = <&sdram_pll>; | ||||||
| 							reg = <0xC8>; | 							reg = <0xC8>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						ddr_2x_dqs_clk: ddr_2x_dqs_clk { | 						ddr_2x_dqs_clk: ddr_2x_dqs_clk@cc { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&sdram_pll>; | 							clocks = <&sdram_pll>; | ||||||
| 							reg = <0xCC>; | 							reg = <0xCC>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						ddr_dq_clk: ddr_dq_clk { | 						ddr_dq_clk: ddr_dq_clk@d0 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&sdram_pll>; | 							clocks = <&sdram_pll>; | ||||||
| 							reg = <0xD0>; | 							reg = <0xD0>; | ||||||
| 						}; | 						}; | ||||||
| 
 | 
 | ||||||
| 						h2f_usr2_clk: h2f_usr2_clk { | 						h2f_usr2_clk: h2f_usr2_clk@d4 { | ||||||
| 							#clock-cells = <0>; | 							#clock-cells = <0>; | ||||||
| 							compatible = "altr,socfpga-perip-clk"; | 							compatible = "altr,socfpga-perip-clk"; | ||||||
| 							clocks = <&sdram_pll>; | 							clocks = <&sdram_pll>; | ||||||
|  | @ -312,7 +320,7 @@ | ||||||
| 					l3_sp_clk: l3_sp_clk { | 					l3_sp_clk: l3_sp_clk { | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
| 						compatible = "altr,socfpga-gate-clk"; | 						compatible = "altr,socfpga-gate-clk"; | ||||||
| 						clocks = <&mainclk>; | 						clocks = <&l3_mp_clk>; | ||||||
| 						div-reg = <0x64 2 2>; | 						div-reg = <0x64 2 2>; | ||||||
| 					}; | 					}; | ||||||
| 
 | 
 | ||||||
|  | @ -343,7 +351,7 @@ | ||||||
| 					dbg_clk: dbg_clk { | 					dbg_clk: dbg_clk { | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
| 						compatible = "altr,socfpga-gate-clk"; | 						compatible = "altr,socfpga-gate-clk"; | ||||||
| 						clocks = <&dbg_base_clk>; | 						clocks = <&dbg_at_clk>; | ||||||
| 						div-reg = <0x68 2 2>; | 						div-reg = <0x68 2 2>; | ||||||
| 						clk-gate = <0x60 5>; | 						clk-gate = <0x60 5>; | ||||||
| 					}; | 					}; | ||||||
|  | @ -446,6 +454,14 @@ | ||||||
| 						clk-phase = <0 135>; | 						clk-phase = <0 135>; | ||||||
| 					}; | 					}; | ||||||
| 
 | 
 | ||||||
|  | 					sdmmc_clk_divided: sdmmc_clk_divided { | ||||||
|  | 						#clock-cells = <0>; | ||||||
|  | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | 						clocks = <&sdmmc_clk>; | ||||||
|  | 						clk-gate = <0xa0 8>; | ||||||
|  | 						fixed-divider = <4>; | ||||||
|  | 					}; | ||||||
|  | 
 | ||||||
| 					nand_x_clk: nand_x_clk { | 					nand_x_clk: nand_x_clk { | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
| 						compatible = "altr,socfpga-gate-clk"; | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | @ -453,10 +469,17 @@ | ||||||
| 						clk-gate = <0xa0 9>; | 						clk-gate = <0xa0 9>; | ||||||
| 					}; | 					}; | ||||||
| 
 | 
 | ||||||
|  | 					nand_ecc_clk: nand_ecc_clk { | ||||||
|  | 						#clock-cells = <0>; | ||||||
|  | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | 						clocks = <&nand_x_clk>; | ||||||
|  | 						clk-gate = <0xa0 9>; | ||||||
|  | 					}; | ||||||
|  | 
 | ||||||
| 					nand_clk: nand_clk { | 					nand_clk: nand_clk { | ||||||
| 						#clock-cells = <0>; | 						#clock-cells = <0>; | ||||||
| 						compatible = "altr,socfpga-gate-clk"; | 						compatible = "altr,socfpga-gate-clk"; | ||||||
| 						clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>; | 						clocks = <&nand_x_clk>; | ||||||
| 						clk-gate = <0xa0 10>; | 						clk-gate = <0xa0 10>; | ||||||
| 						fixed-divider = <4>; | 						fixed-divider = <4>; | ||||||
| 					}; | 					}; | ||||||
|  | @ -467,7 +490,57 @@ | ||||||
| 						clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>; | 						clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>; | ||||||
| 						clk-gate = <0xa0 11>; | 						clk-gate = <0xa0 11>; | ||||||
| 					}; | 					}; | ||||||
|  | 
 | ||||||
|  | 					ddr_dqs_clk_gate: ddr_dqs_clk_gate { | ||||||
|  | 						#clock-cells = <0>; | ||||||
|  | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | 						clocks = <&ddr_dqs_clk>; | ||||||
|  | 						clk-gate = <0xd8 0>; | ||||||
| 					}; | 					}; | ||||||
|  | 
 | ||||||
|  | 					ddr_2x_dqs_clk_gate: ddr_2x_dqs_clk_gate { | ||||||
|  | 						#clock-cells = <0>; | ||||||
|  | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | 						clocks = <&ddr_2x_dqs_clk>; | ||||||
|  | 						clk-gate = <0xd8 1>; | ||||||
|  | 					}; | ||||||
|  | 
 | ||||||
|  | 					ddr_dq_clk_gate: ddr_dq_clk_gate { | ||||||
|  | 						#clock-cells = <0>; | ||||||
|  | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | 						clocks = <&ddr_dq_clk>; | ||||||
|  | 						clk-gate = <0xd8 2>; | ||||||
|  | 					}; | ||||||
|  | 
 | ||||||
|  | 					h2f_user2_clk: h2f_user2_clk { | ||||||
|  | 						#clock-cells = <0>; | ||||||
|  | 						compatible = "altr,socfpga-gate-clk"; | ||||||
|  | 						clocks = <&h2f_usr2_clk>; | ||||||
|  | 						clk-gate = <0xd8 3>; | ||||||
|  | 					}; | ||||||
|  | 
 | ||||||
|  | 				}; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		fpga_bridge0: fpga_bridge@ff400000 { | ||||||
|  | 			compatible = "altr,socfpga-lwhps2fpga-bridge"; | ||||||
|  | 			reg = <0xff400000 0x100000>; | ||||||
|  | 			resets = <&rst LWHPS2FPGA_RESET>; | ||||||
|  | 			clocks = <&l4_main_clk>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		fpga_bridge1: fpga_bridge@ff500000 { | ||||||
|  | 			compatible = "altr,socfpga-hps2fpga-bridge"; | ||||||
|  | 			reg = <0xff500000 0x10000>; | ||||||
|  | 			resets = <&rst HPS2FPGA_RESET>; | ||||||
|  | 			clocks = <&l4_main_clk>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		fpgamgr0: fpgamgr@ff706000 { | ||||||
|  | 			compatible = "altr,socfpga-fpga-mgr"; | ||||||
|  | 			reg = <0xff706000 0x1000 | ||||||
|  | 			       0xffb90000 0x4>; | ||||||
|  | 			interrupts = <0 175 4>; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		gmac0: ethernet@ff700000 { | 		gmac0: ethernet@ff700000 { | ||||||
|  | @ -477,12 +550,14 @@ | ||||||
| 			interrupts = <0 115 4>; | 			interrupts = <0 115 4>; | ||||||
| 			interrupt-names = "macirq"; | 			interrupt-names = "macirq"; | ||||||
| 			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | 			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | ||||||
| 			clocks = <&emac0_clk>; | 			clocks = <&emac_0_clk>; | ||||||
| 			clock-names = "stmmaceth"; | 			clock-names = "stmmaceth"; | ||||||
| 			resets = <&rst EMAC0_RESET>; | 			resets = <&rst EMAC0_RESET>; | ||||||
| 			reset-names = "stmmaceth"; | 			reset-names = "stmmaceth"; | ||||||
| 			snps,multicast-filter-bins = <256>; | 			snps,multicast-filter-bins = <256>; | ||||||
| 			snps,perfect-filter-entries = <128>; | 			snps,perfect-filter-entries = <128>; | ||||||
|  | 			tx-fifo-depth = <4096>; | ||||||
|  | 			rx-fifo-depth = <4096>; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | @ -493,60 +568,14 @@ | ||||||
| 			interrupts = <0 120 4>; | 			interrupts = <0 120 4>; | ||||||
| 			interrupt-names = "macirq"; | 			interrupt-names = "macirq"; | ||||||
| 			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | 			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | ||||||
| 			clocks = <&emac1_clk>; | 			clocks = <&emac_1_clk>; | ||||||
| 			clock-names = "stmmaceth"; | 			clock-names = "stmmaceth"; | ||||||
| 			resets = <&rst EMAC1_RESET>; | 			resets = <&rst EMAC1_RESET>; | ||||||
| 			reset-names = "stmmaceth"; | 			reset-names = "stmmaceth"; | ||||||
| 			snps,multicast-filter-bins = <256>; | 			snps,multicast-filter-bins = <256>; | ||||||
| 			snps,perfect-filter-entries = <128>; | 			snps,perfect-filter-entries = <128>; | ||||||
| 			status = "disabled"; | 			tx-fifo-depth = <4096>; | ||||||
| 		}; | 			rx-fifo-depth = <4096>; | ||||||
| 
 |  | ||||||
| 		i2c0: i2c@ffc04000 { |  | ||||||
| 			#address-cells = <1>; |  | ||||||
| 			#size-cells = <0>; |  | ||||||
| 			compatible = "snps,designware-i2c"; |  | ||||||
| 			reg = <0xffc04000 0x1000>; |  | ||||||
| 			clocks = <&l4_sp_clk>; |  | ||||||
| 			resets = <&rst I2C0_RESET>; |  | ||||||
| 			reset-names = "i2c"; |  | ||||||
| 			interrupts = <0 158 0x4>; |  | ||||||
| 			status = "disabled"; |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		i2c1: i2c@ffc05000 { |  | ||||||
| 			#address-cells = <1>; |  | ||||||
| 			#size-cells = <0>; |  | ||||||
| 			compatible = "snps,designware-i2c"; |  | ||||||
| 			reg = <0xffc05000 0x1000>; |  | ||||||
| 			clocks = <&l4_sp_clk>; |  | ||||||
| 			resets = <&rst I2C1_RESET>; |  | ||||||
| 			reset-names = "i2c"; |  | ||||||
| 			interrupts = <0 159 0x4>; |  | ||||||
| 			status = "disabled"; |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		i2c2: i2c@ffc06000 { |  | ||||||
| 			#address-cells = <1>; |  | ||||||
| 			#size-cells = <0>; |  | ||||||
| 			compatible = "snps,designware-i2c"; |  | ||||||
| 			reg = <0xffc06000 0x1000>; |  | ||||||
| 			clocks = <&l4_sp_clk>; |  | ||||||
| 			resets = <&rst I2C2_RESET>; |  | ||||||
| 			reset-names = "i2c"; |  | ||||||
| 			interrupts = <0 160 0x4>; |  | ||||||
| 			status = "disabled"; |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		i2c3: i2c@ffc07000 { |  | ||||||
| 			#address-cells = <1>; |  | ||||||
| 			#size-cells = <0>; |  | ||||||
| 			compatible = "snps,designware-i2c"; |  | ||||||
| 			reg = <0xffc07000 0x1000>; |  | ||||||
| 			clocks = <&l4_sp_clk>; |  | ||||||
| 			resets = <&rst I2C3_RESET>; |  | ||||||
| 			reset-names = "i2c"; |  | ||||||
| 			interrupts = <0 161 0x4>; |  | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | @ -555,12 +584,11 @@ | ||||||
| 			#size-cells = <0>; | 			#size-cells = <0>; | ||||||
| 			compatible = "snps,dw-apb-gpio"; | 			compatible = "snps,dw-apb-gpio"; | ||||||
| 			reg = <0xff708000 0x1000>; | 			reg = <0xff708000 0x1000>; | ||||||
| 			clocks = <&per_base_clk>; | 			clocks = <&l4_mp_clk>; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 
 | 
 | ||||||
| 			porta: gpio-controller@0 { | 			porta: gpio-controller@0 { | ||||||
| 				compatible = "snps,dw-apb-gpio-port"; | 				compatible = "snps,dw-apb-gpio-port"; | ||||||
| 				bank-name = "porta"; |  | ||||||
| 				gpio-controller; | 				gpio-controller; | ||||||
| 				#gpio-cells = <2>; | 				#gpio-cells = <2>; | ||||||
| 				snps,nr-gpios = <29>; | 				snps,nr-gpios = <29>; | ||||||
|  | @ -576,12 +604,11 @@ | ||||||
| 			#size-cells = <0>; | 			#size-cells = <0>; | ||||||
| 			compatible = "snps,dw-apb-gpio"; | 			compatible = "snps,dw-apb-gpio"; | ||||||
| 			reg = <0xff709000 0x1000>; | 			reg = <0xff709000 0x1000>; | ||||||
| 			clocks = <&per_base_clk>; | 			clocks = <&l4_mp_clk>; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 
 | 
 | ||||||
| 			portb: gpio-controller@0 { | 			portb: gpio-controller@0 { | ||||||
| 				compatible = "snps,dw-apb-gpio-port"; | 				compatible = "snps,dw-apb-gpio-port"; | ||||||
| 				bank-name = "portb"; |  | ||||||
| 				gpio-controller; | 				gpio-controller; | ||||||
| 				#gpio-cells = <2>; | 				#gpio-cells = <2>; | ||||||
| 				snps,nr-gpios = <29>; | 				snps,nr-gpios = <29>; | ||||||
|  | @ -597,12 +624,11 @@ | ||||||
| 			#size-cells = <0>; | 			#size-cells = <0>; | ||||||
| 			compatible = "snps,dw-apb-gpio"; | 			compatible = "snps,dw-apb-gpio"; | ||||||
| 			reg = <0xff70a000 0x1000>; | 			reg = <0xff70a000 0x1000>; | ||||||
| 			clocks = <&per_base_clk>; | 			clocks = <&l4_mp_clk>; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 
 | 
 | ||||||
| 			portc: gpio-controller@0 { | 			portc: gpio-controller@0 { | ||||||
| 				compatible = "snps,dw-apb-gpio-port"; | 				compatible = "snps,dw-apb-gpio-port"; | ||||||
| 				bank-name = "portc"; |  | ||||||
| 				gpio-controller; | 				gpio-controller; | ||||||
| 				#gpio-cells = <2>; | 				#gpio-cells = <2>; | ||||||
| 				snps,nr-gpios = <27>; | 				snps,nr-gpios = <27>; | ||||||
|  | @ -613,15 +639,68 @@ | ||||||
| 			}; | 			}; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		sdr: sdr@ffc25000 { | 		i2c0: i2c@ffc04000 { | ||||||
| 			compatible = "syscon"; | 			#address-cells = <1>; | ||||||
| 			reg = <0xffc25000 0x1000>; | 			#size-cells = <0>; | ||||||
|  | 			compatible = "snps,designware-i2c"; | ||||||
|  | 			reg = <0xffc04000 0x1000>; | ||||||
|  | 			resets = <&rst I2C0_RESET>; | ||||||
|  | 			clocks = <&l4_sp_clk>; | ||||||
|  | 			interrupts = <0 158 0x4>; | ||||||
|  | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		sdramedac { | 		i2c1: i2c@ffc05000 { | ||||||
| 			compatible = "altr,sdram-edac"; | 			#address-cells = <1>; | ||||||
| 			altr,sdr-syscon = <&sdr>; | 			#size-cells = <0>; | ||||||
| 			interrupts = <0 39 4>; | 			compatible = "snps,designware-i2c"; | ||||||
|  | 			reg = <0xffc05000 0x1000>; | ||||||
|  | 			resets = <&rst I2C1_RESET>; | ||||||
|  | 			clocks = <&l4_sp_clk>; | ||||||
|  | 			interrupts = <0 159 0x4>; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c2: i2c@ffc06000 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			compatible = "snps,designware-i2c"; | ||||||
|  | 			reg = <0xffc06000 0x1000>; | ||||||
|  | 			resets = <&rst I2C2_RESET>; | ||||||
|  | 			clocks = <&l4_sp_clk>; | ||||||
|  | 			interrupts = <0 160 0x4>; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c3: i2c@ffc07000 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			compatible = "snps,designware-i2c"; | ||||||
|  | 			reg = <0xffc07000 0x1000>; | ||||||
|  | 			resets = <&rst I2C3_RESET>; | ||||||
|  | 			clocks = <&l4_sp_clk>; | ||||||
|  | 			interrupts = <0 161 0x4>; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		eccmgr: eccmgr { | ||||||
|  | 			compatible = "altr,socfpga-ecc-manager"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  | 			ranges; | ||||||
|  | 
 | ||||||
|  | 			l2-ecc@ffd08140 { | ||||||
|  | 				compatible = "altr,socfpga-l2-ecc"; | ||||||
|  | 				reg = <0xffd08140 0x4>; | ||||||
|  | 				interrupts = <0 36 1>, <0 37 1>; | ||||||
|  | 			}; | ||||||
|  | 
 | ||||||
|  | 			ocram-ecc@ffd08144 { | ||||||
|  | 				compatible = "altr,socfpga-ocram-ecc"; | ||||||
|  | 				reg = <0xffd08144 0x4>; | ||||||
|  | 				iram = <&ocram>; | ||||||
|  | 				interrupts = <0 178 1>, <0 179 1>; | ||||||
|  | 			}; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		L2: l2-cache@fffef000 { | 		L2: l2-cache@fffef000 { | ||||||
|  | @ -632,17 +711,50 @@ | ||||||
| 			cache-level = <2>; | 			cache-level = <2>; | ||||||
| 			arm,tag-latency = <1 1 1>; | 			arm,tag-latency = <1 1 1>; | ||||||
| 			arm,data-latency = <2 1 1>; | 			arm,data-latency = <2 1 1>; | ||||||
|  | 			prefetch-data = <1>; | ||||||
|  | 			prefetch-instr = <1>; | ||||||
|  | 			arm,shared-override; | ||||||
|  | 			arm,double-linefill = <1>; | ||||||
|  | 			arm,double-linefill-incr = <0>; | ||||||
|  | 			arm,double-linefill-wrap = <1>; | ||||||
|  | 			arm,prefetch-drop = <0>; | ||||||
|  | 			arm,prefetch-offset = <7>; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		mmc0: dwmmc0@ff704000 { | 		l3regs@0xff800000 { | ||||||
|  | 			compatible = "altr,l3regs", "syscon"; | ||||||
|  | 			reg = <0xff800000 0x1000>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		mmc: dwmmc0@ff704000 { | ||||||
| 			compatible = "altr,socfpga-dw-mshc"; | 			compatible = "altr,socfpga-dw-mshc"; | ||||||
| 			reg = <0xff704000 0x1000>; | 			reg = <0xff704000 0x1000>; | ||||||
| 			interrupts = <0 139 4>; | 			interrupts = <0 139 4>; | ||||||
| 			fifo-depth = <0x400>; | 			fifo-depth = <0x400>; | ||||||
| 			#address-cells = <1>; | 			#address-cells = <1>; | ||||||
| 			#size-cells = <0>; | 			#size-cells = <0>; | ||||||
| 			clocks = <&l4_mp_clk>, <&sdmmc_clk>; | 			clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>; | ||||||
| 			clock-names = "biu", "ciu"; | 			clock-names = "biu", "ciu"; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		nand0: nand@ff900000 { | ||||||
|  | 			#address-cells = <0x1>; | ||||||
|  | 			#size-cells = <0x1>; | ||||||
|  | 			compatible = "altr,socfpga-denali-nand"; | ||||||
|  | 			reg = <0xff900000 0x100000>, | ||||||
|  | 			      <0xffb80000 0x10000>; | ||||||
|  | 			reg-names = "nand_data", "denali_reg"; | ||||||
|  | 			interrupts = <0x0 0x90 0x4>; | ||||||
|  | 			dma-mask = <0xffffffff>; | ||||||
|  | 			clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>; | ||||||
|  | 			clock-names = "nand", "nand_x", "ecc"; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		ocram: sram@ffff0000 { | ||||||
|  | 			compatible = "mmio-sram"; | ||||||
|  | 			reg = <0xffff0000 0x10000>; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		qspi: spi@ff705000 { | 		qspi: spi@ff705000 { | ||||||
|  | @ -652,16 +764,36 @@ | ||||||
| 			reg = <0xff705000 0x1000>, | 			reg = <0xff705000 0x1000>, | ||||||
| 			      <0xffa00000 0x1000>; | 			      <0xffa00000 0x1000>; | ||||||
| 			interrupts = <0 151 4>; | 			interrupts = <0 151 4>; | ||||||
| 			clocks = <&qspi_clk>; |  | ||||||
| 			ext-decoder = <0>;  /* external decoder */ |  | ||||||
| 			num-cs = <4>; |  | ||||||
| 			cdns,fifo-depth = <128>; | 			cdns,fifo-depth = <128>; | ||||||
| 			cdns,fifo-width = <4>; | 			cdns,fifo-width = <4>; | ||||||
| 			cdns,trigger-address = <0x00000000>; | 			cdns,trigger-address = <0x00000000>; | ||||||
| 			bus-num = <2>; | 			clocks = <&qspi_clk>; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | 		rst: rstmgr@ffd05000 { | ||||||
|  | 			#reset-cells = <1>; | ||||||
|  | 			compatible = "altr,rst-mgr"; | ||||||
|  | 			reg = <0xffd05000 0x1000>; | ||||||
|  | 			altr,modrst-offset = <0x10>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		scu: snoop-control-unit@fffec000 { | ||||||
|  | 			compatible = "arm,cortex-a9-scu"; | ||||||
|  | 			reg = <0xfffec000 0x100>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		sdr: sdr@ffc25000 { | ||||||
|  | 			compatible = "altr,sdr-ctl", "syscon"; | ||||||
|  | 			reg = <0xffc25000 0x1000>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		sdramedac { | ||||||
|  | 			compatible = "altr,sdram-edac"; | ||||||
|  | 			altr,sdr-syscon = <&sdr>; | ||||||
|  | 			interrupts = <0 39 4>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
| 		spi0: spi@fff00000 { | 		spi0: spi@fff00000 { | ||||||
| 			compatible = "snps,dw-apb-ssi"; | 			compatible = "snps,dw-apb-ssi"; | ||||||
| 			#address-cells = <1>; | 			#address-cells = <1>; | ||||||
|  | @ -669,10 +801,7 @@ | ||||||
| 			reg = <0xfff00000 0x1000>; | 			reg = <0xfff00000 0x1000>; | ||||||
| 			interrupts = <0 154 4>; | 			interrupts = <0 154 4>; | ||||||
| 			num-cs = <4>; | 			num-cs = <4>; | ||||||
| 			bus-num = <0>; | 			clocks = <&spi_m_clk>; | ||||||
| 			tx-dma-channel = <&pdma 16>; |  | ||||||
| 			rx-dma-channel = <&pdma 17>; |  | ||||||
| 			clocks = <&per_base_clk>; |  | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | @ -681,20 +810,22 @@ | ||||||
| 			#address-cells = <1>; | 			#address-cells = <1>; | ||||||
| 			#size-cells = <0>; | 			#size-cells = <0>; | ||||||
| 			reg = <0xfff01000 0x1000>; | 			reg = <0xfff01000 0x1000>; | ||||||
| 			interrupts = <0 156 4>; | 			interrupts = <0 155 4>; | ||||||
| 			num-cs = <4>; | 			num-cs = <4>; | ||||||
| 			bus-num = <1>; | 			clocks = <&spi_m_clk>; | ||||||
| 			tx-dma-channel = <&pdma 20>; |  | ||||||
| 			rx-dma-channel = <&pdma 21>; |  | ||||||
| 			clocks = <&per_base_clk>; |  | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | 		sysmgr: sysmgr@ffd08000 { | ||||||
|  | 			compatible = "altr,sys-mgr", "syscon"; | ||||||
|  | 			reg = <0xffd08000 0x4000>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
| 		/* Local timer */ | 		/* Local timer */ | ||||||
| 		timer@fffec600 { | 		timer@fffec600 { | ||||||
| 			compatible = "arm,cortex-a9-twd-timer"; | 			compatible = "arm,cortex-a9-twd-timer"; | ||||||
| 			reg = <0xfffec600 0x100>; | 			reg = <0xfffec600 0x100>; | ||||||
| 			interrupts = <1 13 0xf04>; | 			interrupts = <1 13 0xf01>; | ||||||
| 			clocks = <&mpu_periph_clk>; | 			clocks = <&mpu_periph_clk>; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | @ -704,6 +835,8 @@ | ||||||
| 			reg = <0xffc08000 0x1000>; | 			reg = <0xffc08000 0x1000>; | ||||||
| 			clocks = <&l4_sp_clk>; | 			clocks = <&l4_sp_clk>; | ||||||
| 			clock-names = "timer"; | 			clock-names = "timer"; | ||||||
|  | 			resets = <&rst SPTIMER0_RESET>; | ||||||
|  | 			reset-names = "timer"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		timer1: timer1@ffc09000 { | 		timer1: timer1@ffc09000 { | ||||||
|  | @ -712,6 +845,8 @@ | ||||||
| 			reg = <0xffc09000 0x1000>; | 			reg = <0xffc09000 0x1000>; | ||||||
| 			clocks = <&l4_sp_clk>; | 			clocks = <&l4_sp_clk>; | ||||||
| 			clock-names = "timer"; | 			clock-names = "timer"; | ||||||
|  | 			resets = <&rst SPTIMER1_RESET>; | ||||||
|  | 			reset-names = "timer"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		timer2: timer2@ffd00000 { | 		timer2: timer2@ffd00000 { | ||||||
|  | @ -720,6 +855,8 @@ | ||||||
| 			reg = <0xffd00000 0x1000>; | 			reg = <0xffd00000 0x1000>; | ||||||
| 			clocks = <&osc1>; | 			clocks = <&osc1>; | ||||||
| 			clock-names = "timer"; | 			clock-names = "timer"; | ||||||
|  | 			resets = <&rst OSC1TIMER0_RESET>; | ||||||
|  | 			reset-names = "timer"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		timer3: timer3@ffd01000 { | 		timer3: timer3@ffd01000 { | ||||||
|  | @ -728,6 +865,8 @@ | ||||||
| 			reg = <0xffd01000 0x1000>; | 			reg = <0xffd01000 0x1000>; | ||||||
| 			clocks = <&osc1>; | 			clocks = <&osc1>; | ||||||
| 			clock-names = "timer"; | 			clock-names = "timer"; | ||||||
|  | 			resets = <&rst OSC1TIMER1_RESET>; | ||||||
|  | 			reset-names = "timer"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		uart0: serial0@ffc02000 { | 		uart0: serial0@ffc02000 { | ||||||
|  | @ -737,7 +876,9 @@ | ||||||
| 			reg-shift = <2>; | 			reg-shift = <2>; | ||||||
| 			reg-io-width = <4>; | 			reg-io-width = <4>; | ||||||
| 			clocks = <&l4_sp_clk>; | 			clocks = <&l4_sp_clk>; | ||||||
| 			clock-frequency = <100000000>; | 			dmas = <&pdma 28>, | ||||||
|  | 			       <&pdma 29>; | ||||||
|  | 			dma-names = "tx", "rx"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		uart1: serial1@ffc03000 { | 		uart1: serial1@ffc03000 { | ||||||
|  | @ -747,16 +888,12 @@ | ||||||
| 			reg-shift = <2>; | 			reg-shift = <2>; | ||||||
| 			reg-io-width = <4>; | 			reg-io-width = <4>; | ||||||
| 			clocks = <&l4_sp_clk>; | 			clocks = <&l4_sp_clk>; | ||||||
| 			clock-frequency = <100000000>; | 			dmas = <&pdma 30>, | ||||||
|  | 			       <&pdma 31>; | ||||||
|  | 			dma-names = "tx", "rx"; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		rst: rstmgr@ffd05000 { | 		usbphy0: usbphy { | ||||||
| 			#reset-cells = <1>; |  | ||||||
| 			compatible = "altr,rst-mgr"; |  | ||||||
| 			reg = <0xffd05000 0x1000>; |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		usbphy0: usbphy@0 { |  | ||||||
| 			#phy-cells = <0>; | 			#phy-cells = <0>; | ||||||
| 			compatible = "usb-nop-xceiv"; | 			compatible = "usb-nop-xceiv"; | ||||||
| 			status = "okay"; | 			status = "okay"; | ||||||
|  | @ -768,6 +905,8 @@ | ||||||
| 			interrupts = <0 125 4>; | 			interrupts = <0 125 4>; | ||||||
| 			clocks = <&usb_mp_clk>; | 			clocks = <&usb_mp_clk>; | ||||||
| 			clock-names = "otg"; | 			clock-names = "otg"; | ||||||
|  | 			resets = <&rst USB0_RESET>; | ||||||
|  | 			reset-names = "dwc2"; | ||||||
| 			phys = <&usbphy0>; | 			phys = <&usbphy0>; | ||||||
| 			phy-names = "usb2-phy"; | 			phy-names = "usb2-phy"; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
|  | @ -779,6 +918,8 @@ | ||||||
| 			interrupts = <0 128 4>; | 			interrupts = <0 128 4>; | ||||||
| 			clocks = <&usb_mp_clk>; | 			clocks = <&usb_mp_clk>; | ||||||
| 			clock-names = "otg"; | 			clock-names = "otg"; | ||||||
|  | 			resets = <&rst USB1_RESET>; | ||||||
|  | 			reset-names = "dwc2"; | ||||||
| 			phys = <&usbphy0>; | 			phys = <&usbphy0>; | ||||||
| 			phy-names = "usb2-phy"; | 			phy-names = "usb2-phy"; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
|  | @ -799,10 +940,5 @@ | ||||||
| 			clocks = <&osc1>; | 			clocks = <&osc1>; | ||||||
| 			status = "disabled"; | 			status = "disabled"; | ||||||
| 		}; | 		}; | ||||||
| 
 |  | ||||||
| 		sysmgr: sysmgr@ffd08000 { |  | ||||||
| 			compatible = "altr,sys-mgr", "syscon"; |  | ||||||
| 			reg = <0xffd08000 0x4000>; |  | ||||||
| 		}; |  | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| // SPDX-License-Identifier: GPL-2.0+ | // SPDX-License-Identifier: GPL-2.0 | ||||||
| /* | /* | ||||||
|  * Copyright (C) 2013 Altera Corporation <www.altera.com> |  * Copyright (C) 2013 Altera Corporation <www.altera.com> | ||||||
|  */ |  */ | ||||||
|  | @ -19,13 +19,10 @@ | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		mmc0: dwmmc0@ff704000 { | 		mmc0: dwmmc0@ff704000 { | ||||||
| 			num-slots = <1>; |  | ||||||
| 			broken-cd; | 			broken-cd; | ||||||
| 			bus-width = <4>; | 			bus-width = <4>; | ||||||
| 			cap-mmc-highspeed; | 			cap-mmc-highspeed; | ||||||
| 			cap-sd-highspeed; | 			cap-sd-highspeed; | ||||||
| 			drvsel = <3>; |  | ||||||
| 			smplsel = <0>; |  | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		sysmgr@ffd08000 { | 		sysmgr@ffd08000 { | ||||||
|  | @ -33,3 +30,7 @@ | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,56 @@ | ||||||
|  | // SPDX-License-Identifier: GPL-2.0+ | ||||||
|  | /* | ||||||
|  |  * U-Boot additions | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2013 Altera Corporation <www.altera.com> | ||||||
|  |  * Copyright (c) 2018 Simon Goldschmidt | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /{ | ||||||
|  | 	aliases { | ||||||
|  | 		spi0 = "/soc/spi@ff705000"; | ||||||
|  | 		udc0 = &usb1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	soc { | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &qspi { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &flash { | ||||||
|  | 	compatible = "n25q00", "spi-flash"; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart1 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | @ -10,22 +10,44 @@ | ||||||
| 	compatible = "altr,socfpga-arria5", "altr,socfpga"; | 	compatible = "altr,socfpga-arria5", "altr,socfpga"; | ||||||
| 
 | 
 | ||||||
| 	chosen { | 	chosen { | ||||||
| 		bootargs = "console=ttyS0,115200"; | 		bootargs = "earlyprintk"; | ||||||
| 		stdout-path = "serial0:115200n8"; | 		stdout-path = "serial0:115200n8"; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	memory { | 	memory@0 { | ||||||
| 		name = "memory"; | 		name = "memory"; | ||||||
| 		device_type = "memory"; | 		device_type = "memory"; | ||||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | 		reg = <0x0 0x40000000>; /* 1GB */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	aliases { | ||||||
| 		/* this allow the ethaddr uboot environment variable contents | 		/* this allow the ethaddr uboot environmnet variable contents | ||||||
| 		* to be added to the gmac1 device tree blob. | 		* to be added to the gmac1 device tree blob. | ||||||
| 		*/ | 		*/ | ||||||
| 		ethernet0 = &gmac1; | 		ethernet0 = &gmac1; | ||||||
| 		udc0 = &usb1; | 	}; | ||||||
|  | 
 | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 		hps0 { | ||||||
|  | 			label = "hps_led0"; | ||||||
|  | 			gpios = <&porta 0 1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps1 { | ||||||
|  | 			label = "hps_led1"; | ||||||
|  | 			gpios = <&portb 11 1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps2 { | ||||||
|  | 			label = "hps_led2"; | ||||||
|  | 			gpios = <&porta 17 1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps3 { | ||||||
|  | 			label = "hps_led3"; | ||||||
|  | 			gpios = <&porta 18 1>; | ||||||
|  | 		}; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	regulator_3_3v: 3-3-v-regulator { | 	regulator_3_3v: 3-3-v-regulator { | ||||||
|  | @ -34,10 +56,6 @@ | ||||||
| 		regulator-min-microvolt = <3300000>; | 		regulator-min-microvolt = <3300000>; | ||||||
| 		regulator-max-microvolt = <3300000>; | 		regulator-max-microvolt = <3300000>; | ||||||
| 	}; | 	}; | ||||||
| 
 |  | ||||||
| 	soc { |  | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 	}; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gmac1 { | &gmac1 { | ||||||
|  | @ -54,8 +72,28 @@ | ||||||
| 	rxc-skew-ps = <2000>; | 	rxc-skew-ps = <2000>; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | &gpio0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &gpio1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &gpio2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
|  | 	clock-frequency = <100000>; | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	 * adjust the falling times to decrease the i2c frequency to 50Khz | ||||||
|  | 	 * because the LCD module does not work at the standard 100Khz | ||||||
|  | 	 */ | ||||||
|  | 	i2c-sda-falling-time-ns = <5000>; | ||||||
|  | 	i2c-scl-falling-time-ns = <5000>; | ||||||
| 
 | 
 | ||||||
| 	eeprom@51 { | 	eeprom@51 { | ||||||
| 		compatible = "atmel,24c32"; | 		compatible = "atmel,24c32"; | ||||||
|  | @ -72,35 +110,42 @@ | ||||||
| &mmc0 { | &mmc0 { | ||||||
| 	vmmc-supply = <®ulator_3_3v>; | 	vmmc-supply = <®ulator_3_3v>; | ||||||
| 	vqmmc-supply = <®ulator_3_3v>; | 	vqmmc-supply = <®ulator_3_3v>; | ||||||
| 	bus-width = <4>; |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &usb1 { |  | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &qspi { | &qspi { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| 
 | 
 | ||||||
| 	flash0: n25q00@0 { | 	flash: flash@0 { | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <1>; | 		#size-cells = <1>; | ||||||
| 		compatible = "n25q00", "spi-flash"; | 		compatible = "n25q256a"; | ||||||
| 		reg = <0>;      /* chip select */ | 		reg = <0>; | ||||||
| 		spi-max-frequency = <50000000>; | 		spi-max-frequency = <100000000>; | ||||||
|  | 
 | ||||||
| 		m25p,fast-read; | 		m25p,fast-read; | ||||||
| 		page-size = <256>; | 		cdns,page-size = <256>; | ||||||
| 		block-size = <16>; /* 2^16, 64KB */ | 		cdns,block-size = <16>; | ||||||
|  | 		cdns,read-delay = <4>; | ||||||
| 		cdns,tshsl-ns = <50>; | 		cdns,tshsl-ns = <50>; | ||||||
| 		cdns,tsd2d-ns = <50>; | 		cdns,tsd2d-ns = <50>; | ||||||
| 		cdns,tchsh-ns = <4>; | 		cdns,tchsh-ns = <4>; | ||||||
| 		cdns,tslch-ns = <4>; | 		cdns,tslch-ns = <4>; | ||||||
|  | 
 | ||||||
|  | 		partition@qspi-boot { | ||||||
|  | 			/* 8MB for raw data. */ | ||||||
|  | 			label = "Flash 0 Raw Data"; | ||||||
|  | 			reg = <0x0 0x800000>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		partition@qspi-rootfs { | ||||||
|  | 			/* 120MB for jffs2 data. */ | ||||||
|  | 			label = "Flash 0 jffs2 Filesystem"; | ||||||
|  | 			reg = <0x800000 0x7800000>; | ||||||
|  | 		}; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &uart0 { | &usb1 { | ||||||
| 	u-boot,dm-pre-reloc; | 	status = "okay"; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -19,13 +19,10 @@ | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		mmc0: dwmmc0@ff704000 { | 		mmc0: dwmmc0@ff704000 { | ||||||
| 			num-slots = <1>; |  | ||||||
| 			broken-cd; | 			broken-cd; | ||||||
| 			bus-width = <4>; | 			bus-width = <4>; | ||||||
| 			cap-mmc-highspeed; | 			cap-mmc-highspeed; | ||||||
| 			cap-sd-highspeed; | 			cap-sd-highspeed; | ||||||
| 			drvsel = <3>; |  | ||||||
| 			smplsel = <0>; |  | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		sysmgr@ffd08000 { | 		sysmgr@ffd08000 { | ||||||
|  | @ -33,3 +30,7 @@ | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | @ -47,9 +47,20 @@ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| &mmc0 { | &mmc0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	bus-width = <4>; |  | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -61,3 +72,7 @@ | ||||||
| &uart0 { | &uart0 { | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,46 @@ | ||||||
|  | // SPDX-License-Identifier: GPL-2.0+ | ||||||
|  | /* | ||||||
|  |  * U-Boot additions | ||||||
|  |  * | ||||||
|  |  * Copyright Altera Corporation (C) 2015 | ||||||
|  |  * Copyright (c) 2018 Simon Goldschmidt | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /{ | ||||||
|  | 	aliases { | ||||||
|  | 		udc0 = &usb1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	soc { | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart1 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | @ -1,32 +1,43 @@ | ||||||
| // SPDX-License-Identifier: GPL-2.0+ | // SPDX-License-Identifier: GPL-2.0 | ||||||
| /* | /* | ||||||
|  * Copyright Altera Corporation (C) 2015 |  * Copyright Altera Corporation (C) 2015. All rights reserved. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "socfpga_cyclone5.dtsi" | #include "socfpga_cyclone5.dtsi" | ||||||
| 
 | 
 | ||||||
| / { | / { | ||||||
| 	model = "Terasic DE0-Nano(Atlas)"; | 	model = "Terasic DE-0(Atlas)"; | ||||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | 	compatible = "terasic,de0-atlas", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||||
| 
 | 
 | ||||||
| 	chosen { | 	chosen { | ||||||
| 		bootargs = "console=ttyS0,115200"; | 		bootargs = "earlyprintk"; | ||||||
| 		stdout-path = "serial0:115200n8"; | 		stdout-path = "serial0:115200n8"; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	memory@0 { | ||||||
| 		ethernet0 = &gmac1; |  | ||||||
| 		udc0 = &usb1; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	memory { |  | ||||||
| 		name = "memory"; | 		name = "memory"; | ||||||
| 		device_type = "memory"; | 		device_type = "memory"; | ||||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | 		reg = <0x0 0x40000000>; /* 1GB */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	soc { | 	aliases { | ||||||
| 		u-boot,dm-pre-reloc; | 		ethernet0 = &gmac1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	regulator_3_3v: 3-3-v-regulator { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "3.3V"; | ||||||
|  | 		regulator-min-microvolt = <3300000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 		hps0 { | ||||||
|  | 			label = "hps_led0"; | ||||||
|  | 			gpios = <&portb 24 0>; | ||||||
|  | 			linux,default-trigger = "heartbeat"; | ||||||
|  | 		}; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -34,14 +45,20 @@ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	phy-mode = "rgmii"; | 	phy-mode = "rgmii"; | ||||||
| 
 | 
 | ||||||
| 	rxd0-skew-ps = <420>; | 	txd0-skew-ps = <0>; /* -420ps */ | ||||||
| 	rxd1-skew-ps = <420>; | 	txd1-skew-ps = <0>; /* -420ps */ | ||||||
| 	rxd2-skew-ps = <420>; | 	txd2-skew-ps = <0>; /* -420ps */ | ||||||
| 	rxd3-skew-ps = <420>; | 	txd3-skew-ps = <0>; /* -420ps */ | ||||||
| 	txen-skew-ps = <0>; | 	rxd0-skew-ps = <420>; /* 0ps */ | ||||||
| 	txc-skew-ps = <1860>; | 	rxd1-skew-ps = <420>; /* 0ps */ | ||||||
| 	rxdv-skew-ps = <420>; | 	rxd2-skew-ps = <420>; /* 0ps */ | ||||||
| 	rxc-skew-ps = <1680>; | 	rxd3-skew-ps = <420>; /* 0ps */ | ||||||
|  | 	txen-skew-ps = <0>; /* -420ps */ | ||||||
|  | 	txc-skew-ps = <1860>; /* 960ps */ | ||||||
|  | 	rxdv-skew-ps = <420>; /* 0ps */ | ||||||
|  | 	rxc-skew-ps = <1680>; /* 780ps */ | ||||||
|  | 
 | ||||||
|  | 	max-frame-size = <3800>; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio0 { | &gpio0 { | ||||||
|  | @ -58,8 +75,9 @@ | ||||||
| 
 | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
|  | 	clock-frequency = <100000>; | ||||||
| 
 | 
 | ||||||
| 	dxl345: adxl345@0 { | 	adxl345: adxl345@53 { | ||||||
| 		compatible = "adi,adxl345"; | 		compatible = "adi,adxl345"; | ||||||
| 		reg = <0x53>; | 		reg = <0x53>; | ||||||
| 
 | 
 | ||||||
|  | @ -69,14 +87,15 @@ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &mmc0 { | &mmc0 { | ||||||
|  | 	vmmc-supply = <®ulator_3_3v>; | ||||||
|  | 	vqmmc-supply = <®ulator_3_3v>; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &usb1 { | &usb1 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 |  | ||||||
| &uart0 { |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  | @ -58,6 +58,18 @@ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| &mmc0 { | &mmc0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
|  | @ -70,3 +82,7 @@ | ||||||
| &uart0 { | &uart0 { | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | @ -56,6 +56,18 @@ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| &mmc0 { | &mmc0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
|  | @ -68,3 +80,7 @@ | ||||||
| &uart0 { | &uart0 { | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | @ -55,6 +55,10 @@ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 
 | 
 | ||||||
|  | @ -107,3 +111,7 @@ | ||||||
| &uart0 { | &uart0 { | ||||||
| 	u-boot,dm-pre-reloc; | 	u-boot,dm-pre-reloc; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,72 @@ | ||||||
|  | // SPDX-License-Identifier: GPL-2.0+ | ||||||
|  | /* | ||||||
|  |  * U-Boot additions | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2012 Altera Corporation <www.altera.com> | ||||||
|  |  * Copyright (c) 2018 Simon Goldschmidt | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /{ | ||||||
|  | 	aliases { | ||||||
|  | 		spi0 = "/soc/spi@ff705000"; | ||||||
|  | 		udc0 = &usb1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	soc { | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &can0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &qspi { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &flash0 { | ||||||
|  | 	compatible = "n25q00", "spi-flash"; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | 
 | ||||||
|  | 	partition@qspi-boot { | ||||||
|  | 		/* 8MB for raw data. */ | ||||||
|  | 		label = "Flash 0 Raw Data"; | ||||||
|  | 		reg = <0x0 0x800000>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	partition@qspi-rootfs { | ||||||
|  | 		/* 120MB for jffs2 data. */ | ||||||
|  | 		label = "Flash 0 jffs2 Filesystem"; | ||||||
|  | 		reg = <0x800000 0x7800000>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart1 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | @ -7,25 +7,47 @@ | ||||||
| 
 | 
 | ||||||
| / { | / { | ||||||
| 	model = "Altera SOCFPGA Cyclone V SoC Development Kit"; | 	model = "Altera SOCFPGA Cyclone V SoC Development Kit"; | ||||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | 	compatible = "altr,socfpga-cyclone5-socdk", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||||
| 
 | 
 | ||||||
| 	chosen { | 	chosen { | ||||||
| 		bootargs = "console=ttyS0,115200"; | 		bootargs = "earlyprintk"; | ||||||
| 		stdout-path = "serial0:115200n8"; | 		stdout-path = "serial0:115200n8"; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	memory { | 	memory@0 { | ||||||
| 		name = "memory"; | 		name = "memory"; | ||||||
| 		device_type = "memory"; | 		device_type = "memory"; | ||||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | 		reg = <0x0 0x40000000>; /* 1GB */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	aliases { | ||||||
| 		/* this allow the ethaddr uboot environment variable contents | 		/* this allow the ethaddr uboot environmnet variable contents | ||||||
| 		 * to be added to the gmac1 device tree blob. | 		 * to be added to the gmac1 device tree blob. | ||||||
| 		 */ | 		 */ | ||||||
| 		ethernet0 = &gmac1; | 		ethernet0 = &gmac1; | ||||||
| 		udc0 = &usb1; | 	}; | ||||||
|  | 
 | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 		hps0 { | ||||||
|  | 			label = "hps_led0"; | ||||||
|  | 			gpios = <&portb 15 1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps1 { | ||||||
|  | 			label = "hps_led1"; | ||||||
|  | 			gpios = <&portb 14 1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps2 { | ||||||
|  | 			label = "hps_led2"; | ||||||
|  | 			gpios = <&portb 13 1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps3 { | ||||||
|  | 			label = "hps_led3"; | ||||||
|  | 			gpios = <&portb 12 1>; | ||||||
|  | 		}; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	regulator_3_3v: 3-3-v-regulator { | 	regulator_3_3v: 3-3-v-regulator { | ||||||
|  | @ -34,10 +56,10 @@ | ||||||
| 		regulator-min-microvolt = <3300000>; | 		regulator-min-microvolt = <3300000>; | ||||||
| 		regulator-max-microvolt = <3300000>; | 		regulator-max-microvolt = <3300000>; | ||||||
| 	}; | 	}; | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| 	soc { | &can0 { | ||||||
| 		u-boot,dm-pre-reloc; | 	status = "okay"; | ||||||
| 	}; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gmac1 { | &gmac1 { | ||||||
|  | @ -68,6 +90,14 @@ | ||||||
| 
 | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
|  | 	clock-frequency = <100000>; | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	 * adjust the falling times to decrease the i2c frequency to 50Khz | ||||||
|  | 	 * because the LCD module does not work at the standard 100Khz | ||||||
|  | 	 */ | ||||||
|  | 	i2c-sda-falling-time-ns = <5000>; | ||||||
|  | 	i2c-scl-falling-time-ns = <5000>; | ||||||
| 
 | 
 | ||||||
| 	eeprom@51 { | 	eeprom@51 { | ||||||
| 		compatible = "atmel,24c32"; | 		compatible = "atmel,24c32"; | ||||||
|  | @ -82,39 +112,55 @@ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &mmc0 { | &mmc0 { | ||||||
| 	status = "okay"; |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| 
 |  | ||||||
| 	cd-gpios = <&portb 18 0>; | 	cd-gpios = <&portb 18 0>; | ||||||
| 	vmmc-supply = <®ulator_3_3v>; | 	vmmc-supply = <®ulator_3_3v>; | ||||||
| 	vqmmc-supply = <®ulator_3_3v>; | 	vqmmc-supply = <®ulator_3_3v>; | ||||||
|  | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &qspi { | &qspi { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| 
 | 
 | ||||||
| 	flash0: n25q00@0 { | 	flash0: n25q00@0 { | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <1>; | 		#size-cells = <1>; | ||||||
| 		compatible = "n25q00", "spi-flash"; | 		compatible = "n25q00"; | ||||||
| 		reg = <0>;	/* chip select */ | 		reg = <0>;	/* chip select */ | ||||||
| 		spi-max-frequency = <100000000>; | 		spi-max-frequency = <100000000>; | ||||||
|  | 
 | ||||||
| 		m25p,fast-read; | 		m25p,fast-read; | ||||||
| 		page-size = <256>; | 		cdns,page-size = <256>; | ||||||
| 		block-size = <16>; /* 2^16, 64KB */ | 		cdns,block-size = <16>; | ||||||
|  | 		cdns,read-delay = <4>; | ||||||
| 		cdns,tshsl-ns = <50>; | 		cdns,tshsl-ns = <50>; | ||||||
| 		cdns,tsd2d-ns = <50>; | 		cdns,tsd2d-ns = <50>; | ||||||
| 		cdns,tchsh-ns = <4>; | 		cdns,tchsh-ns = <4>; | ||||||
| 		cdns,tslch-ns = <4>; | 		cdns,tslch-ns = <4>; | ||||||
|  | 
 | ||||||
|  | 		partition@qspi-boot { | ||||||
|  | 			/* 8MB for raw data. */ | ||||||
|  | 			label = "Flash 0 Raw Data"; | ||||||
|  | 			reg = <0x0 0x800000>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		partition@qspi-rootfs { | ||||||
|  | 			/* 120MB for jffs2 data. */ | ||||||
|  | 			label = "Flash 0 jffs2 Filesystem"; | ||||||
|  | 			reg = <0x800000 0x7800000>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &spi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 
 | ||||||
|  | 	spidev@0 { | ||||||
|  | 		compatible = "rohm,dh2228fv"; | ||||||
|  | 		reg = <0>; | ||||||
|  | 		spi-max-frequency = <1000000>; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &usb1 { | &usb1 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 |  | ||||||
| &uart0 { |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  | @ -0,0 +1,56 @@ | ||||||
|  | // SPDX-License-Identifier: GPL-2.0+ | ||||||
|  | /* | ||||||
|  |  * U-Boot additions | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||||
|  |  * Copyright (c) 2018 Simon Goldschmidt | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /{ | ||||||
|  | 	aliases { | ||||||
|  | 		spi0 = "/soc/spi@ff705000"; | ||||||
|  | 		udc0 = &usb1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	soc { | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &qspi { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &flash { | ||||||
|  | 	compatible = "n25q00", "spi-flash"; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart1 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | @ -1,32 +1,121 @@ | ||||||
| // SPDX-License-Identifier: GPL-2.0+ | // SPDX-License-Identifier: GPL-2.0+ | ||||||
| /* | /* | ||||||
|  *  Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de> |  * Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "socfpga_cyclone5.dtsi" | #include "socfpga_cyclone5.dtsi" | ||||||
| 
 | 
 | ||||||
| / { | / { | ||||||
| 	model = "Terasic SoCkit"; | 	model = "Terasic SoCkit"; | ||||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | 	compatible = "terasic,socfpga-cyclone5-sockit", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||||
| 
 | 
 | ||||||
| 	chosen { | 	chosen { | ||||||
| 		bootargs = "console=ttyS0,115200"; | 		bootargs = "earlyprintk"; | ||||||
| 		stdout-path = "serial0:115200n8"; | 		stdout-path = "serial0:115200n8"; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	memory@0 { | ||||||
| 		ethernet0 = &gmac1; |  | ||||||
| 		udc0 = &usb1; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	memory { |  | ||||||
| 		name = "memory"; | 		name = "memory"; | ||||||
| 		device_type = "memory"; | 		device_type = "memory"; | ||||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | 		reg = <0x0 0x40000000>; /* 1GB */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	soc { | 	aliases { | ||||||
| 		u-boot,dm-pre-reloc; | 		/* this allow the ethaddr uboot environmnet variable contents | ||||||
|  | 		 * to be added to the gmac1 device tree blob. | ||||||
|  | 		 */ | ||||||
|  | 		ethernet0 = &gmac1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 
 | ||||||
|  | 		hps_led0 { | ||||||
|  | 			label = "hps:blue:led0"; | ||||||
|  | 			gpios = <&portb 24 0>;	/* HPS_GPIO53 */ | ||||||
|  | 			linux,default-trigger = "heartbeat"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_led1 { | ||||||
|  | 			label = "hps:blue:led1"; | ||||||
|  | 			gpios = <&portb 25 0>;	/* HPS_GPIO54 */ | ||||||
|  | 			linux,default-trigger = "heartbeat"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_led2 { | ||||||
|  | 			label = "hps:blue:led2"; | ||||||
|  | 			gpios = <&portb 26 0>;	/* HPS_GPIO55 */ | ||||||
|  | 			linux,default-trigger = "heartbeat"; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_led3 { | ||||||
|  | 			label = "hps:blue:led3"; | ||||||
|  | 			gpios = <&portb 27 0>;	/* HPS_GPIO56 */ | ||||||
|  | 			linux,default-trigger = "heartbeat"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	gpio-keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  | 
 | ||||||
|  | 		hps_sw0 { | ||||||
|  | 			label = "hps_sw0"; | ||||||
|  | 			gpios = <&portc 20 0>;	/* HPS_GPI7 */ | ||||||
|  | 			linux,input-type = <5>;	/* EV_SW */ | ||||||
|  | 			linux,code = <0x0>;	/* SW_LID */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_sw1 { | ||||||
|  | 			label = "hps_sw1"; | ||||||
|  | 			gpios = <&portc 19 0>;	/* HPS_GPI6 */ | ||||||
|  | 			linux,input-type = <5>;	/* EV_SW */ | ||||||
|  | 			linux,code = <0x5>;	/* SW_DOCK */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_sw2 { | ||||||
|  | 			label = "hps_sw2"; | ||||||
|  | 			gpios = <&portc 18 0>;	/* HPS_GPI5 */ | ||||||
|  | 			linux,input-type = <5>;	/* EV_SW */ | ||||||
|  | 			linux,code = <0xa>;	/* SW_KEYPAD_SLIDE */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_sw3 { | ||||||
|  | 			label = "hps_sw3"; | ||||||
|  | 			gpios = <&portc 17 0>;	/* HPS_GPI4 */ | ||||||
|  | 			linux,input-type = <5>;	/* EV_SW */ | ||||||
|  | 			linux,code = <0xc>;	/* SW_ROTATE_LOCK */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_hkey0 { | ||||||
|  | 			label = "hps_hkey0"; | ||||||
|  | 			gpios = <&portc 21 1>;	/* HPS_GPI8 */ | ||||||
|  | 			linux,code = <187>;	/* KEY_F17 */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_hkey1 { | ||||||
|  | 			label = "hps_hkey1"; | ||||||
|  | 			gpios = <&portc 22 1>;	/* HPS_GPI9 */ | ||||||
|  | 			linux,code = <188>;	/* KEY_F18 */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_hkey2 { | ||||||
|  | 			label = "hps_hkey2"; | ||||||
|  | 			gpios = <&portc 23 1>;	/* HPS_GPI10 */ | ||||||
|  | 			linux,code = <189>;	/* KEY_F19 */ | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_hkey3 { | ||||||
|  | 			label = "hps_hkey3"; | ||||||
|  | 			gpios = <&portc 24 1>;	/* HPS_GPI11 */ | ||||||
|  | 			linux,code = <190>;	/* KEY_F20 */ | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	regulator_3_3v: vcc3p3-regulator { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "VCC3P3"; | ||||||
|  | 		regulator-min-microvolt = <3300000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -44,46 +133,50 @@ | ||||||
| 	rxc-skew-ps = <2000>; | 	rxc-skew-ps = <2000>; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio0 { | &gpio0 {	/* GPIO 0..29 */ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio1 { | &gpio1 {	/* GPIO 30..57 */ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio2 { | &gpio2 {	/* GPIO 58..66 (HLGPI 0..13 at offset 13) */ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &i2c0 { | &i2c1 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 
 | 
 | ||||||
| 	rtc: rtc@68 { | 	accel1: accelerometer@53 { | ||||||
| 		compatible = "stm,m41t82"; | 		compatible = "adi,adxl345"; | ||||||
| 		reg = <0x68>; | 		reg = <0x53>; | ||||||
|  | 
 | ||||||
|  | 		interrupt-parent = <&portc>; | ||||||
|  | 		interrupts = <3 2>; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &mmc0 { | &mmc0 { | ||||||
|  | 	vmmc-supply = <®ulator_3_3v>; | ||||||
|  | 	vqmmc-supply = <®ulator_3_3v>; | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &qspi { | &qspi { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| 
 | 
 | ||||||
| 	flash0: n25q00@0 { | 	flash: flash@0 { | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <1>; | 		#size-cells = <1>; | ||||||
| 		compatible = "n25q00", "spi-flash"; | 		compatible = "n25q00"; | ||||||
| 		reg = <0>;      /* chip select */ | 		reg = <0>; | ||||||
| 		spi-max-frequency = <50000000>; | 		spi-max-frequency = <100000000>; | ||||||
|  | 
 | ||||||
| 		m25p,fast-read; | 		m25p,fast-read; | ||||||
| 		page-size = <256>; | 		cdns,page-size = <256>; | ||||||
| 		block-size = <16>; /* 2^16, 64KB */ | 		cdns,block-size = <16>; | ||||||
|  | 		cdns,read-delay = <4>; | ||||||
| 		cdns,tshsl-ns = <50>; | 		cdns,tshsl-ns = <50>; | ||||||
| 		cdns,tsd2d-ns = <50>; | 		cdns,tsd2d-ns = <50>; | ||||||
| 		cdns,tchsh-ns = <4>; | 		cdns,tchsh-ns = <4>; | ||||||
|  | @ -94,7 +187,3 @@ | ||||||
| &usb1 { | &usb1 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 |  | ||||||
| &uart0 { |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  | @ -0,0 +1,60 @@ | ||||||
|  | // SPDX-License-Identifier: GPL-2.0+ | ||||||
|  | /* | ||||||
|  |  * U-Boot additions | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||||
|  |  * Copyright (c) 2018 Simon Goldschmidt | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /{ | ||||||
|  | 	aliases { | ||||||
|  | 		spi0 = "/soc/spi@ff705000"; | ||||||
|  | 		udc0 = &usb1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	soc { | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &qspi { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &flash { | ||||||
|  | 	compatible = "n25q256a", "spi-flash"; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart1 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &usb1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | @ -9,83 +9,86 @@ | ||||||
| 	model = "EBV SOCrates"; | 	model = "EBV SOCrates"; | ||||||
| 	compatible = "ebv,socrates", "altr,socfpga-cyclone5", "altr,socfpga"; | 	compatible = "ebv,socrates", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||||
| 
 | 
 | ||||||
|  | 	aliases { | ||||||
|  | 		ethernet0 = &gmac1; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
| 	chosen { | 	chosen { | ||||||
| 		bootargs = "console=ttyS0,115200"; | 		bootargs = "earlyprintk"; | ||||||
| 		stdout-path = "serial0:115200n8"; | 		stdout-path = "serial0:115200n8"; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	memory@0 { | ||||||
| 		/* |  | ||||||
| 		 * This allows the ethaddr uboot environment variable |  | ||||||
| 		 * contents to be added to the gmac1 device tree blob. |  | ||||||
| 		 */ |  | ||||||
| 		ethernet0 = &gmac1; |  | ||||||
| 		udc0 = &usb1; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	memory { |  | ||||||
| 		name = "memory"; | 		name = "memory"; | ||||||
| 		device_type = "memory"; | 		device_type = "memory"; | ||||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | 		reg = <0x0 0x40000000>; /* 1GB */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	soc { | 	leds: gpio-leds { | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gmac1 { | &gmac1 { | ||||||
| 	status = "okay"; |  | ||||||
| 	phy-mode = "rgmii"; | 	phy-mode = "rgmii"; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| 	rxd0-skew-ps = <0>; | &gpio0 { | ||||||
| 	rxd1-skew-ps = <0>; | 	status = "okay"; | ||||||
| 	rxd2-skew-ps = <0>; | }; | ||||||
| 	rxd3-skew-ps = <0>; | 
 | ||||||
| 	txen-skew-ps = <0>; | &gpio1 { | ||||||
| 	txc-skew-ps = <2600>; | 	status = "okay"; | ||||||
| 	rxdv-skew-ps = <0>; |  | ||||||
| 	rxc-skew-ps = <2000>; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 
 | 
 | ||||||
| 	rtc: rtc@68 { | 	rtc: rtc@68 { | ||||||
| 		compatible = "stm,m41t82"; | 		compatible = "st,m41t82"; | ||||||
| 		reg = <0x68>; | 		reg = <0x68>; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &mmc0 { | &leds { | ||||||
|  | 	compatible = "gpio-leds"; | ||||||
|  | 
 | ||||||
|  | 	led0 { | ||||||
|  | 		label = "led:green:heartbeat"; | ||||||
|  | 		gpios = <&porta 28 1>; | ||||||
|  | 		linux,default-trigger = "heartbeat"; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	led1 { | ||||||
|  | 		label = "led:green:D7"; | ||||||
|  | 		gpios = <&portb 19 1>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	led2 { | ||||||
|  | 		label = "led:green:D8"; | ||||||
|  | 		gpios = <&portb 25 1>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &qspi { | &qspi { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 
 | 
 | ||||||
| 	flash0: n25q00@0 { | 	flash: flash@0 { | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <1>; | 		#size-cells = <1>; | ||||||
| 		compatible = "n25q00", "spi-flash"; | 		compatible = "n25q256a"; | ||||||
| 		reg = <0>;      /* chip select */ | 		reg = <0>; | ||||||
| 		spi-max-frequency = <50000000>; | 		spi-max-frequency = <100000000>; | ||||||
| 		m25p,fast-read; | 		m25p,fast-read; | ||||||
| 		page-size = <256>; | 		cdns,read-delay = <4>; | ||||||
| 		block-size = <16>; /* 2^16, 64KB */ |  | ||||||
| 		cdns,tshsl-ns = <50>; | 		cdns,tshsl-ns = <50>; | ||||||
| 		cdns,tsd2d-ns = <50>; | 		cdns,tsd2d-ns = <50>; | ||||||
| 		cdns,tchsh-ns = <4>; | 		cdns,tchsh-ns = <4>; | ||||||
| 		cdns,tslch-ns = <4>; | 		cdns,tslch-ns = <4>; | ||||||
|  | 		status = "okay"; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 |  | ||||||
| &usb1 { |  | ||||||
| 	disable-over-current; |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| &uart0 { |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  | @ -50,6 +50,18 @@ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	speed-mode = <0>; | 	speed-mode = <0>; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,60 @@ | ||||||
|  | // SPDX-License-Identifier: (GPL-2.0+ OR X11) | ||||||
|  | /* | ||||||
|  |  * U-Boot additions | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2015 Marek Vasut <marex@denx.de> | ||||||
|  |  * Copyright (c) 2018 Simon Goldschmidt | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /{ | ||||||
|  | 	aliases { | ||||||
|  | 		spi0 = "/soc/spi@ff705000"; | ||||||
|  | 		udc0 = &usb0; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	soc { | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &watchdog0 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &mmc { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &qspi { | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | 
 | ||||||
|  | 	n25q128@0 { | ||||||
|  | 		compatible = "n25q128", "spi-flash"; | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | 	n25q00@1 { | ||||||
|  | 		compatible = "n25q00", "spi-flash"; | ||||||
|  | 		u-boot,dm-pre-reloc; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart0 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | 	u-boot,dm-pre-reloc; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &uart1 { | ||||||
|  | 	clock-frequency = <100000000>; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &porta { | ||||||
|  | 	bank-name = "porta"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portb { | ||||||
|  | 	bank-name = "portb"; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &portc { | ||||||
|  | 	bank-name = "portc"; | ||||||
|  | }; | ||||||
|  | @ -1,39 +1,85 @@ | ||||||
| // SPDX-License-Identifier: GPL-2.0+ | // SPDX-License-Identifier: (GPL-2.0+ OR X11) | ||||||
| /* | /* | ||||||
|  * Copyright (C) 2015 Marek Vasut <marex@denx.de> |  * Copyright (C) 2015 Marek Vasut <marex@denx.de> | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "socfpga_cyclone5.dtsi" | #include "socfpga_cyclone5.dtsi" | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
| 
 | 
 | ||||||
| / { | / { | ||||||
| 	model = "samtec VIN|ING FPGA"; | 	model = "samtec VIN|ING FPGA"; | ||||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | 	compatible = "samtec,vining", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||||
| 
 | 
 | ||||||
| 	chosen { | 	chosen { | ||||||
| 		bootargs = "console=ttyS0,115200"; | 		bootargs = "earlyprintk"; | ||||||
| 		stdout-path = "serial0:115200n8"; | 		stdout-path = "serial0:115200n8"; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	aliases { | 	memory@0 { | ||||||
| 		ethernet0 = &gmac1; |  | ||||||
| 		udc0 = &usb0; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	memory { |  | ||||||
| 		name = "memory"; | 		name = "memory"; | ||||||
| 		device_type = "memory"; | 		device_type = "memory"; | ||||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | 		reg = <0x0 0x40000000>; /* 1GB */ | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	soc { | 	aliases { | ||||||
| 		u-boot,dm-pre-reloc; | 		/* | ||||||
|  | 		 * This allow the ethaddr uboot environment variable contents | ||||||
|  | 		 * to be added to the gmac1 device tree blob. | ||||||
|  | 		 */ | ||||||
|  | 		ethernet0 = &gmac1; | ||||||
|  | 		ethernet1 = &gmac0; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	gpio-keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  | 
 | ||||||
|  | 		hps_temp0 { | ||||||
|  | 			label = "BTN_0";			/* TEMP_OS */ | ||||||
|  | 			gpios = <&portc 18 GPIO_ACTIVE_LOW>;	/* HPS_GPIO60 */ | ||||||
|  | 			linux,code = <BTN_0>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_hkey0 { | ||||||
|  | 			label = "BTN_1";			/* DIS_PWR */ | ||||||
|  | 			gpios = <&portc 19 GPIO_ACTIVE_LOW>;	/* HPS_GPIO61 */ | ||||||
|  | 			linux,code = <BTN_1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		hps_hkey1 { | ||||||
|  | 			label = "hps_hkey1";			/* POWER_DOWN */ | ||||||
|  | 			gpios = <&portc 20 GPIO_ACTIVE_LOW>;	/* HPS_GPIO62 */ | ||||||
|  | 			linux,code = <KEY_POWER>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	regulator-usb-nrst { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "usb_nrst"; | ||||||
|  | 		regulator-min-microvolt = <5000000>; | ||||||
|  | 		regulator-max-microvolt = <5000000>; | ||||||
|  | 		gpio = <&portb 5 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		startup-delay-us = <70000>; | ||||||
|  | 		enable-active-high; | ||||||
|  | 		regulator-always-on; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gmac1 { | &gmac1 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	phy-mode = "rgmii"; | 	phy-mode = "rgmii"; | ||||||
|  | 	phy-handle = <&phy1>; | ||||||
| 
 | 
 | ||||||
|  | 	snps,reset-gpio = <&porta 0 GPIO_ACTIVE_LOW>; | ||||||
|  | 	snps,reset-active-low; | ||||||
|  | 	snps,reset-delays-us = <10000 10000 10000>; | ||||||
|  | 
 | ||||||
|  | 	mdio0 { | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		compatible = "snps,dwmac-mdio"; | ||||||
|  | 		phy1: ethernet-phy@1 { | ||||||
|  | 			reg = <1>; | ||||||
| 			rxd0-skew-ps = <0>; | 			rxd0-skew-ps = <0>; | ||||||
| 			rxd1-skew-ps = <0>; | 			rxd1-skew-ps = <0>; | ||||||
| 			rxd2-skew-ps = <0>; | 			rxd2-skew-ps = <0>; | ||||||
|  | @ -42,59 +88,151 @@ | ||||||
| 			txc-skew-ps = <2600>; | 			txc-skew-ps = <2600>; | ||||||
| 			rxdv-skew-ps = <0>; | 			rxdv-skew-ps = <0>; | ||||||
| 			rxc-skew-ps = <2000>; | 			rxc-skew-ps = <2000>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio0 { | &gpio0 {	/* GPIO 0..29 */ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio1 { | &gpio1 {	/* GPIO 30..57 */ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &gpio2 { | &gpio2 {	/* GPIO 58..66 (HLGPI 0..13 at offset 13) */ | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &i2c0 { | &i2c0 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 
 | 
 | ||||||
| 	rtc: rtc@68 { | 	gpio: pca9557@1f { | ||||||
| 		compatible = "stm,m41t82"; | 		compatible = "nxp,pca9557"; | ||||||
| 		reg = <0x68>; | 		reg = <0x1f>; | ||||||
|  | 		gpio-controller; | ||||||
|  | 		#gpio-cells = <2>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	temp: lm75@48 { | ||||||
|  | 		compatible = "lm75"; | ||||||
|  | 		reg = <0x48>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	at24@50 { | ||||||
|  | 		compatible = "atmel,24c01"; | ||||||
|  | 		pagesize = <8>; | ||||||
|  | 		reg = <0x50>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	i2cswitch@70 { | ||||||
|  | 		compatible = "nxp,pca9548"; | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		reg = <0x70>; | ||||||
|  | 
 | ||||||
|  | 		i2c@0 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <0>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@1 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <1>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@2 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <2>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@3 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <3>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@4 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <4>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@5 { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <5>; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@6 {	/* Backplane EEPROM */ | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <6>; | ||||||
|  | 			eeprom@51 { | ||||||
|  | 				compatible = "atmel,24c01"; | ||||||
|  | 				pagesize = <8>; | ||||||
|  | 				reg = <0x51>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		i2c@7 {	/* Power board EEPROM */ | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  | 			reg = <7>; | ||||||
|  | 			eeprom@51 { | ||||||
|  | 				compatible = "atmel,24c01"; | ||||||
|  | 				pagesize = <8>; | ||||||
|  | 				reg = <0x51>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | &i2c1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	clock-frequency = <100000>; | ||||||
|  | 
 | ||||||
|  | 	at24@50 { | ||||||
|  | 		compatible = "atmel,24c02"; | ||||||
|  | 		pagesize = <8>; | ||||||
|  | 		reg = <0x50>; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &qspi { | &qspi { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| 
 | 
 | ||||||
| 	flash0: n25q128@0 { | 	n25q128@0 { | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <1>; | 		#size-cells = <1>; | ||||||
| 		compatible = "n25q128", "spi-flash"; | 		compatible = "n25q128"; | ||||||
| 		reg = <0>;		/* chip select */ | 		reg = <0>;		/* chip select */ | ||||||
| 		spi-max-frequency = <50000000>; | 		spi-max-frequency = <100000000>; | ||||||
| 		m25p,fast-read; | 		m25p,fast-read; | ||||||
| 		page-size = <256>; | 
 | ||||||
| 		block-size = <16>; /* 2^16, 64KB */ | 		cdns,page-size = <256>; | ||||||
|  | 		cdns,block-size = <16>; | ||||||
|  | 		cdns,read-delay = <4>; | ||||||
| 		cdns,tshsl-ns = <50>; | 		cdns,tshsl-ns = <50>; | ||||||
| 		cdns,tsd2d-ns = <50>; | 		cdns,tsd2d-ns = <50>; | ||||||
| 		cdns,tchsh-ns = <4>; | 		cdns,tchsh-ns = <4>; | ||||||
| 		cdns,tslch-ns = <4>; | 		cdns,tslch-ns = <4>; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	flash1: n25q00@1 { | 	n25q00@1 { | ||||||
| 		u-boot,dm-pre-reloc; |  | ||||||
| 		#address-cells = <1>; | 		#address-cells = <1>; | ||||||
| 		#size-cells = <1>; | 		#size-cells = <1>; | ||||||
| 		compatible = "n25q00", "spi-flash"; | 		compatible = "n25q00"; | ||||||
| 		reg = <1>;		/* chip select */ | 		reg = <1>;		/* chip select */ | ||||||
| 		spi-max-frequency = <50000000>; | 		spi-max-frequency = <100000000>; | ||||||
| 		m25p,fast-read; | 		m25p,fast-read; | ||||||
| 		page-size = <256>; | 
 | ||||||
| 		block-size = <16>; /* 2^16, 64KB */ | 		cdns,page-size = <256>; | ||||||
|  | 		cdns,block-size = <16>; | ||||||
|  | 		cdns,read-delay = <4>; | ||||||
| 		cdns,tshsl-ns = <50>; | 		cdns,tshsl-ns = <50>; | ||||||
| 		cdns,tsd2d-ns = <50>; | 		cdns,tsd2d-ns = <50>; | ||||||
| 		cdns,tchsh-ns = <4>; | 		cdns,tchsh-ns = <4>; | ||||||
|  | @ -103,13 +241,11 @@ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &usb0 { | &usb0 { | ||||||
|  | 	dr_mode = "host"; | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| &usb1 { | &usb1 { | ||||||
|  | 	dr_mode = "peripheral"; | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
| 
 |  | ||||||
| &uart0 { |  | ||||||
| 	u-boot,dm-pre-reloc; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue