mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	MIPS: NI 169445 board support
Support the National Instruments 169445 board. Signed-off-by: Nathan Sullivan <nathan.sullivan@ni.com> Acked-by: Rob Herring <robh@kernel.org> Cc: devicetree@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/16782/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
		
							parent
							
								
									0c4037b9dd
								
							
						
					
					
						commit
						7aacf86b75
					
				
					 7 changed files with 173 additions and 0 deletions
				
			
		
							
								
								
									
										7
									
								
								Documentation/devicetree/bindings/mips/ni.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Documentation/devicetree/bindings/mips/ni.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
National Instruments MIPS platforms
 | 
			
		||||
 | 
			
		||||
required root node properties:
 | 
			
		||||
	- compatible: must be "ni,169445"
 | 
			
		||||
 | 
			
		||||
CPU Nodes
 | 
			
		||||
	- compatible: must be "mti,mips14KEc"
 | 
			
		||||
| 
						 | 
				
			
			@ -5,6 +5,7 @@ dts-dirs	+= ingenic
 | 
			
		|||
dts-dirs	+= lantiq
 | 
			
		||||
dts-dirs	+= mti
 | 
			
		||||
dts-dirs	+= netlogic
 | 
			
		||||
dts-dirs	+= ni
 | 
			
		||||
dts-dirs	+= pic32
 | 
			
		||||
dts-dirs	+= qca
 | 
			
		||||
dts-dirs	+= ralink
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										100
									
								
								arch/mips/boot/dts/ni/169445.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								arch/mips/boot/dts/ni/169445.dts
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,100 @@
 | 
			
		|||
/dts-v1/;
 | 
			
		||||
 | 
			
		||||
/ {
 | 
			
		||||
	#address-cells = <1>;
 | 
			
		||||
	#size-cells = <1>;
 | 
			
		||||
	compatible = "ni,169445";
 | 
			
		||||
 | 
			
		||||
	cpus {
 | 
			
		||||
		#address-cells = <1>;
 | 
			
		||||
		#size-cells = <0>;
 | 
			
		||||
		cpu@0 {
 | 
			
		||||
			device_type = "cpu";
 | 
			
		||||
			compatible = "mti,mips14KEc";
 | 
			
		||||
			clocks = <&baseclk>;
 | 
			
		||||
			reg = <0>;
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	memory@0 {
 | 
			
		||||
		device_type = "memory";
 | 
			
		||||
		reg = <0x0 0x10000000>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	baseclk: baseclock {
 | 
			
		||||
		compatible = "fixed-clock";
 | 
			
		||||
		#clock-cells = <0>;
 | 
			
		||||
		clock-frequency = <50000000>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	cpu_intc: interrupt-controller {
 | 
			
		||||
		#address-cells = <0>;
 | 
			
		||||
		compatible = "mti,cpu-interrupt-controller";
 | 
			
		||||
		interrupt-controller;
 | 
			
		||||
		#interrupt-cells = <1>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	ahb@1f300000 {
 | 
			
		||||
		compatible = "simple-bus";
 | 
			
		||||
		#address-cells = <1>;
 | 
			
		||||
		#size-cells = <1>;
 | 
			
		||||
		ranges = <0x0 0x1f300000 0x80FFF>;
 | 
			
		||||
 | 
			
		||||
		gpio1: gpio@10 {
 | 
			
		||||
			compatible = "ni,169445-nand-gpio";
 | 
			
		||||
			reg = <0x10 0x4>;
 | 
			
		||||
			reg-names = "dat";
 | 
			
		||||
			gpio-controller;
 | 
			
		||||
			#gpio-cells = <2>;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		gpio2: gpio@14 {
 | 
			
		||||
			compatible = "ni,169445-nand-gpio";
 | 
			
		||||
			reg = <0x14 0x4>;
 | 
			
		||||
			reg-names = "dat";
 | 
			
		||||
			gpio-controller;
 | 
			
		||||
			#gpio-cells = <2>;
 | 
			
		||||
			no-output;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		nand@0 {
 | 
			
		||||
			compatible = "gpio-control-nand";
 | 
			
		||||
			nand-on-flash-bbt;
 | 
			
		||||
			nand-ecc-mode = "soft_bch";
 | 
			
		||||
			nand-ecc-step-size = <512>;
 | 
			
		||||
			nand-ecc-strength = <4>;
 | 
			
		||||
			reg = <0x0 4>;
 | 
			
		||||
			gpios = <&gpio2 0 0>, /* rdy */
 | 
			
		||||
				<&gpio1 1 0>, /* nce */
 | 
			
		||||
				<&gpio1 2 0>, /* ale */
 | 
			
		||||
				<&gpio1 3 0>, /* cle */
 | 
			
		||||
				<&gpio1 4 0>; /* nwp */
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		serial@80000 {
 | 
			
		||||
			compatible = "ns16550a";
 | 
			
		||||
			reg = <0x80000 0x1000>;
 | 
			
		||||
			interrupt-parent = <&cpu_intc>;
 | 
			
		||||
			interrupts = <6>;
 | 
			
		||||
			clocks = <&baseclk>;
 | 
			
		||||
			reg-shift = <0>;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		ethernet@40000 {
 | 
			
		||||
			compatible = "snps,dwmac-4.10a";
 | 
			
		||||
			interrupt-parent = <&cpu_intc>;
 | 
			
		||||
			interrupts = <5>;
 | 
			
		||||
			interrupt-names = "macirq";
 | 
			
		||||
			reg = <0x40000 0x2000>;
 | 
			
		||||
			clock-names = "stmmaceth", "pclk";
 | 
			
		||||
			clocks = <&baseclk>, <&baseclk>;
 | 
			
		||||
 | 
			
		||||
			phy-mode = "rgmii";
 | 
			
		||||
 | 
			
		||||
			fixed-link {
 | 
			
		||||
				speed = <1000>;
 | 
			
		||||
				full-duplex;
 | 
			
		||||
			};
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										7
									
								
								arch/mips/boot/dts/ni/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								arch/mips/boot/dts/ni/Makefile
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
dtb-$(CONFIG_FIT_IMAGE_FDT_NI169445)	+= 169445.dtb
 | 
			
		||||
 | 
			
		||||
# Force kbuild to make empty built-in.o if necessary
 | 
			
		||||
obj-					+= dummy.o
 | 
			
		||||
 | 
			
		||||
always					:= $(dtb-y)
 | 
			
		||||
clean-files				:= *.dtb *.dtb.S
 | 
			
		||||
							
								
								
									
										27
									
								
								arch/mips/configs/generic/board-ni169445.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								arch/mips/configs/generic/board-ni169445.config
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
CONFIG_FIT_IMAGE_FDT_NI169445=y
 | 
			
		||||
 | 
			
		||||
CONFIG_SERIAL_8250=y
 | 
			
		||||
CONFIG_SERIAL_8250_CONSOLE=y
 | 
			
		||||
CONFIG_SERIAL_OF_PLATFORM=y
 | 
			
		||||
 | 
			
		||||
CONFIG_GPIOLIB=y
 | 
			
		||||
CONFIG_GPIO_SYSFS=y
 | 
			
		||||
CONFIG_GPIO_GENERIC_PLATFORM=y
 | 
			
		||||
 | 
			
		||||
CONFIG_MTD=y
 | 
			
		||||
CONFIG_MTD_BLOCK=y
 | 
			
		||||
CONFIG_MTD_CMDLINE_PARTS=y
 | 
			
		||||
 | 
			
		||||
CONFIG_MTD_NAND_ECC=y
 | 
			
		||||
CONFIG_MTD_NAND_ECC_BCH=y
 | 
			
		||||
CONFIG_MTD_NAND=y
 | 
			
		||||
CONFIG_MTD_NAND_GPIO=y
 | 
			
		||||
CONFIG_MTD_NAND_IDS=y
 | 
			
		||||
 | 
			
		||||
CONFIG_MTD_UBI=y
 | 
			
		||||
CONFIG_MTD_UBI_BLOCK=y
 | 
			
		||||
 | 
			
		||||
CONFIG_NETDEVICES=y
 | 
			
		||||
CONFIG_STMMAC_ETH=y
 | 
			
		||||
CONFIG_STMMAC_PLATFORM=y
 | 
			
		||||
CONFIG_DWMAC_GENERIC=y
 | 
			
		||||
| 
						 | 
				
			
			@ -36,4 +36,10 @@ config FIT_IMAGE_FDT_BOSTON
 | 
			
		|||
	  enable this if you wish to boot on a MIPS Boston board, as it is
 | 
			
		||||
	  expected by the bootloader.
 | 
			
		||||
 | 
			
		||||
config FIT_IMAGE_FDT_NI169445
 | 
			
		||||
	bool "Include FDT for NI 169445"
 | 
			
		||||
	help
 | 
			
		||||
	  Enable this to include the FDT for the 169445 platform from
 | 
			
		||||
	  National Instruments in the FIT kernel image.
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,3 +54,28 @@
 | 
			
		|||
	};
 | 
			
		||||
};
 | 
			
		||||
#endif /* CONFIG_FIT_IMAGE_FDT_BOSTON */
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_FIT_IMAGE_FDT_NI169445
 | 
			
		||||
/ {
 | 
			
		||||
	images {
 | 
			
		||||
		fdt@ni169445 {
 | 
			
		||||
			description = "NI 169445 device tree";
 | 
			
		||||
			data = /incbin/("boot/dts/ni/169445.dtb");
 | 
			
		||||
			type = "flat_dt";
 | 
			
		||||
			arch = "mips";
 | 
			
		||||
			compression = "none";
 | 
			
		||||
			hash@0 {
 | 
			
		||||
				algo = "sha1";
 | 
			
		||||
			};
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	configurations {
 | 
			
		||||
		conf@ni169445 {
 | 
			
		||||
			description = "NI 169445 Linux Kernel";
 | 
			
		||||
			kernel = "kernel@0";
 | 
			
		||||
			fdt = "fdt@ni169445";
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
#endif /* CONFIG_FIT_IMAGE_FDT_NI169445 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue