mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 16:31:25 +01:00 
			
		
		
		
	This uclass is intended to provide a way to obtain information about a U-Boot board. But the concept of a U-Boot 'board' is the whole system, not just one circuit board, meaning that 'board' is something of a misnomer for this uclass. In addition, the name 'board' is a bit overused in U-Boot and we want to use the same uclass to provide SMBIOS information. The obvious name is 'system' but that is so vague as to be meaningless. Use 'sysinfo' instead, since this uclass is aimed at providing information on the system. Rename everything accordingly. Note: Due to the patch delta caused by the symbol renames, this patch shows some renamed files as being deleted in one place and created in another. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
		
			
				
	
	
		
			1260 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1260 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /dts-v1/;
 | |
| 
 | |
| #include <dt-bindings/gpio/gpio.h>
 | |
| #include <dt-bindings/gpio/sandbox-gpio.h>
 | |
| #include <dt-bindings/pinctrl/sandbox-pinmux.h>
 | |
| #include <dt-bindings/mux/mux.h>
 | |
| 
 | |
| / {
 | |
| 	model = "sandbox";
 | |
| 	compatible = "sandbox";
 | |
| 	#address-cells = <1>;
 | |
| 	#size-cells = <1>;
 | |
| 
 | |
| 	aliases {
 | |
| 		console = &uart0;
 | |
| 		eth0 = "/eth@10002000";
 | |
| 		eth3 = ð_3;
 | |
| 		eth5 = ð_5;
 | |
| 		gpio1 = &gpio_a;
 | |
| 		gpio2 = &gpio_b;
 | |
| 		gpio3 = &gpio_c;
 | |
| 		i2c0 = "/i2c@0";
 | |
| 		mmc0 = "/mmc0";
 | |
| 		mmc1 = "/mmc1";
 | |
| 		pci0 = &pci0;
 | |
| 		pci1 = &pci1;
 | |
| 		pci2 = &pci2;
 | |
| 		remoteproc0 = &rproc_1;
 | |
| 		remoteproc1 = &rproc_2;
 | |
| 		rtc0 = &rtc_0;
 | |
| 		rtc1 = &rtc_1;
 | |
| 		spi0 = "/spi@0";
 | |
| 		testfdt6 = "/e-test";
 | |
| 		testbus3 = "/some-bus";
 | |
| 		testfdt0 = "/some-bus/c-test@0";
 | |
| 		testfdt1 = "/some-bus/c-test@1";
 | |
| 		testfdt3 = "/b-test";
 | |
| 		testfdt5 = "/some-bus/c-test@5";
 | |
| 		testfdt8 = "/a-test";
 | |
| 		fdt-dummy0 = "/translation-test@8000/dev@0,0";
 | |
| 		fdt-dummy1 = "/translation-test@8000/dev@1,100";
 | |
| 		fdt-dummy2 = "/translation-test@8000/dev@2,200";
 | |
| 		fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
 | |
| 		usb0 = &usb_0;
 | |
| 		usb1 = &usb_1;
 | |
| 		usb2 = &usb_2;
 | |
| 		axi0 = &axi;
 | |
| 		osd0 = "/osd";
 | |
| 	};
 | |
| 
 | |
| 	audio: audio-codec {
 | |
| 		compatible = "sandbox,audio-codec";
 | |
| 		#sound-dai-cells = <1>;
 | |
| 	};
 | |
| 
 | |
| 	buttons {
 | |
| 		compatible = "gpio-keys";
 | |
| 
 | |
| 		btn1 {
 | |
| 			gpios = <&gpio_a 3 0>;
 | |
| 			label = "button1";
 | |
| 		};
 | |
| 
 | |
| 		btn2 {
 | |
| 			gpios = <&gpio_a 4 0>;
 | |
| 			label = "button2";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	cros_ec: cros-ec {
 | |
| 		reg = <0 0>;
 | |
| 		compatible = "google,cros-ec-sandbox";
 | |
| 
 | |
| 		/*
 | |
| 		 * This describes the flash memory within the EC. Note
 | |
| 		 * that the STM32L flash erases to 0, not 0xff.
 | |
| 		 */
 | |
| 		flash {
 | |
| 			image-pos = <0x08000000>;
 | |
| 			size = <0x20000>;
 | |
| 			erase-value = <0>;
 | |
| 
 | |
| 			/* Information for sandbox */
 | |
| 			ro {
 | |
| 				image-pos = <0>;
 | |
| 				size = <0xf000>;
 | |
| 			};
 | |
| 			wp-ro {
 | |
| 				image-pos = <0xf000>;
 | |
| 				size = <0x1000>;
 | |
| 			};
 | |
| 			rw {
 | |
| 				image-pos = <0x10000>;
 | |
| 				size = <0x10000>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	dsi_host: dsi_host {
 | |
| 		compatible = "sandbox,dsi-host";
 | |
| 	};
 | |
| 
 | |
| 	a-test {
 | |
| 		reg = <0 1>;
 | |
| 		compatible = "denx,u-boot-fdt-test";
 | |
| 		ping-expect = <0>;
 | |
| 		ping-add = <0>;
 | |
| 		u-boot,dm-pre-reloc;
 | |
| 		test-gpios = <&gpio_a 1>, <&gpio_a 4>,
 | |
| 			<&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>,
 | |
| 			<0>, <&gpio_a 12>;
 | |
| 		test2-gpios = <&gpio_a 1>, <&gpio_a 4>,
 | |
| 			<&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>,
 | |
| 			<&gpio_b 7 GPIO_IN 3 2 1>,
 | |
| 			<&gpio_b 8 GPIO_OUT 3 2 1>,
 | |
| 			<&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>;
 | |
| 		test3-gpios =
 | |
| 			<&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>,
 | |
| 			<&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>,
 | |
| 			<&gpio_c 2 GPIO_OUT>,
 | |
| 			<&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>,
 | |
| 			<&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>,
 | |
| 			<&gpio_c 5 GPIO_IN>,
 | |
| 			<&gpio_c 6 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_DRAIN)>,
 | |
| 			<&gpio_c 7 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_SOURCE)>;
 | |
| 		test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
 | |
| 		test5-gpios = <&gpio_a 19>;
 | |
| 
 | |
| 		int-value = <1234>;
 | |
| 		uint-value = <(-1234)>;
 | |
| 		int64-value = /bits/ 64 <0x1111222233334444>;
 | |
| 		int-array = <5678 9123 4567>;
 | |
| 		str-value = "test string";
 | |
| 		interrupts-extended = <&irq 3 0>;
 | |
| 		acpi,name = "GHIJ";
 | |
| 		phandle-value = <&gpio_c 10>, <0xFFFFFFFF 20>, <&gpio_a 30>;
 | |
| 
 | |
| 		mux-controls = <&muxcontroller0 0>, <&muxcontroller0 1>,
 | |
| 			       <&muxcontroller0 2>, <&muxcontroller0 3>,
 | |
| 			       <&muxcontroller1>;
 | |
| 		mux-control-names = "mux0", "mux1", "mux2", "mux3", "mux4";
 | |
| 		mux-syscon = <&syscon3>;
 | |
| 	};
 | |
| 
 | |
| 	junk {
 | |
| 		reg = <1 1>;
 | |
| 		compatible = "not,compatible";
 | |
| 	};
 | |
| 
 | |
| 	no-compatible {
 | |
| 		reg = <2 1>;
 | |
| 	};
 | |
| 
 | |
| 	backlight: backlight {
 | |
| 		compatible = "pwm-backlight";
 | |
| 		enable-gpios = <&gpio_a 1>;
 | |
| 		power-supply = <&ldo_1>;
 | |
| 		pwms = <&pwm 0 1000>;
 | |
| 		default-brightness-level = <5>;
 | |
| 		brightness-levels = <0 16 32 64 128 170 202 234 255>;
 | |
| 	};
 | |
| 
 | |
| 	bind-test {
 | |
| 		compatible = "simple-bus";
 | |
| 		bind-test-child1 {
 | |
| 			compatible = "sandbox,phy";
 | |
| 			#phy-cells = <1>;
 | |
| 		};
 | |
| 
 | |
| 		bind-test-child2 {
 | |
| 			compatible = "simple-bus";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	b-test {
 | |
| 		reg = <3 1>;
 | |
| 		compatible = "denx,u-boot-fdt-test";
 | |
| 		ping-expect = <3>;
 | |
| 		ping-add = <3>;
 | |
| 
 | |
| 		mux-controls = <&muxcontroller0 0>;
 | |
| 		mux-control-names = "mux0";
 | |
| 	};
 | |
| 
 | |
| 	phy_provider0: gen_phy@0 {
 | |
| 		compatible = "sandbox,phy";
 | |
| 		#phy-cells = <1>;
 | |
| 	};
 | |
| 
 | |
| 	phy_provider1: gen_phy@1 {
 | |
| 		compatible = "sandbox,phy";
 | |
| 		#phy-cells = <0>;
 | |
| 		broken;
 | |
| 	};
 | |
| 
 | |
| 	phy_provider2: gen_phy@2 {
 | |
| 		compatible = "sandbox,phy";
 | |
| 		#phy-cells = <0>;
 | |
| 	};
 | |
| 
 | |
| 	gen_phy_user: gen_phy_user {
 | |
| 		compatible = "simple-bus";
 | |
| 		phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
 | |
| 		phy-names = "phy1", "phy2", "phy3";
 | |
| 	};
 | |
| 
 | |
| 	gen_phy_user1: gen_phy_user1 {
 | |
| 		compatible = "simple-bus";
 | |
| 		phys = <&phy_provider0 0>, <&phy_provider2>;
 | |
| 		phy-names = "phy1", "phy2";
 | |
| 	};
 | |
| 
 | |
| 	some-bus {
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 		compatible = "denx,u-boot-test-bus";
 | |
| 		reg = <3 1>;
 | |
| 		ping-expect = <4>;
 | |
| 		ping-add = <4>;
 | |
| 		c-test@5 {
 | |
| 			compatible = "denx,u-boot-fdt-test";
 | |
| 			reg = <5>;
 | |
| 			ping-expect = <5>;
 | |
| 			ping-add = <5>;
 | |
| 		};
 | |
| 		c-test@0 {
 | |
| 			compatible = "denx,u-boot-fdt-test";
 | |
| 			reg = <0>;
 | |
| 			ping-expect = <6>;
 | |
| 			ping-add = <6>;
 | |
| 		};
 | |
| 		c-test@1 {
 | |
| 			compatible = "denx,u-boot-fdt-test";
 | |
| 			reg = <1>;
 | |
| 			ping-expect = <7>;
 | |
| 			ping-add = <7>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	d-test {
 | |
| 		reg = <3 1>;
 | |
| 		ping-expect = <6>;
 | |
| 		ping-add = <6>;
 | |
| 		compatible = "google,another-fdt-test";
 | |
| 	};
 | |
| 
 | |
| 	e-test {
 | |
| 		reg = <3 1>;
 | |
| 		ping-expect = <6>;
 | |
| 		ping-add = <6>;
 | |
| 		compatible = "google,another-fdt-test";
 | |
| 	};
 | |
| 
 | |
| 	f-test {
 | |
| 		compatible = "denx,u-boot-fdt-test";
 | |
| 	};
 | |
| 
 | |
| 	g-test {
 | |
| 		compatible = "denx,u-boot-fdt-test";
 | |
| 	};
 | |
| 
 | |
| 	h-test {
 | |
| 		compatible = "denx,u-boot-fdt-test1";
 | |
| 	};
 | |
| 
 | |
| 	i-test {
 | |
| 		compatible = "mediatek,u-boot-fdt-test";
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 
 | |
| 		subnode@0 {
 | |
| 			reg = <0>;
 | |
| 		};
 | |
| 
 | |
| 		subnode@1 {
 | |
| 			reg = <1>;
 | |
| 		};
 | |
| 
 | |
| 		subnode@2 {
 | |
| 			reg = <2>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	devres-test {
 | |
| 		compatible = "denx,u-boot-devres-test";
 | |
| 	};
 | |
| 
 | |
| 	another-test {
 | |
| 		reg = <0 2>;
 | |
| 		compatible = "denx,u-boot-fdt-test";
 | |
| 		test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
 | |
| 		test5-gpios = <&gpio_a 19>;
 | |
| 	};
 | |
| 
 | |
| 	acpi_test1: acpi-test {
 | |
| 		compatible = "denx,u-boot-acpi-test";
 | |
| 		acpi-ssdt-test-data = "ab";
 | |
| 		acpi-dsdt-test-data = "hi";
 | |
| 		child {
 | |
| 			compatible = "denx,u-boot-acpi-test";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	acpi_test2: acpi-test2 {
 | |
| 		compatible = "denx,u-boot-acpi-test";
 | |
| 		acpi-ssdt-test-data = "cd";
 | |
| 		acpi-dsdt-test-data = "jk";
 | |
| 	};
 | |
| 
 | |
| 	clocks {
 | |
| 		clk_fixed: clk-fixed {
 | |
| 			compatible = "fixed-clock";
 | |
| 			#clock-cells = <0>;
 | |
| 			clock-frequency = <1234>;
 | |
| 		};
 | |
| 
 | |
| 		clk_fixed_factor: clk-fixed-factor {
 | |
| 			compatible = "fixed-factor-clock";
 | |
| 			#clock-cells = <0>;
 | |
| 			clock-div = <3>;
 | |
| 			clock-mult = <2>;
 | |
| 			clocks = <&clk_fixed>;
 | |
| 		};
 | |
| 
 | |
| 		osc {
 | |
| 			compatible = "fixed-clock";
 | |
| 			#clock-cells = <0>;
 | |
| 			clock-frequency = <20000000>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	clk_sandbox: clk-sbox {
 | |
| 		compatible = "sandbox,clk";
 | |
| 		#clock-cells = <1>;
 | |
| 		assigned-clocks = <&clk_sandbox 3>;
 | |
| 		assigned-clock-rates = <321>;
 | |
| 	};
 | |
| 
 | |
| 	clk-test {
 | |
| 		compatible = "sandbox,clk-test";
 | |
| 		clocks = <&clk_fixed>,
 | |
| 			 <&clk_sandbox 1>,
 | |
| 			 <&clk_sandbox 0>,
 | |
| 			 <&clk_sandbox 3>,
 | |
| 			 <&clk_sandbox 2>;
 | |
| 		clock-names = "fixed", "i2c", "spi", "uart2", "uart1";
 | |
| 	};
 | |
| 
 | |
| 	ccf: clk-ccf {
 | |
| 		compatible = "sandbox,clk-ccf";
 | |
| 	};
 | |
| 
 | |
| 	eth@10002000 {
 | |
| 		compatible = "sandbox,eth";
 | |
| 		reg = <0x10002000 0x1000>;
 | |
| 		fake-host-hwaddr = [00 00 66 44 22 00];
 | |
| 	};
 | |
| 
 | |
| 	eth_5: eth@10003000 {
 | |
| 		compatible = "sandbox,eth";
 | |
| 		reg = <0x10003000 0x1000>;
 | |
| 		fake-host-hwaddr = [00 00 66 44 22 11];
 | |
| 	};
 | |
| 
 | |
| 	eth_3: sbe5 {
 | |
| 		compatible = "sandbox,eth";
 | |
| 		reg = <0x10005000 0x1000>;
 | |
| 		fake-host-hwaddr = [00 00 66 44 22 33];
 | |
| 	};
 | |
| 
 | |
| 	eth@10004000 {
 | |
| 		compatible = "sandbox,eth";
 | |
| 		reg = <0x10004000 0x1000>;
 | |
| 		fake-host-hwaddr = [00 00 66 44 22 22];
 | |
| 	};
 | |
| 
 | |
| 	firmware {
 | |
| 		sandbox_firmware: sandbox-firmware {
 | |
| 			compatible = "sandbox,firmware";
 | |
| 		};
 | |
| 
 | |
| 		sandbox-scmi-agent@0 {
 | |
| 			compatible = "sandbox,scmi-agent";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 
 | |
| 			clk_scmi0: protocol@14 {
 | |
| 				reg = <0x14>;
 | |
| 				#clock-cells = <1>;
 | |
| 			};
 | |
| 
 | |
| 			reset_scmi0: protocol@16 {
 | |
| 				reg = <0x16>;
 | |
| 				#reset-cells = <1>;
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		sandbox-scmi-agent@1 {
 | |
| 			compatible = "sandbox,scmi-agent";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 
 | |
| 			clk_scmi1: protocol@14 {
 | |
| 				reg = <0x14>;
 | |
| 				#clock-cells = <1>;
 | |
| 			};
 | |
| 
 | |
| 			protocol@10 {
 | |
| 				reg = <0x10>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pinctrl-gpio {
 | |
| 		compatible = "sandbox,pinctrl-gpio";
 | |
| 
 | |
| 		gpio_a: base-gpios {
 | |
| 			compatible = "sandbox,gpio";
 | |
| 			gpio-controller;
 | |
| 			#gpio-cells = <1>;
 | |
| 			gpio-bank-name = "a";
 | |
| 			sandbox,gpio-count = <20>;
 | |
| 			hog_input_active_low {
 | |
| 				gpio-hog;
 | |
| 				input;
 | |
| 				gpios = <10 GPIO_ACTIVE_LOW>;
 | |
| 			};
 | |
| 			hog_input_active_high {
 | |
| 				gpio-hog;
 | |
| 				input;
 | |
| 				gpios = <11 GPIO_ACTIVE_HIGH>;
 | |
| 			};
 | |
| 			hog_output_low {
 | |
| 				gpio-hog;
 | |
| 				output-low;
 | |
| 				gpios = <12 GPIO_ACTIVE_HIGH>;
 | |
| 			};
 | |
| 			hog_output_high {
 | |
| 				gpio-hog;
 | |
| 				output-high;
 | |
| 				gpios = <13 GPIO_ACTIVE_HIGH>;
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		gpio_b: extra-gpios {
 | |
| 			compatible = "sandbox,gpio";
 | |
| 			gpio-controller;
 | |
| 			#gpio-cells = <5>;
 | |
| 			gpio-bank-name = "b";
 | |
| 			sandbox,gpio-count = <10>;
 | |
| 		};
 | |
| 
 | |
| 		gpio_c: pinmux-gpios {
 | |
| 			compatible = "sandbox,gpio";
 | |
| 			gpio-controller;
 | |
| 			#gpio-cells = <2>;
 | |
| 			gpio-bank-name = "c";
 | |
| 			sandbox,gpio-count = <10>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	i2c@0 {
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 		reg = <0 1>;
 | |
| 		compatible = "sandbox,i2c";
 | |
| 		clock-frequency = <100000>;
 | |
| 		eeprom@2c {
 | |
| 			reg = <0x2c>;
 | |
| 			compatible = "i2c-eeprom";
 | |
| 			sandbox,emul = <&emul_eeprom>;
 | |
| 			partitions {
 | |
| 				compatible = "fixed-partitions";
 | |
| 				#address-cells = <1>;
 | |
| 				#size-cells = <1>;
 | |
| 				bootcount_i2c: bootcount@10 {
 | |
| 					reg = <10 2>;
 | |
| 				};
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		rtc_0: rtc@43 {
 | |
| 			reg = <0x43>;
 | |
| 			compatible = "sandbox-rtc";
 | |
| 			sandbox,emul = <&emul0>;
 | |
| 		};
 | |
| 
 | |
| 		rtc_1: rtc@61 {
 | |
| 			reg = <0x61>;
 | |
| 			compatible = "sandbox-rtc";
 | |
| 			sandbox,emul = <&emul1>;
 | |
| 		};
 | |
| 
 | |
| 		i2c_emul: emul {
 | |
| 			reg = <0xff>;
 | |
| 			compatible = "sandbox,i2c-emul-parent";
 | |
| 			emul_eeprom: emul-eeprom {
 | |
| 				compatible = "sandbox,i2c-eeprom";
 | |
| 				sandbox,filename = "i2c.bin";
 | |
| 				sandbox,size = <256>;
 | |
| 			};
 | |
| 			emul0: emul0 {
 | |
| 				compatible = "sandbox,i2c-rtc";
 | |
| 			};
 | |
| 			emul1: emull {
 | |
| 				compatible = "sandbox,i2c-rtc";
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		sandbox_pmic: sandbox_pmic {
 | |
| 			reg = <0x40>;
 | |
| 			sandbox,emul = <&emul_pmic0>;
 | |
| 		};
 | |
| 
 | |
| 		mc34708: pmic@41 {
 | |
| 			reg = <0x41>;
 | |
| 			sandbox,emul = <&emul_pmic1>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	bootcount@0 {
 | |
| 		compatible = "u-boot,bootcount-rtc";
 | |
| 		rtc = <&rtc_1>;
 | |
| 		offset = <0x13>;
 | |
| 	};
 | |
| 
 | |
| 	bootcount {
 | |
| 		compatible = "u-boot,bootcount-i2c-eeprom";
 | |
| 		i2c-eeprom = <&bootcount_i2c>;
 | |
| 	};
 | |
| 
 | |
| 	adc@0 {
 | |
| 		compatible = "sandbox,adc";
 | |
| 		vdd-supply = <&buck2>;
 | |
| 		vss-microvolts = <0>;
 | |
| 	};
 | |
| 
 | |
| 	irq: irq {
 | |
| 		compatible = "sandbox,irq";
 | |
| 		interrupt-controller;
 | |
| 		#interrupt-cells = <2>;
 | |
| 	};
 | |
| 
 | |
| 	lcd {
 | |
| 		u-boot,dm-pre-reloc;
 | |
| 		compatible = "sandbox,lcd-sdl";
 | |
| 		xres = <1366>;
 | |
| 		yres = <768>;
 | |
| 	};
 | |
| 
 | |
| 	leds {
 | |
| 		compatible = "gpio-leds";
 | |
| 
 | |
| 		iracibble {
 | |
| 			gpios = <&gpio_a 1 0>;
 | |
| 			label = "sandbox:red";
 | |
| 		};
 | |
| 
 | |
| 		martinet {
 | |
| 			gpios = <&gpio_a 2 0>;
 | |
| 			label = "sandbox:green";
 | |
| 		};
 | |
| 
 | |
| 		default_on {
 | |
| 			gpios = <&gpio_a 5 0>;
 | |
| 			label = "sandbox:default_on";
 | |
| 			default-state = "on";
 | |
| 		};
 | |
| 
 | |
| 		default_off {
 | |
| 			gpios = <&gpio_a 6 0>;
 | |
| 			/* label intentionally omitted */
 | |
| 			default-state = "off";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	mbox: mbox {
 | |
| 		compatible = "sandbox,mbox";
 | |
| 		#mbox-cells = <1>;
 | |
| 	};
 | |
| 
 | |
| 	mbox-test {
 | |
| 		compatible = "sandbox,mbox-test";
 | |
| 		mboxes = <&mbox 100>, <&mbox 1>;
 | |
| 		mbox-names = "other", "test";
 | |
| 	};
 | |
| 
 | |
| 	cpus {
 | |
| 		timebase-frequency = <2000000>;
 | |
| 		cpu-test1 {
 | |
| 			timebase-frequency = <3000000>;
 | |
| 			compatible = "sandbox,cpu_sandbox";
 | |
| 			u-boot,dm-pre-reloc;
 | |
| 		};
 | |
| 
 | |
| 		cpu-test2 {
 | |
| 			compatible = "sandbox,cpu_sandbox";
 | |
| 			u-boot,dm-pre-reloc;
 | |
| 		};
 | |
| 
 | |
| 		cpu-test3 {
 | |
| 			compatible = "sandbox,cpu_sandbox";
 | |
| 			u-boot,dm-pre-reloc;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	chipid: chipid {
 | |
| 		compatible = "sandbox,soc";
 | |
| 	};
 | |
| 
 | |
| 	i2s: i2s {
 | |
| 		compatible = "sandbox,i2s";
 | |
| 		#sound-dai-cells = <1>;
 | |
| 		sandbox,silent;	/* Don't emit sounds while testing */
 | |
| 	};
 | |
| 
 | |
| 	nop-test_0 {
 | |
| 		compatible = "sandbox,nop_sandbox1";
 | |
| 		nop-test_1 {
 | |
| 			compatible = "sandbox,nop_sandbox2";
 | |
| 			bind = "True";
 | |
| 		};
 | |
| 		nop-test_2 {
 | |
| 			compatible = "sandbox,nop_sandbox2";
 | |
| 			bind = "False";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	misc-test {
 | |
| 		compatible = "sandbox,misc_sandbox";
 | |
| 	};
 | |
| 
 | |
| 	mmc2 {
 | |
| 		compatible = "sandbox,mmc";
 | |
| 	};
 | |
| 
 | |
| 	mmc1 {
 | |
| 		compatible = "sandbox,mmc";
 | |
| 	};
 | |
| 
 | |
| 	mmc0 {
 | |
| 		compatible = "sandbox,mmc";
 | |
| 	};
 | |
| 
 | |
| 	pch {
 | |
| 		compatible = "sandbox,pch";
 | |
| 	};
 | |
| 
 | |
| 	pci0: pci@0 {
 | |
| 		compatible = "sandbox,pci";
 | |
| 		device_type = "pci";
 | |
| 		bus-range = <0x00 0xff>;
 | |
| 		#address-cells = <3>;
 | |
| 		#size-cells = <2>;
 | |
| 		ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
 | |
| 				0x01000000 0 0x20000000 0x20000000 0 0x2000>;
 | |
| 		pci@0,0 {
 | |
| 			compatible = "pci-generic";
 | |
| 			reg = <0x0000 0 0 0 0>;
 | |
| 			sandbox,emul = <&swap_case_emul0_0>;
 | |
| 		};
 | |
| 		pci@1,0 {
 | |
| 			compatible = "pci-generic";
 | |
| 			/* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */
 | |
| 			reg = <0x02000814 0 0 0 0
 | |
| 			       0x01000810 0 0 0 0>;
 | |
| 			sandbox,emul = <&swap_case_emul0_1>;
 | |
| 		};
 | |
| 		p2sb-pci@2,0 {
 | |
| 			compatible = "sandbox,p2sb";
 | |
| 			reg = <0x02001010 0 0 0 0>;
 | |
| 			sandbox,emul = <&p2sb_emul>;
 | |
| 
 | |
| 			adder {
 | |
| 				intel,p2sb-port-id = <3>;
 | |
| 				compatible = "sandbox,adder";
 | |
| 			};
 | |
| 		};
 | |
| 		pci@1e,0 {
 | |
| 			compatible = "sandbox,pmc";
 | |
| 			reg = <0xf000 0 0 0 0>;
 | |
| 			sandbox,emul = <&pmc_emul1e>;
 | |
| 			acpi-base = <0x400>;
 | |
| 			gpe0-dwx-mask = <0xf>;
 | |
| 			gpe0-dwx-shift-base = <4>;
 | |
| 			gpe0-dw = <6 7 9>;
 | |
| 			gpe0-sts = <0x20>;
 | |
| 			gpe0-en = <0x30>;
 | |
| 		};
 | |
| 		pci@1f,0 {
 | |
| 			compatible = "pci-generic";
 | |
| 			/* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */
 | |
| 			reg = <0x0100f810 0 0 0 0>;
 | |
| 			sandbox,emul = <&swap_case_emul0_1f>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pci-emul0 {
 | |
| 		compatible = "sandbox,pci-emul-parent";
 | |
| 		swap_case_emul0_0: emul0@0,0 {
 | |
| 			compatible = "sandbox,swap-case";
 | |
| 		};
 | |
| 		swap_case_emul0_1: emul0@1,0 {
 | |
| 			compatible = "sandbox,swap-case";
 | |
| 			use-ea;
 | |
| 		};
 | |
| 		swap_case_emul0_1f: emul0@1f,0 {
 | |
| 			compatible = "sandbox,swap-case";
 | |
| 		};
 | |
| 		p2sb_emul: emul@2,0 {
 | |
| 			compatible = "sandbox,p2sb-emul";
 | |
| 		};
 | |
| 		pmc_emul1e: emul@1e,0 {
 | |
| 			compatible = "sandbox,pmc-emul";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pci1: pci@1 {
 | |
| 		compatible = "sandbox,pci";
 | |
| 		device_type = "pci";
 | |
| 		bus-range = <0x00 0xff>;
 | |
| 		#address-cells = <3>;
 | |
| 		#size-cells = <2>;
 | |
| 		ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000 // MEM0
 | |
| 			  0x02000000 0 0x31000000 0x31000000 0 0x2000 // MEM1
 | |
| 			  0x01000000 0 0x40000000 0x40000000 0 0x2000>;
 | |
| 		sandbox,dev-info = <0x08 0x00 0x1234 0x5678
 | |
| 				    0x0c 0x00 0x1234 0x5678
 | |
| 				    0x10 0x00 0x1234 0x5678>;
 | |
| 		pci@10,0 {
 | |
| 			reg = <0x8000 0 0 0 0>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pci2: pci@2 {
 | |
| 		compatible = "sandbox,pci";
 | |
| 		device_type = "pci";
 | |
| 		bus-range = <0x00 0xff>;
 | |
| 		#address-cells = <3>;
 | |
| 		#size-cells = <2>;
 | |
| 		ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
 | |
| 				0x01000000 0 0x60000000 0x60000000 0 0x2000>;
 | |
| 		sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
 | |
| 		pci@1f,0 {
 | |
| 			compatible = "pci-generic";
 | |
| 			reg = <0xf800 0 0 0 0>;
 | |
| 			sandbox,emul = <&swap_case_emul2_1f>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pci-emul2 {
 | |
| 		compatible = "sandbox,pci-emul-parent";
 | |
| 		swap_case_emul2_1f: emul2@1f,0 {
 | |
| 			compatible = "sandbox,swap-case";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pci_ep: pci_ep {
 | |
| 		compatible = "sandbox,pci_ep";
 | |
| 	};
 | |
| 
 | |
| 	probing {
 | |
| 		compatible = "simple-bus";
 | |
| 		test1 {
 | |
| 			compatible = "denx,u-boot-probe-test";
 | |
| 		};
 | |
| 
 | |
| 		test2 {
 | |
| 			compatible = "denx,u-boot-probe-test";
 | |
| 		};
 | |
| 
 | |
| 		test3 {
 | |
| 			compatible = "denx,u-boot-probe-test";
 | |
| 		};
 | |
| 
 | |
| 		test4 {
 | |
| 			compatible = "denx,u-boot-probe-test";
 | |
| 			first-syscon = <&syscon0>;
 | |
| 			second-sys-ctrl = <&another_system_controller>;
 | |
| 			third-syscon = <&syscon2>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pwrdom: power-domain {
 | |
| 		compatible = "sandbox,power-domain";
 | |
| 		#power-domain-cells = <1>;
 | |
| 	};
 | |
| 
 | |
| 	power-domain-test {
 | |
| 		compatible = "sandbox,power-domain-test";
 | |
| 		power-domains = <&pwrdom 2>;
 | |
| 	};
 | |
| 
 | |
| 	pwm: pwm {
 | |
| 		compatible = "sandbox,pwm";
 | |
| 		#pwm-cells = <2>;
 | |
| 	};
 | |
| 
 | |
| 	pwm2 {
 | |
| 		compatible = "sandbox,pwm";
 | |
| 		#pwm-cells = <2>;
 | |
| 	};
 | |
| 
 | |
| 	ram {
 | |
| 		compatible = "sandbox,ram";
 | |
| 	};
 | |
| 
 | |
| 	reset@0 {
 | |
| 		compatible = "sandbox,warm-reset";
 | |
| 	};
 | |
| 
 | |
| 	reset@1 {
 | |
| 		compatible = "sandbox,reset";
 | |
| 	};
 | |
| 
 | |
| 	resetc: reset-ctl {
 | |
| 		compatible = "sandbox,reset-ctl";
 | |
| 		#reset-cells = <1>;
 | |
| 	};
 | |
| 
 | |
| 	reset-ctl-test {
 | |
| 		compatible = "sandbox,reset-ctl-test";
 | |
| 		resets = <&resetc 100>, <&resetc 2>;
 | |
| 		reset-names = "other", "test";
 | |
| 	};
 | |
| 
 | |
| 	rng {
 | |
| 		compatible = "sandbox,sandbox-rng";
 | |
| 	};
 | |
| 
 | |
| 	rproc_1: rproc@1 {
 | |
| 		compatible = "sandbox,test-processor";
 | |
| 		remoteproc-name = "remoteproc-test-dev1";
 | |
| 	};
 | |
| 
 | |
| 	rproc_2: rproc@2 {
 | |
| 		compatible = "sandbox,test-processor";
 | |
| 		internal-memory-mapped;
 | |
| 		remoteproc-name = "remoteproc-test-dev2";
 | |
| 	};
 | |
| 
 | |
| 	panel {
 | |
| 		compatible = "simple-panel";
 | |
| 		backlight = <&backlight 0 100>;
 | |
| 	};
 | |
| 
 | |
| 	smem@0 {
 | |
| 		compatible = "sandbox,smem";
 | |
| 	};
 | |
| 
 | |
| 	sound {
 | |
| 		compatible = "sandbox,sound";
 | |
| 		cpu {
 | |
| 			sound-dai = <&i2s 0>;
 | |
| 		};
 | |
| 
 | |
| 		codec {
 | |
| 			sound-dai = <&audio 0>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	spi@0 {
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 		reg = <0 1>;
 | |
| 		compatible = "sandbox,spi";
 | |
| 		cs-gpios = <0>, <&gpio_a 0>;
 | |
| 		spi.bin@0 {
 | |
| 			reg = <0>;
 | |
| 			compatible = "spansion,m25p16", "jedec,spi-nor";
 | |
| 			spi-max-frequency = <40000000>;
 | |
| 			sandbox,filename = "spi.bin";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	syscon0: syscon@0 {
 | |
| 		compatible = "sandbox,syscon0";
 | |
| 		reg = <0x10 16>;
 | |
| 	};
 | |
| 
 | |
| 	another_system_controller: syscon@1 {
 | |
| 		compatible = "sandbox,syscon1";
 | |
| 		reg = <0x20 5
 | |
| 			0x28 6
 | |
| 			0x30 7
 | |
| 			0x38 8>;
 | |
| 	};
 | |
| 
 | |
| 	syscon2: syscon@2 {
 | |
| 		compatible = "simple-mfd", "syscon";
 | |
| 		reg = <0x40 5
 | |
| 			0x48 6
 | |
| 			0x50 7
 | |
| 			0x58 8>;
 | |
| 	};
 | |
| 
 | |
| 	syscon3: syscon@3 {
 | |
| 		compatible = "simple-mfd", "syscon";
 | |
| 		reg = <0x000100 0x10>;
 | |
| 
 | |
| 		muxcontroller0: a-mux-controller {
 | |
| 			compatible = "mmio-mux";
 | |
| 			#mux-control-cells = <1>;
 | |
| 
 | |
| 			mux-reg-masks = <0x0 0x30>, /* 0: reg 0x0, bits 5:4 */
 | |
| 					<0xc 0x1E>, /* 1: reg 0xc, bits 4:1 */
 | |
| 					<0x4 0xFF>; /* 2: reg 0x4, bits 7:0 */
 | |
| 			idle-states = <MUX_IDLE_AS_IS>, <0x02>, <0x73>;
 | |
| 			u-boot,mux-autoprobe;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	muxcontroller1: emul-mux-controller {
 | |
| 		compatible = "mux-emul";
 | |
| 		#mux-control-cells = <0>;
 | |
| 		u-boot,mux-autoprobe;
 | |
| 		idle-state = <0xabcd>;
 | |
| 	};
 | |
| 
 | |
| 	timer@0 {
 | |
| 		compatible = "sandbox,timer";
 | |
| 		clock-frequency = <1000000>;
 | |
| 	};
 | |
| 
 | |
| 	timer@1 {
 | |
| 		compatible = "sandbox,timer";
 | |
| 		sandbox,timebase-frequency-fallback;
 | |
| 	};
 | |
| 
 | |
| 	tpm2 {
 | |
| 		compatible = "sandbox,tpm2";
 | |
| 	};
 | |
| 
 | |
| 	uart0: serial {
 | |
| 		compatible = "sandbox,serial";
 | |
| 		u-boot,dm-pre-reloc;
 | |
| 	};
 | |
| 
 | |
| 	usb_0: usb@0 {
 | |
| 		compatible = "sandbox,usb";
 | |
| 		status = "disabled";
 | |
| 		hub {
 | |
| 			compatible = "sandbox,usb-hub";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 			flash-stick {
 | |
| 				reg = <0>;
 | |
| 				compatible = "sandbox,usb-flash";
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	usb_1: usb@1 {
 | |
| 		compatible = "sandbox,usb";
 | |
| 		hub {
 | |
| 			compatible = "usb-hub";
 | |
| 			usb,device-class = <9>;
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 			hub-emul {
 | |
| 				compatible = "sandbox,usb-hub";
 | |
| 				#address-cells = <1>;
 | |
| 				#size-cells = <0>;
 | |
| 				flash-stick@0 {
 | |
| 					reg = <0>;
 | |
| 					compatible = "sandbox,usb-flash";
 | |
| 					sandbox,filepath = "testflash.bin";
 | |
| 				};
 | |
| 
 | |
| 				flash-stick@1 {
 | |
| 					reg = <1>;
 | |
| 					compatible = "sandbox,usb-flash";
 | |
| 					sandbox,filepath = "testflash1.bin";
 | |
| 				};
 | |
| 
 | |
| 				flash-stick@2 {
 | |
| 					reg = <2>;
 | |
| 					compatible = "sandbox,usb-flash";
 | |
| 					sandbox,filepath = "testflash2.bin";
 | |
| 				};
 | |
| 
 | |
| 				keyb@3 {
 | |
| 					reg = <3>;
 | |
| 					compatible = "sandbox,usb-keyb";
 | |
| 				};
 | |
| 
 | |
| 			};
 | |
| 
 | |
| 			usbstor@1 {
 | |
| 				reg = <1>;
 | |
| 			};
 | |
| 			usbstor@3 {
 | |
| 				reg = <3>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	usb_2: usb@2 {
 | |
| 		compatible = "sandbox,usb";
 | |
| 		status = "disabled";
 | |
| 	};
 | |
| 
 | |
| 	spmi: spmi@0 {
 | |
| 		compatible = "sandbox,spmi";
 | |
| 		#address-cells = <0x1>;
 | |
| 		#size-cells = <0x1>;
 | |
| 		ranges;
 | |
| 		pm8916@0 {
 | |
| 			compatible = "qcom,spmi-pmic";
 | |
| 			reg = <0x0 0x1>;
 | |
| 			#address-cells = <0x1>;
 | |
| 			#size-cells = <0x1>;
 | |
| 			ranges;
 | |
| 
 | |
| 			spmi_gpios: gpios@c000 {
 | |
| 				compatible = "qcom,pm8916-gpio";
 | |
| 				reg = <0xc000 0x400>;
 | |
| 				gpio-controller;
 | |
| 				gpio-count = <4>;
 | |
| 				#gpio-cells = <2>;
 | |
| 				gpio-bank-name="spmi";
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	wdt0: wdt@0 {
 | |
| 		compatible = "sandbox,wdt";
 | |
| 	};
 | |
| 
 | |
| 	axi: axi@0 {
 | |
| 		compatible = "sandbox,axi";
 | |
| 		#address-cells = <0x1>;
 | |
| 		#size-cells = <0x1>;
 | |
| 		store@0 {
 | |
| 			compatible = "sandbox,sandbox_store";
 | |
| 			reg = <0x0 0x400>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	chosen {
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <1>;
 | |
| 		setting = "sunrise ohoka";
 | |
| 		other-node = "/some-bus/c-test@5";
 | |
| 		int-values = <0x1937 72993>;
 | |
| 		u-boot,acpi-ssdt-order = <&acpi_test2 &acpi_test1>;
 | |
| 		chosen-test {
 | |
| 			compatible = "denx,u-boot-fdt-test";
 | |
| 			reg = <9 1>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	translation-test@8000 {
 | |
| 		compatible = "simple-bus";
 | |
| 		reg = <0x8000 0x4000>;
 | |
| 
 | |
| 		#address-cells = <0x2>;
 | |
| 		#size-cells = <0x1>;
 | |
| 
 | |
| 		ranges = <0 0x0 0x8000 0x1000
 | |
| 			  1 0x100 0x9000 0x1000
 | |
| 			  2 0x200 0xA000 0x1000
 | |
| 			  3 0x300 0xB000 0x1000
 | |
| 			 >;
 | |
| 
 | |
| 		dma-ranges = <0 0x000 0x10000000 0x1000
 | |
| 			      1 0x100 0x20000000 0x1000
 | |
| 			     >;
 | |
| 
 | |
| 		dev@0,0 {
 | |
| 			compatible = "denx,u-boot-fdt-dummy";
 | |
| 			reg = <0 0x0 0x1000>;
 | |
| 			reg-names = "sandbox-dummy-0";
 | |
| 		};
 | |
| 
 | |
| 		dev@1,100 {
 | |
| 			compatible = "denx,u-boot-fdt-dummy";
 | |
| 			reg = <1 0x100 0x1000>;
 | |
| 
 | |
| 		};
 | |
| 
 | |
| 		dev@2,200 {
 | |
| 			compatible = "denx,u-boot-fdt-dummy";
 | |
| 			reg = <2 0x200 0x1000>;
 | |
| 		};
 | |
| 
 | |
| 
 | |
| 		noxlatebus@3,300 {
 | |
| 			compatible = "simple-bus";
 | |
| 			reg = <3 0x300 0x1000>;
 | |
| 
 | |
| 			#address-cells = <0x1>;
 | |
| 			#size-cells = <0x0>;
 | |
| 
 | |
| 			dev@42 {
 | |
| 				compatible = "denx,u-boot-fdt-dummy";
 | |
| 				reg = <0x42>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	osd {
 | |
| 		compatible = "sandbox,sandbox_osd";
 | |
| 	};
 | |
| 
 | |
| 	sandbox_tee {
 | |
| 		compatible = "sandbox,tee";
 | |
| 	};
 | |
| 
 | |
| 	sandbox_virtio1 {
 | |
| 		compatible = "sandbox,virtio1";
 | |
| 	};
 | |
| 
 | |
| 	sandbox_virtio2 {
 | |
| 		compatible = "sandbox,virtio2";
 | |
| 	};
 | |
| 
 | |
| 	sandbox_scmi {
 | |
| 		compatible = "sandbox,scmi-devices";
 | |
| 		clocks = <&clk_scmi0 7>, <&clk_scmi0 3>, <&clk_scmi1 1>;
 | |
| 		resets = <&reset_scmi0 3>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl {
 | |
| 		compatible = "sandbox,pinctrl";
 | |
| 
 | |
| 		pinctrl-names = "default", "alternate";
 | |
| 		pinctrl-0 = <&pinctrl_gpios>, <&pinctrl_i2s>;
 | |
| 		pinctrl-1 = <&pinctrl_spi>, <&pinctrl_i2c>;
 | |
| 
 | |
| 		pinctrl_gpios: gpios {
 | |
| 			gpio0 {
 | |
| 				pins = "P5";
 | |
| 				function = "GPIO";
 | |
| 				bias-pull-up;
 | |
| 				input-disable;
 | |
| 			};
 | |
| 			gpio1 {
 | |
| 				pins = "P6";
 | |
| 				function = "GPIO";
 | |
| 				output-high;
 | |
| 				drive-open-drain;
 | |
| 			};
 | |
| 			gpio2 {
 | |
| 				pinmux = <SANDBOX_PINMUX(7, SANDBOX_PINMUX_GPIO)>;
 | |
| 				bias-pull-down;
 | |
| 				input-enable;
 | |
| 			};
 | |
| 			gpio3 {
 | |
| 				pinmux = <SANDBOX_PINMUX(8, SANDBOX_PINMUX_GPIO)>;
 | |
| 				bias-disable;
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_i2c: i2c {
 | |
| 			groups {
 | |
| 				groups = "I2C_UART";
 | |
| 				function = "I2C";
 | |
| 			};
 | |
| 
 | |
| 			pins {
 | |
| 				pins = "P0", "P1";
 | |
| 				drive-open-drain;
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_i2s: i2s {
 | |
| 			groups = "SPI_I2S";
 | |
| 			function = "I2S";
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_spi: spi {
 | |
| 			groups = "SPI_I2S";
 | |
| 			function = "SPI";
 | |
| 
 | |
| 			cs {
 | |
| 				pinmux = <SANDBOX_PINMUX(5, SANDBOX_PINMUX_CS)>,
 | |
| 					 <SANDBOX_PINMUX(6, SANDBOX_PINMUX_CS)>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	hwspinlock@0 {
 | |
| 		compatible = "sandbox,hwspinlock";
 | |
| 	};
 | |
| 
 | |
| 	dma: dma {
 | |
| 		compatible = "sandbox,dma";
 | |
| 		#dma-cells = <1>;
 | |
| 
 | |
| 		dmas = <&dma 0>, <&dma 1>, <&dma 2>;
 | |
| 		dma-names = "m2m", "tx0", "rx0";
 | |
| 	};
 | |
| 
 | |
| 	/*
 | |
| 	 * keep mdio-mux ahead of mdio so that the mux is removed first at the
 | |
| 	 * end of the test.  If parent mdio is removed first, clean-up of the
 | |
| 	 * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio
 | |
| 	 * active at the end of the test.  That it turn doesn't allow the mdio
 | |
| 	 * class to be destroyed, triggering an error.
 | |
| 	 */
 | |
| 	mdio-mux-test {
 | |
| 		compatible = "sandbox,mdio-mux";
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 		mdio-parent-bus = <&mdio>;
 | |
| 
 | |
| 		mdio-ch-test@0 {
 | |
| 			reg = <0>;
 | |
| 		};
 | |
| 		mdio-ch-test@1 {
 | |
| 			reg = <1>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	mdio: mdio-test {
 | |
| 		compatible = "sandbox,mdio";
 | |
| 	};
 | |
| 
 | |
| 	pm-bus-test {
 | |
| 		compatible = "simple-pm-bus";
 | |
| 		clocks = <&clk_sandbox 4>;
 | |
| 		power-domains = <&pwrdom 1>;
 | |
| 	};
 | |
| 
 | |
| 	resetc2: syscon-reset {
 | |
| 		compatible = "syscon-reset";
 | |
| 		#reset-cells = <1>;
 | |
| 		regmap = <&syscon0>;
 | |
| 		offset = <1>;
 | |
| 		mask = <0x27FFFFFF>;
 | |
| 		assert-high = <0>;
 | |
| 	};
 | |
| 
 | |
| 	syscon-reset-test {
 | |
| 		compatible = "sandbox,misc_sandbox";
 | |
| 		resets = <&resetc2 15>, <&resetc2 30>, <&resetc2 60>;
 | |
| 		reset-names = "valid", "no_mask", "out_of_range";
 | |
| 	};
 | |
| 
 | |
| 	sysinfo {
 | |
| 		compatible = "sandbox,sysinfo-sandbox";
 | |
| 	};
 | |
| 
 | |
| 	some_regmapped-bus {
 | |
| 		#address-cells = <0x1>;
 | |
| 		#size-cells = <0x1>;
 | |
| 
 | |
| 		ranges = <0x0 0x0 0x10>;
 | |
| 		compatible = "simple-bus";
 | |
| 
 | |
| 		regmap-test_0 {
 | |
| 			reg = <0 0x10>;
 | |
| 			compatible = "sandbox,regmap_test";
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| #include "sandbox_pmic.dtsi"
 |