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
					
				|  | @ -1,9 +1,8 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| /* | ||||
|  *  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> | ||||
| 
 | ||||
| / { | ||||
|  | @ -11,34 +10,26 @@ | |||
| 	#size-cells = <1>; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac0; | ||||
| 		ethernet1 = &gmac1; | ||||
| 		i2c0 = &i2c0; | ||||
| 		i2c1 = &i2c1; | ||||
| 		i2c2 = &i2c2; | ||||
| 		i2c3 = &i2c3; | ||||
| 		serial0 = &uart0; | ||||
| 		serial1 = &uart1; | ||||
| 		timer0 = &timer0; | ||||
| 		timer1 = &timer1; | ||||
| 		timer2 = &timer2; | ||||
| 		timer3 = &timer3; | ||||
| 		spi0 = &qspi; | ||||
| 		spi1 = &spi0; | ||||
| 		spi2 = &spi1; | ||||
| 	}; | ||||
| 
 | ||||
| 	cpus { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		enable-method = "altr,socfpga-smp"; | ||||
| 
 | ||||
| 		cpu@0 { | ||||
| 		cpu0: cpu@0 { | ||||
| 			compatible = "arm,cortex-a9"; | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <0>; | ||||
| 			next-level-cache = <&L2>; | ||||
| 		}; | ||||
| 		cpu@1 { | ||||
| 		cpu1: cpu@1 { | ||||
| 			compatible = "arm,cortex-a9"; | ||||
| 			device_type = "cpu"; | ||||
| 			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 { | ||||
| 		compatible = "arm,cortex-a9-gic"; | ||||
| 		#interrupt-cells = <3>; | ||||
|  | @ -63,7 +63,7 @@ | |||
| 		ranges; | ||||
| 
 | ||||
| 		amba { | ||||
| 			compatible = "arm,amba-bus"; | ||||
| 			compatible = "simple-bus"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
| 			ranges; | ||||
|  | @ -87,6 +87,14 @@ | |||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		base_fpga_region { | ||||
| 			compatible = "fpga-region"; | ||||
| 			fpga-mgr = <&fpgamgr0>; | ||||
| 
 | ||||
| 			#address-cells = <0x1>; | ||||
| 			#size-cells = <0x1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		can0: can@ffc00000 { | ||||
| 			compatible = "bosch,d_can"; | ||||
| 			reg = <0xffc00000 0x1000>; | ||||
|  | @ -131,7 +139,7 @@ | |||
| 						compatible = "fixed-clock"; | ||||
| 					}; | ||||
| 
 | ||||
| 					main_pll: main_pll { | ||||
| 					main_pll: main_pll@40 { | ||||
| 						#address-cells = <1>; | ||||
| 						#size-cells = <0>; | ||||
| 						#clock-cells = <0>; | ||||
|  | @ -139,7 +147,7 @@ | |||
| 						clocks = <&osc1>; | ||||
| 						reg = <0x40>; | ||||
| 
 | ||||
| 						mpuclk: mpuclk { | ||||
| 						mpuclk: mpuclk@48 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&main_pll>; | ||||
|  | @ -147,7 +155,7 @@ | |||
| 							reg = <0x48>; | ||||
| 						}; | ||||
| 
 | ||||
| 						mainclk: mainclk { | ||||
| 						mainclk: mainclk@4c { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&main_pll>; | ||||
|  | @ -155,29 +163,29 @@ | |||
| 							reg = <0x4C>; | ||||
| 						}; | ||||
| 
 | ||||
| 						dbg_base_clk: dbg_base_clk { | ||||
| 						dbg_base_clk: dbg_base_clk@50 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&main_pll>; | ||||
| 							clocks = <&main_pll>, <&osc1>; | ||||
| 							div-reg = <0xe8 0 9>; | ||||
| 							reg = <0x50>; | ||||
| 						}; | ||||
| 
 | ||||
| 						main_qspi_clk: main_qspi_clk { | ||||
| 						main_qspi_clk: main_qspi_clk@54 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&main_pll>; | ||||
| 							reg = <0x54>; | ||||
| 						}; | ||||
| 
 | ||||
| 						main_nand_sdmmc_clk: main_nand_sdmmc_clk { | ||||
| 						main_nand_sdmmc_clk: main_nand_sdmmc_clk@58 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&main_pll>; | ||||
| 							reg = <0x58>; | ||||
| 						}; | ||||
| 
 | ||||
| 						cfg_h2f_usr0_clk: cfg_h2f_usr0_clk { | ||||
| 						cfg_h2f_usr0_clk: cfg_h2f_usr0_clk@5c { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&main_pll>; | ||||
|  | @ -185,7 +193,7 @@ | |||
| 						}; | ||||
| 					}; | ||||
| 
 | ||||
| 					periph_pll: periph_pll { | ||||
| 					periph_pll: periph_pll@80 { | ||||
| 						#address-cells = <1>; | ||||
| 						#size-cells = <0>; | ||||
| 						#clock-cells = <0>; | ||||
|  | @ -193,42 +201,42 @@ | |||
| 						clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>; | ||||
| 						reg = <0x80>; | ||||
| 
 | ||||
| 						emac0_clk: emac0_clk { | ||||
| 						emac0_clk: emac0_clk@88 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&periph_pll>; | ||||
| 							reg = <0x88>; | ||||
| 						}; | ||||
| 
 | ||||
| 						emac1_clk: emac1_clk { | ||||
| 						emac1_clk: emac1_clk@8c { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&periph_pll>; | ||||
| 							reg = <0x8C>; | ||||
| 						}; | ||||
| 
 | ||||
| 						per_qspi_clk: per_qsi_clk { | ||||
| 						per_qspi_clk: per_qsi_clk@90 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&periph_pll>; | ||||
| 							reg = <0x90>; | ||||
| 						}; | ||||
| 
 | ||||
| 						per_nand_mmc_clk: per_nand_mmc_clk { | ||||
| 						per_nand_mmc_clk: per_nand_mmc_clk@94 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&periph_pll>; | ||||
| 							reg = <0x94>; | ||||
| 						}; | ||||
| 
 | ||||
| 						per_base_clk: per_base_clk { | ||||
| 						per_base_clk: per_base_clk@98 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&periph_pll>; | ||||
| 							reg = <0x98>; | ||||
| 						}; | ||||
| 
 | ||||
| 						h2f_usr1_clk: h2f_usr1_clk { | ||||
| 						h2f_usr1_clk: h2f_usr1_clk@9c { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&periph_pll>; | ||||
|  | @ -236,7 +244,7 @@ | |||
| 						}; | ||||
| 					}; | ||||
| 
 | ||||
| 					sdram_pll: sdram_pll { | ||||
| 					sdram_pll: sdram_pll@c0 { | ||||
| 						#address-cells = <1>; | ||||
| 						#size-cells = <0>; | ||||
| 						#clock-cells = <0>; | ||||
|  | @ -244,28 +252,28 @@ | |||
| 						clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>; | ||||
| 						reg = <0xC0>; | ||||
| 
 | ||||
| 						ddr_dqs_clk: ddr_dqs_clk { | ||||
| 						ddr_dqs_clk: ddr_dqs_clk@c8 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&sdram_pll>; | ||||
| 							reg = <0xC8>; | ||||
| 						}; | ||||
| 
 | ||||
| 						ddr_2x_dqs_clk: ddr_2x_dqs_clk { | ||||
| 						ddr_2x_dqs_clk: ddr_2x_dqs_clk@cc { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&sdram_pll>; | ||||
| 							reg = <0xCC>; | ||||
| 						}; | ||||
| 
 | ||||
| 						ddr_dq_clk: ddr_dq_clk { | ||||
| 						ddr_dq_clk: ddr_dq_clk@d0 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&sdram_pll>; | ||||
| 							reg = <0xD0>; | ||||
| 						}; | ||||
| 
 | ||||
| 						h2f_usr2_clk: h2f_usr2_clk { | ||||
| 						h2f_usr2_clk: h2f_usr2_clk@d4 { | ||||
| 							#clock-cells = <0>; | ||||
| 							compatible = "altr,socfpga-perip-clk"; | ||||
| 							clocks = <&sdram_pll>; | ||||
|  | @ -312,7 +320,7 @@ | |||
| 					l3_sp_clk: l3_sp_clk { | ||||
| 						#clock-cells = <0>; | ||||
| 						compatible = "altr,socfpga-gate-clk"; | ||||
| 						clocks = <&mainclk>; | ||||
| 						clocks = <&l3_mp_clk>; | ||||
| 						div-reg = <0x64 2 2>; | ||||
| 					}; | ||||
| 
 | ||||
|  | @ -343,7 +351,7 @@ | |||
| 					dbg_clk: dbg_clk { | ||||
| 						#clock-cells = <0>; | ||||
| 						compatible = "altr,socfpga-gate-clk"; | ||||
| 						clocks = <&dbg_base_clk>; | ||||
| 						clocks = <&dbg_at_clk>; | ||||
| 						div-reg = <0x68 2 2>; | ||||
| 						clk-gate = <0x60 5>; | ||||
| 					}; | ||||
|  | @ -446,6 +454,14 @@ | |||
| 						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 { | ||||
| 						#clock-cells = <0>; | ||||
| 						compatible = "altr,socfpga-gate-clk"; | ||||
|  | @ -453,10 +469,17 @@ | |||
| 						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 { | ||||
| 						#clock-cells = <0>; | ||||
| 						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>; | ||||
| 						fixed-divider = <4>; | ||||
| 					}; | ||||
|  | @ -467,8 +490,58 @@ | |||
| 						clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>; | ||||
| 						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 { | ||||
| 			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; | ||||
|  | @ -477,12 +550,14 @@ | |||
| 			interrupts = <0 115 4>; | ||||
| 			interrupt-names = "macirq"; | ||||
| 			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | ||||
| 			clocks = <&emac0_clk>; | ||||
| 			clocks = <&emac_0_clk>; | ||||
| 			clock-names = "stmmaceth"; | ||||
| 			resets = <&rst EMAC0_RESET>; | ||||
| 			reset-names = "stmmaceth"; | ||||
| 			snps,multicast-filter-bins = <256>; | ||||
| 			snps,perfect-filter-entries = <128>; | ||||
| 			tx-fifo-depth = <4096>; | ||||
| 			rx-fifo-depth = <4096>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
|  | @ -493,60 +568,14 @@ | |||
| 			interrupts = <0 120 4>; | ||||
| 			interrupt-names = "macirq"; | ||||
| 			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | ||||
| 			clocks = <&emac1_clk>; | ||||
| 			clocks = <&emac_1_clk>; | ||||
| 			clock-names = "stmmaceth"; | ||||
| 			resets = <&rst EMAC1_RESET>; | ||||
| 			reset-names = "stmmaceth"; | ||||
| 			snps,multicast-filter-bins = <256>; | ||||
| 			snps,perfect-filter-entries = <128>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		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>; | ||||
| 			tx-fifo-depth = <4096>; | ||||
| 			rx-fifo-depth = <4096>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
|  | @ -555,12 +584,11 @@ | |||
| 			#size-cells = <0>; | ||||
| 			compatible = "snps,dw-apb-gpio"; | ||||
| 			reg = <0xff708000 0x1000>; | ||||
| 			clocks = <&per_base_clk>; | ||||
| 			clocks = <&l4_mp_clk>; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			porta: gpio-controller@0 { | ||||
| 				compatible = "snps,dw-apb-gpio-port"; | ||||
| 				bank-name = "porta"; | ||||
| 				gpio-controller; | ||||
| 				#gpio-cells = <2>; | ||||
| 				snps,nr-gpios = <29>; | ||||
|  | @ -576,12 +604,11 @@ | |||
| 			#size-cells = <0>; | ||||
| 			compatible = "snps,dw-apb-gpio"; | ||||
| 			reg = <0xff709000 0x1000>; | ||||
| 			clocks = <&per_base_clk>; | ||||
| 			clocks = <&l4_mp_clk>; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			portb: gpio-controller@0 { | ||||
| 				compatible = "snps,dw-apb-gpio-port"; | ||||
| 				bank-name = "portb"; | ||||
| 				gpio-controller; | ||||
| 				#gpio-cells = <2>; | ||||
| 				snps,nr-gpios = <29>; | ||||
|  | @ -597,12 +624,11 @@ | |||
| 			#size-cells = <0>; | ||||
| 			compatible = "snps,dw-apb-gpio"; | ||||
| 			reg = <0xff70a000 0x1000>; | ||||
| 			clocks = <&per_base_clk>; | ||||
| 			clocks = <&l4_mp_clk>; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			portc: gpio-controller@0 { | ||||
| 				compatible = "snps,dw-apb-gpio-port"; | ||||
| 				bank-name = "portc"; | ||||
| 				gpio-controller; | ||||
| 				#gpio-cells = <2>; | ||||
| 				snps,nr-gpios = <27>; | ||||
|  | @ -613,15 +639,68 @@ | |||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		sdr: sdr@ffc25000 { | ||||
| 			compatible = "syscon"; | ||||
| 			reg = <0xffc25000 0x1000>; | ||||
| 		i2c0: i2c@ffc04000 { | ||||
| 			#address-cells = <1>; | ||||
| 			#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 { | ||||
| 			compatible = "altr,sdram-edac"; | ||||
| 			altr,sdr-syscon = <&sdr>; | ||||
| 			interrupts = <0 39 4>; | ||||
| 		i2c1: i2c@ffc05000 { | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			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 { | ||||
|  | @ -632,36 +711,89 @@ | |||
| 			cache-level = <2>; | ||||
| 			arm,tag-latency = <1 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"; | ||||
| 			reg = <0xff704000 0x1000>; | ||||
| 			interrupts = <0 139 4>; | ||||
| 			fifo-depth = <0x400>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			clocks = <&l4_mp_clk>, <&sdmmc_clk>; | ||||
| 			clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>; | ||||
| 			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 { | ||||
| 			compatible = "cdns,qspi-nor"; | ||||
| 			#address-cells = <1>; | ||||
|                         #address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			reg = <0xff705000 0x1000>, | ||||
| 				<0xffa00000 0x1000>; | ||||
| 			      <0xffa00000 0x1000>; | ||||
| 			interrupts = <0 151 4>; | ||||
| 			clocks = <&qspi_clk>; | ||||
| 			ext-decoder = <0>;  /* external decoder */ | ||||
| 			num-cs = <4>; | ||||
| 			cdns,fifo-depth = <128>; | ||||
| 			cdns,fifo-width = <4>; | ||||
| 			cdns,trigger-address = <0x00000000>; | ||||
| 			bus-num = <2>; | ||||
| 			clocks = <&qspi_clk>; | ||||
| 			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 { | ||||
| 			compatible = "snps,dw-apb-ssi"; | ||||
| 			#address-cells = <1>; | ||||
|  | @ -669,10 +801,7 @@ | |||
| 			reg = <0xfff00000 0x1000>; | ||||
| 			interrupts = <0 154 4>; | ||||
| 			num-cs = <4>; | ||||
| 			bus-num = <0>; | ||||
| 			tx-dma-channel = <&pdma 16>; | ||||
| 			rx-dma-channel = <&pdma 17>; | ||||
| 			clocks = <&per_base_clk>; | ||||
| 			clocks = <&spi_m_clk>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
|  | @ -681,20 +810,22 @@ | |||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			reg = <0xfff01000 0x1000>; | ||||
| 			interrupts = <0 156 4>; | ||||
| 			interrupts = <0 155 4>; | ||||
| 			num-cs = <4>; | ||||
| 			bus-num = <1>; | ||||
| 			tx-dma-channel = <&pdma 20>; | ||||
| 			rx-dma-channel = <&pdma 21>; | ||||
| 			clocks = <&per_base_clk>; | ||||
| 			clocks = <&spi_m_clk>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		sysmgr: sysmgr@ffd08000 { | ||||
| 			compatible = "altr,sys-mgr", "syscon"; | ||||
| 			reg = <0xffd08000 0x4000>; | ||||
| 		}; | ||||
| 
 | ||||
| 		/* Local timer */ | ||||
| 		timer@fffec600 { | ||||
| 			compatible = "arm,cortex-a9-twd-timer"; | ||||
| 			reg = <0xfffec600 0x100>; | ||||
| 			interrupts = <1 13 0xf04>; | ||||
| 			interrupts = <1 13 0xf01>; | ||||
| 			clocks = <&mpu_periph_clk>; | ||||
| 		}; | ||||
| 
 | ||||
|  | @ -704,6 +835,8 @@ | |||
| 			reg = <0xffc08000 0x1000>; | ||||
| 			clocks = <&l4_sp_clk>; | ||||
| 			clock-names = "timer"; | ||||
| 			resets = <&rst SPTIMER0_RESET>; | ||||
| 			reset-names = "timer"; | ||||
| 		}; | ||||
| 
 | ||||
| 		timer1: timer1@ffc09000 { | ||||
|  | @ -712,6 +845,8 @@ | |||
| 			reg = <0xffc09000 0x1000>; | ||||
| 			clocks = <&l4_sp_clk>; | ||||
| 			clock-names = "timer"; | ||||
| 			resets = <&rst SPTIMER1_RESET>; | ||||
| 			reset-names = "timer"; | ||||
| 		}; | ||||
| 
 | ||||
| 		timer2: timer2@ffd00000 { | ||||
|  | @ -720,6 +855,8 @@ | |||
| 			reg = <0xffd00000 0x1000>; | ||||
| 			clocks = <&osc1>; | ||||
| 			clock-names = "timer"; | ||||
| 			resets = <&rst OSC1TIMER0_RESET>; | ||||
| 			reset-names = "timer"; | ||||
| 		}; | ||||
| 
 | ||||
| 		timer3: timer3@ffd01000 { | ||||
|  | @ -728,6 +865,8 @@ | |||
| 			reg = <0xffd01000 0x1000>; | ||||
| 			clocks = <&osc1>; | ||||
| 			clock-names = "timer"; | ||||
| 			resets = <&rst OSC1TIMER1_RESET>; | ||||
| 			reset-names = "timer"; | ||||
| 		}; | ||||
| 
 | ||||
| 		uart0: serial0@ffc02000 { | ||||
|  | @ -737,7 +876,9 @@ | |||
| 			reg-shift = <2>; | ||||
| 			reg-io-width = <4>; | ||||
| 			clocks = <&l4_sp_clk>; | ||||
| 			clock-frequency = <100000000>; | ||||
| 			dmas = <&pdma 28>, | ||||
| 			       <&pdma 29>; | ||||
| 			dma-names = "tx", "rx"; | ||||
| 		}; | ||||
| 
 | ||||
| 		uart1: serial1@ffc03000 { | ||||
|  | @ -747,16 +888,12 @@ | |||
| 			reg-shift = <2>; | ||||
| 			reg-io-width = <4>; | ||||
| 			clocks = <&l4_sp_clk>; | ||||
| 			clock-frequency = <100000000>; | ||||
| 			dmas = <&pdma 30>, | ||||
| 			       <&pdma 31>; | ||||
| 			dma-names = "tx", "rx"; | ||||
| 		}; | ||||
| 
 | ||||
| 		rst: rstmgr@ffd05000 { | ||||
| 			#reset-cells = <1>; | ||||
| 			compatible = "altr,rst-mgr"; | ||||
| 			reg = <0xffd05000 0x1000>; | ||||
| 		}; | ||||
| 
 | ||||
| 		usbphy0: usbphy@0 { | ||||
| 		usbphy0: usbphy { | ||||
| 			#phy-cells = <0>; | ||||
| 			compatible = "usb-nop-xceiv"; | ||||
| 			status = "okay"; | ||||
|  | @ -768,6 +905,8 @@ | |||
| 			interrupts = <0 125 4>; | ||||
| 			clocks = <&usb_mp_clk>; | ||||
| 			clock-names = "otg"; | ||||
| 			resets = <&rst USB0_RESET>; | ||||
| 			reset-names = "dwc2"; | ||||
| 			phys = <&usbphy0>; | ||||
| 			phy-names = "usb2-phy"; | ||||
| 			status = "disabled"; | ||||
|  | @ -779,6 +918,8 @@ | |||
| 			interrupts = <0 128 4>; | ||||
| 			clocks = <&usb_mp_clk>; | ||||
| 			clock-names = "otg"; | ||||
| 			resets = <&rst USB1_RESET>; | ||||
| 			reset-names = "dwc2"; | ||||
| 			phys = <&usbphy0>; | ||||
| 			phy-names = "usb2-phy"; | ||||
| 			status = "disabled"; | ||||
|  | @ -799,10 +940,5 @@ | |||
| 			clocks = <&osc1>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		sysmgr: sysmgr@ffd08000 { | ||||
| 			compatible = "altr,sys-mgr", "syscon"; | ||||
| 			reg = <0xffd08000 0x4000>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| // 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> | ||||
|  */ | ||||
| 
 | ||||
| /dts-v1/; | ||||
|  | @ -19,13 +19,10 @@ | |||
| 		}; | ||||
| 
 | ||||
| 		mmc0: dwmmc0@ff704000 { | ||||
| 			num-slots = <1>; | ||||
| 			broken-cd; | ||||
| 			bus-width = <4>; | ||||
| 			cap-mmc-highspeed; | ||||
| 			cap-sd-highspeed; | ||||
| 			drvsel = <3>; | ||||
| 			smplsel = <0>; | ||||
| 		}; | ||||
| 
 | ||||
| 		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"; | ||||
| }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| /* | ||||
|  *  Copyright (C) 2013 Altera Corporation <www.altera.com> | ||||
|  * Copyright (C) 2013 Altera Corporation <www.altera.com> | ||||
|  */ | ||||
| 
 | ||||
| #include "socfpga_arria5.dtsi" | ||||
|  | @ -10,22 +10,44 @@ | |||
| 	compatible = "altr,socfpga-arria5", "altr,socfpga"; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 		bootargs = "earlyprintk"; | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 	memory@0 { | ||||
| 		name = "memory"; | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | ||||
| 	}; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		/* this allow the ethaddr uboot environment variable contents | ||||
| 		 * to be added to the gmac1 device tree blob. | ||||
| 		 */ | ||||
| 		/* this allow the ethaddr uboot environmnet variable contents | ||||
| 		* to be added to the gmac1 device tree blob. | ||||
| 		*/ | ||||
| 		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 { | ||||
|  | @ -34,10 +56,6 @@ | |||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &gmac1 { | ||||
|  | @ -54,8 +72,28 @@ | |||
| 	rxc-skew-ps = <2000>; | ||||
| }; | ||||
| 
 | ||||
| &gpio0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	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 { | ||||
| 		compatible = "atmel,24c32"; | ||||
|  | @ -72,35 +110,42 @@ | |||
| &mmc0 { | ||||
| 	vmmc-supply = <®ulator_3_3v>; | ||||
| 	vqmmc-supply = <®ulator_3_3v>; | ||||
| 	bus-width = <4>; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
| &usb1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &qspi { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| 
 | ||||
| 	flash0: n25q00@0 { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	flash: flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "n25q00", "spi-flash"; | ||||
| 		reg = <0>;      /* chip select */ | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		compatible = "n25q256a"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <100000000>; | ||||
| 
 | ||||
| 		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,tsd2d-ns = <50>; | ||||
| 		cdns,tchsh-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 { | ||||
| 	u-boot,dm-pre-reloc; | ||||
| &usb1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| /* | ||||
|  *  Copyright (C) 2012 Altera Corporation <www.altera.com> | ||||
|  * Copyright (C) 2012 Altera Corporation <www.altera.com> | ||||
|  */ | ||||
| 
 | ||||
| /dts-v1/; | ||||
|  | @ -19,13 +19,10 @@ | |||
| 		}; | ||||
| 
 | ||||
| 		mmc0: dwmmc0@ff704000 { | ||||
| 			num-slots = <1>; | ||||
| 			broken-cd; | ||||
| 			bus-width = <4>; | ||||
| 			cap-mmc-highspeed; | ||||
| 			cap-sd-highspeed; | ||||
| 			drvsel = <3>; | ||||
| 			smplsel = <0>; | ||||
| 		}; | ||||
| 
 | ||||
| 		sysmgr@ffd08000 { | ||||
|  | @ -33,3 +30,7 @@ | |||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &watchdog0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -47,9 +47,20 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &porta { | ||||
| 	bank-name = "porta"; | ||||
| }; | ||||
| 
 | ||||
| &portb { | ||||
| 	bank-name = "portb"; | ||||
| }; | ||||
| 
 | ||||
| &portc { | ||||
| 	bank-name = "portc"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	status = "okay"; | ||||
| 	bus-width = <4>; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
|  | @ -61,3 +72,7 @@ | |||
| &uart0 { | ||||
| 	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" | ||||
| 
 | ||||
| / { | ||||
| 	model = "Terasic DE0-Nano(Atlas)"; | ||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 	model = "Terasic DE-0(Atlas)"; | ||||
| 	compatible = "terasic,de0-atlas", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 		bootargs = "earlyprintk"; | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac1; | ||||
| 		udc0 = &usb1; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 	memory@0 { | ||||
| 		name = "memory"; | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	aliases { | ||||
| 		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"; | ||||
| 	phy-mode = "rgmii"; | ||||
| 
 | ||||
| 	rxd0-skew-ps = <420>; | ||||
| 	rxd1-skew-ps = <420>; | ||||
| 	rxd2-skew-ps = <420>; | ||||
| 	rxd3-skew-ps = <420>; | ||||
| 	txen-skew-ps = <0>; | ||||
| 	txc-skew-ps = <1860>; | ||||
| 	rxdv-skew-ps = <420>; | ||||
| 	rxc-skew-ps = <1680>; | ||||
| 	txd0-skew-ps = <0>; /* -420ps */ | ||||
| 	txd1-skew-ps = <0>; /* -420ps */ | ||||
| 	txd2-skew-ps = <0>; /* -420ps */ | ||||
| 	txd3-skew-ps = <0>; /* -420ps */ | ||||
| 	rxd0-skew-ps = <420>; /* 0ps */ | ||||
| 	rxd1-skew-ps = <420>; /* 0ps */ | ||||
| 	rxd2-skew-ps = <420>; /* 0ps */ | ||||
| 	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 { | ||||
|  | @ -58,8 +75,9 @@ | |||
| 
 | ||||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 	clock-frequency = <100000>; | ||||
| 
 | ||||
| 	dxl345: adxl345@0 { | ||||
| 	adxl345: adxl345@53 { | ||||
| 		compatible = "adi,adxl345"; | ||||
| 		reg = <0x53>; | ||||
| 
 | ||||
|  | @ -69,14 +87,15 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	vmmc-supply = <®ulator_3_3v>; | ||||
| 	vqmmc-supply = <®ulator_3_3v>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
| &usb1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
|  |  | |||
|  | @ -58,6 +58,18 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &porta { | ||||
| 	bank-name = "porta"; | ||||
| }; | ||||
| 
 | ||||
| &portb { | ||||
| 	bank-name = "portb"; | ||||
| }; | ||||
| 
 | ||||
| &portc { | ||||
| 	bank-name = "portc"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
|  | @ -70,3 +82,7 @@ | |||
| &uart0 { | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
| &watchdog0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  |  | |||
|  | @ -56,6 +56,18 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &porta { | ||||
| 	bank-name = "porta"; | ||||
| }; | ||||
| 
 | ||||
| &portb { | ||||
| 	bank-name = "portb"; | ||||
| }; | ||||
| 
 | ||||
| &portc { | ||||
| 	bank-name = "portc"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
|  | @ -68,3 +80,7 @@ | |||
| &uart0 { | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
| &watchdog0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  |  | |||
|  | @ -55,6 +55,10 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &porta { | ||||
| 	bank-name = "porta"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
|  | @ -107,3 +111,7 @@ | |||
| &uart0 { | ||||
| 	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"; | ||||
| }; | ||||
|  | @ -1,31 +1,53 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| /* | ||||
|  *  Copyright (C) 2012 Altera Corporation <www.altera.com> | ||||
|  * Copyright (C) 2012 Altera Corporation <www.altera.com> | ||||
|  */ | ||||
| 
 | ||||
| #include "socfpga_cyclone5.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	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 { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 		bootargs = "earlyprintk"; | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 	memory@0 { | ||||
| 		name = "memory"; | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | ||||
| 	}; | ||||
| 
 | ||||
| 	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. | ||||
| 		 */ | ||||
| 		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 { | ||||
|  | @ -34,10 +56,10 @@ | |||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| 	soc { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	}; | ||||
| &can0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gmac1 { | ||||
|  | @ -68,6 +90,14 @@ | |||
| 
 | ||||
| &i2c0 { | ||||
| 	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 { | ||||
| 		compatible = "atmel,24c32"; | ||||
|  | @ -82,39 +112,55 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| 
 | ||||
| 	cd-gpios = <&portb 18 0>; | ||||
| 	vmmc-supply = <®ulator_3_3v>; | ||||
| 	vqmmc-supply = <®ulator_3_3v>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &qspi { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| 
 | ||||
| 	flash0: n25q00@0 { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "n25q00", "spi-flash"; | ||||
| 		reg = <0>;      /* chip select */ | ||||
| 		compatible = "n25q00"; | ||||
| 		reg = <0>;	/* chip select */ | ||||
| 		spi-max-frequency = <100000000>; | ||||
| 
 | ||||
| 		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,tsd2d-ns = <50>; | ||||
| 		cdns,tchsh-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 { | ||||
| 	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+ | ||||
| /* | ||||
|  *  Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||
|  * Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||
|  */ | ||||
| 
 | ||||
| #include "socfpga_cyclone5.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "Terasic SoCkit"; | ||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 	compatible = "terasic,socfpga-cyclone5-sockit", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 		bootargs = "earlyprintk"; | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac1; | ||||
| 		udc0 = &usb1; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 	memory@0 { | ||||
| 		name = "memory"; | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	aliases { | ||||
| 		/* 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>; | ||||
| }; | ||||
| 
 | ||||
| &gpio0 { | ||||
| &gpio0 {	/* GPIO 0..29 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio1 { | ||||
| &gpio1 {	/* GPIO 30..57 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio2 { | ||||
| &gpio2 {	/* GPIO 58..66 (HLGPI 0..13 at offset 13) */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| &i2c1 { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	rtc: rtc@68 { | ||||
| 		compatible = "stm,m41t82"; | ||||
| 		reg = <0x68>; | ||||
| 	accel1: accelerometer@53 { | ||||
| 		compatible = "adi,adxl345"; | ||||
| 		reg = <0x53>; | ||||
| 
 | ||||
| 		interrupt-parent = <&portc>; | ||||
| 		interrupts = <3 2>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	vmmc-supply = <®ulator_3_3v>; | ||||
| 	vqmmc-supply = <®ulator_3_3v>; | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
| &qspi { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| 
 | ||||
| 	flash0: n25q00@0 { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	flash: flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "n25q00", "spi-flash"; | ||||
| 		reg = <0>;      /* chip select */ | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		compatible = "n25q00"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <100000000>; | ||||
| 
 | ||||
| 		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,tsd2d-ns = <50>; | ||||
| 		cdns,tchsh-ns = <4>; | ||||
|  | @ -94,7 +187,3 @@ | |||
| &usb1 { | ||||
| 	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"; | ||||
| }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| /* | ||||
|  *  Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||
|  * Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de> | ||||
|  */ | ||||
| 
 | ||||
| #include "socfpga_cyclone5.dtsi" | ||||
|  | @ -9,83 +9,86 @@ | |||
| 	model = "EBV SOCrates"; | ||||
| 	compatible = "ebv,socrates", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac1; | ||||
| 	}; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 		bootargs = "earlyprintk"; | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		/* | ||||
| 		 * This allows the ethaddr uboot environment variable | ||||
| 		 * contents to be added to the gmac1 device tree blob. | ||||
| 		 */ | ||||
| 		ethernet0 = &gmac1; | ||||
| 		udc0 = &usb1; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 	memory@0 { | ||||
| 		name = "memory"; | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	leds: gpio-leds { | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &gmac1 { | ||||
| 	status = "okay"; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| 	rxd0-skew-ps = <0>; | ||||
| 	rxd1-skew-ps = <0>; | ||||
| 	rxd2-skew-ps = <0>; | ||||
| 	rxd3-skew-ps = <0>; | ||||
| 	txen-skew-ps = <0>; | ||||
| 	txc-skew-ps = <2600>; | ||||
| 	rxdv-skew-ps = <0>; | ||||
| 	rxc-skew-ps = <2000>; | ||||
| &gpio0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	rtc: rtc@68 { | ||||
| 		compatible = "stm,m41t82"; | ||||
| 		compatible = "st,m41t82"; | ||||
| 		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"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
| 
 | ||||
| &qspi { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	flash0: n25q00@0 { | ||||
| 	flash: flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "n25q00", "spi-flash"; | ||||
| 		reg = <0>;      /* chip select */ | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		compatible = "n25q256a"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <100000000>; | ||||
| 		m25p,fast-read; | ||||
| 		page-size = <256>; | ||||
| 		block-size = <16>; /* 2^16, 64KB */ | ||||
| 		cdns,read-delay = <4>; | ||||
| 		cdns,tshsl-ns = <50>; | ||||
| 		cdns,tsd2d-ns = <50>; | ||||
| 		cdns,tchsh-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"; | ||||
| }; | ||||
| 
 | ||||
| &porta { | ||||
| 	bank-name = "porta"; | ||||
| }; | ||||
| 
 | ||||
| &portb { | ||||
| 	bank-name = "portb"; | ||||
| }; | ||||
| 
 | ||||
| &portc { | ||||
| 	bank-name = "portc"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 	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,100 +1,238 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| // SPDX-License-Identifier: (GPL-2.0+ OR X11) | ||||
| /* | ||||
|  * Copyright (C) 2015 Marek Vasut <marex@denx.de> | ||||
|  */ | ||||
| 
 | ||||
| #include "socfpga_cyclone5.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| 
 | ||||
| / { | ||||
| 	model = "samtec VIN|ING FPGA"; | ||||
| 	compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 	compatible = "samtec,vining", "altr,socfpga-cyclone5", "altr,socfpga"; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 		bootargs = "earlyprintk"; | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac1; | ||||
| 		udc0 = &usb0; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 	memory@0 { | ||||
| 		name = "memory"; | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x0 0x40000000>; /* 1GB */ | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	aliases { | ||||
| 		/* | ||||
| 		 * 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 { | ||||
| 	status = "okay"; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-handle = <&phy1>; | ||||
| 
 | ||||
| 	rxd0-skew-ps = <0>; | ||||
| 	rxd1-skew-ps = <0>; | ||||
| 	rxd2-skew-ps = <0>; | ||||
| 	rxd3-skew-ps = <0>; | ||||
| 	txen-skew-ps = <0>; | ||||
| 	txc-skew-ps = <2600>; | ||||
| 	rxdv-skew-ps = <0>; | ||||
| 	rxc-skew-ps = <2000>; | ||||
| 	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>; | ||||
| 			rxd1-skew-ps = <0>; | ||||
| 			rxd2-skew-ps = <0>; | ||||
| 			rxd3-skew-ps = <0>; | ||||
| 			txen-skew-ps = <0>; | ||||
| 			txc-skew-ps = <2600>; | ||||
| 			rxdv-skew-ps = <0>; | ||||
| 			rxc-skew-ps = <2000>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &gpio0 { | ||||
| &gpio0 {	/* GPIO 0..29 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio1 { | ||||
| &gpio1 {	/* GPIO 30..57 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &gpio2 { | ||||
| &gpio2 {	/* GPIO 58..66 (HLGPI 0..13 at offset 13) */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	rtc: rtc@68 { | ||||
| 		compatible = "stm,m41t82"; | ||||
| 		reg = <0x68>; | ||||
| 	gpio: pca9557@1f { | ||||
| 		compatible = "nxp,pca9557"; | ||||
| 		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 { | ||||
| 	status = "okay"; | ||||
| 	u-boot,dm-pre-reloc; | ||||
| 
 | ||||
| 	flash0: n25q128@0 { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	n25q128@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "n25q128", "spi-flash"; | ||||
| 		reg = <0>;      /* chip select */ | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		compatible = "n25q128"; | ||||
| 		reg = <0>;		/* chip select */ | ||||
| 		spi-max-frequency = <100000000>; | ||||
| 		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,tsd2d-ns = <50>; | ||||
| 		cdns,tchsh-ns = <4>; | ||||
| 		cdns,tslch-ns = <4>; | ||||
| 	}; | ||||
| 
 | ||||
| 	flash1: n25q00@1 { | ||||
| 		u-boot,dm-pre-reloc; | ||||
| 	n25q00@1 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "n25q00", "spi-flash"; | ||||
| 		reg = <1>;      /* chip select */ | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		compatible = "n25q00"; | ||||
| 		reg = <1>;		/* chip select */ | ||||
| 		spi-max-frequency = <100000000>; | ||||
| 		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,tsd2d-ns = <50>; | ||||
| 		cdns,tchsh-ns = <4>; | ||||
|  | @ -103,13 +241,11 @@ | |||
| }; | ||||
| 
 | ||||
| &usb0 { | ||||
| 	dr_mode = "host"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb1 { | ||||
| 	dr_mode = "peripheral"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	u-boot,dm-pre-reloc; | ||||
| }; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue