cmd: Add bind/unbind commands to bind a device to a driver from the command line
[platform/kernel/u-boot.git] / arch / sandbox / dts / test.dts
1 /dts-v1/;
2
3 / {
4         model = "sandbox";
5         compatible = "sandbox";
6         #address-cells = <1>;
7         #size-cells = <1>;
8
9         aliases {
10                 console = &uart0;
11                 eth0 = "/eth@10002000";
12                 eth3 = &eth_3;
13                 eth5 = &eth_5;
14                 i2c0 = "/i2c@0";
15                 mmc0 = "/mmc0";
16                 mmc1 = "/mmc1";
17                 pci0 = &pci0;
18                 pci1 = &pci1;
19                 pci2 = &pci2;
20                 remoteproc1 = &rproc_1;
21                 remoteproc2 = &rproc_2;
22                 rtc0 = &rtc_0;
23                 rtc1 = &rtc_1;
24                 spi0 = "/spi@0";
25                 testfdt6 = "/e-test";
26                 testbus3 = "/some-bus";
27                 testfdt0 = "/some-bus/c-test@0";
28                 testfdt1 = "/some-bus/c-test@1";
29                 testfdt3 = "/b-test";
30                 testfdt5 = "/some-bus/c-test@5";
31                 testfdt8 = "/a-test";
32                 fdt-dummy0 = "/translation-test@8000/dev@0,0";
33                 fdt-dummy1 = "/translation-test@8000/dev@1,100";
34                 fdt-dummy2 = "/translation-test@8000/dev@2,200";
35                 fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
36                 usb0 = &usb_0;
37                 usb1 = &usb_1;
38                 usb2 = &usb_2;
39                 axi0 = &axi;
40         };
41
42         a-test {
43                 reg = <0 1>;
44                 compatible = "denx,u-boot-fdt-test";
45                 ping-expect = <0>;
46                 ping-add = <0>;
47                 u-boot,dm-pre-reloc;
48                 test-gpios = <&gpio_a 1>, <&gpio_a 4>, <&gpio_b 5 0 3 2 1>,
49                         <0>, <&gpio_a 12>;
50                 test2-gpios = <&gpio_a 1>, <&gpio_a 4>, <&gpio_b 6 1 3 2 1>,
51                         <&gpio_b 7 2 3 2 1>, <&gpio_b 8 4 3 2 1>,
52                         <&gpio_b 9 0xc 3 2 1>;
53         };
54
55         junk {
56                 reg = <1 1>;
57                 compatible = "not,compatible";
58         };
59
60         no-compatible {
61                 reg = <2 1>;
62         };
63
64         bind-test {
65                 bind-test-child1 {
66                         compatible = "sandbox,phy";
67                         #phy-cells = <1>;
68                 };
69
70                 bind-test-child2 {
71                         compatible = "simple-bus";
72                 };
73         };
74
75         b-test {
76                 reg = <3 1>;
77                 compatible = "denx,u-boot-fdt-test";
78                 ping-expect = <3>;
79                 ping-add = <3>;
80         };
81
82         phy_provider0: gen_phy@0 {
83                 compatible = "sandbox,phy";
84                 #phy-cells = <1>;
85         };
86
87         phy_provider1: gen_phy@1 {
88                 compatible = "sandbox,phy";
89                 #phy-cells = <0>;
90                 broken;
91         };
92
93         gen_phy_user: gen_phy_user {
94                 compatible = "simple-bus";
95                 phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
96                 phy-names = "phy1", "phy2", "phy3";
97         };
98
99         some-bus {
100                 #address-cells = <1>;
101                 #size-cells = <0>;
102                 compatible = "denx,u-boot-test-bus";
103                 reg = <3 1>;
104                 ping-expect = <4>;
105                 ping-add = <4>;
106                 c-test@5 {
107                         compatible = "denx,u-boot-fdt-test";
108                         reg = <5>;
109                         ping-expect = <5>;
110                         ping-add = <5>;
111                 };
112                 c-test@0 {
113                         compatible = "denx,u-boot-fdt-test";
114                         reg = <0>;
115                         ping-expect = <6>;
116                         ping-add = <6>;
117                 };
118                 c-test@1 {
119                         compatible = "denx,u-boot-fdt-test";
120                         reg = <1>;
121                         ping-expect = <7>;
122                         ping-add = <7>;
123                 };
124         };
125
126         d-test {
127                 reg = <3 1>;
128                 ping-expect = <6>;
129                 ping-add = <6>;
130                 compatible = "google,another-fdt-test";
131         };
132
133         e-test {
134                 reg = <3 1>;
135                 ping-expect = <6>;
136                 ping-add = <6>;
137                 compatible = "google,another-fdt-test";
138         };
139
140         f-test {
141                 compatible = "denx,u-boot-fdt-test";
142         };
143
144         g-test {
145                 compatible = "denx,u-boot-fdt-test";
146         };
147
148         clocks {
149                 clk_fixed: clk-fixed {
150                         compatible = "fixed-clock";
151                         #clock-cells = <0>;
152                         clock-frequency = <1234>;
153                 };
154         };
155
156         clk_sandbox: clk-sbox {
157                 compatible = "sandbox,clk";
158                 #clock-cells = <1>;
159         };
160
161         clk-test {
162                 compatible = "sandbox,clk-test";
163                 clocks = <&clk_fixed>,
164                          <&clk_sandbox 1>,
165                          <&clk_sandbox 0>;
166                 clock-names = "fixed", "i2c", "spi";
167         };
168
169         eth@10002000 {
170                 compatible = "sandbox,eth";
171                 reg = <0x10002000 0x1000>;
172                 fake-host-hwaddr = [00 00 66 44 22 00];
173         };
174
175         eth_5: eth@10003000 {
176                 compatible = "sandbox,eth";
177                 reg = <0x10003000 0x1000>;
178                 fake-host-hwaddr = [00 00 66 44 22 11];
179         };
180
181         eth_3: sbe5 {
182                 compatible = "sandbox,eth";
183                 reg = <0x10005000 0x1000>;
184                 fake-host-hwaddr = [00 00 66 44 22 33];
185         };
186
187         eth@10004000 {
188                 compatible = "sandbox,eth";
189                 reg = <0x10004000 0x1000>;
190                 fake-host-hwaddr = [00 00 66 44 22 22];
191         };
192
193         gpio_a: base-gpios {
194                 compatible = "sandbox,gpio";
195                 gpio-controller;
196                 #gpio-cells = <1>;
197                 gpio-bank-name = "a";
198                 sandbox,gpio-count = <20>;
199         };
200
201         gpio_b: extra-gpios {
202                 compatible = "sandbox,gpio";
203                 gpio-controller;
204                 #gpio-cells = <5>;
205                 gpio-bank-name = "b";
206                 sandbox,gpio-count = <10>;
207         };
208
209         i2c@0 {
210                 #address-cells = <1>;
211                 #size-cells = <0>;
212                 reg = <0 1>;
213                 compatible = "sandbox,i2c";
214                 clock-frequency = <100000>;
215                 eeprom@2c {
216                         reg = <0x2c>;
217                         compatible = "i2c-eeprom";
218                         emul {
219                                 compatible = "sandbox,i2c-eeprom";
220                                 sandbox,filename = "i2c.bin";
221                                 sandbox,size = <256>;
222                         };
223                 };
224
225                 rtc_0: rtc@43 {
226                         reg = <0x43>;
227                         compatible = "sandbox-rtc";
228                         emul {
229                                 compatible = "sandbox,i2c-rtc";
230                         };
231                 };
232
233                 rtc_1: rtc@61 {
234                         reg = <0x61>;
235                         compatible = "sandbox-rtc";
236                         emul {
237                                 compatible = "sandbox,i2c-rtc";
238                         };
239                 };
240
241                 sandbox_pmic: sandbox_pmic {
242                         reg = <0x40>;
243                 };
244
245                 mc34708: pmic@41 {
246                         reg = <0x41>;
247                 };
248         };
249
250         adc@0 {
251                 compatible = "sandbox,adc";
252                 vdd-supply = <&buck2>;
253                 vss-microvolts = <0>;
254         };
255
256         lcd {
257                 u-boot,dm-pre-reloc;
258                 compatible = "sandbox,lcd-sdl";
259                 xres = <1366>;
260                 yres = <768>;
261         };
262
263         leds {
264                 compatible = "gpio-leds";
265
266                 iracibble {
267                         gpios = <&gpio_a 1 0>;
268                         label = "sandbox:red";
269                 };
270
271                 martinet {
272                         gpios = <&gpio_a 2 0>;
273                         label = "sandbox:green";
274                 };
275
276                 default_on {
277                         gpios = <&gpio_a 5 0>;
278                         label = "sandbox:default_on";
279                         default-state = "on";
280                 };
281
282                 default_off {
283                         gpios = <&gpio_a 6 0>;
284                         label = "sandbox:default_off";
285                         default-state = "off";
286                 };
287         };
288
289         mbox: mbox {
290                 compatible = "sandbox,mbox";
291                 #mbox-cells = <1>;
292         };
293
294         mbox-test {
295                 compatible = "sandbox,mbox-test";
296                 mboxes = <&mbox 100>, <&mbox 1>;
297                 mbox-names = "other", "test";
298         };
299
300         misc-test {
301                 compatible = "sandbox,misc_sandbox";
302         };
303
304         mmc2 {
305                 compatible = "sandbox,mmc";
306         };
307
308         mmc1 {
309                 compatible = "sandbox,mmc";
310         };
311
312         mmc0 {
313                 compatible = "sandbox,mmc";
314         };
315
316         pci0: pci-controller0 {
317                 compatible = "sandbox,pci";
318                 device_type = "pci";
319                 #address-cells = <3>;
320                 #size-cells = <2>;
321                 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000
322                                 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
323                 pci@0,0 {
324                         compatible = "pci-generic";
325                         reg = <0x0000 0 0 0 0>;
326                         emul@0,0 {
327                                 compatible = "sandbox,swap-case";
328                         };
329                 };
330                 pci@1f,0 {
331                         compatible = "pci-generic";
332                         reg = <0xf800 0 0 0 0>;
333                         emul@1f,0 {
334                                 compatible = "sandbox,swap-case";
335                         };
336                 };
337         };
338
339         pci1: pci-controller1 {
340                 compatible = "sandbox,pci";
341                 device_type = "pci";
342                 #address-cells = <3>;
343                 #size-cells = <2>;
344                 ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000
345                                 0x01000000 0 0x40000000 0x40000000 0 0x2000>;
346                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678
347                                     0x0c 0x00 0x1234 0x5678>;
348         };
349
350         pci2: pci-controller2 {
351                 compatible = "sandbox,pci";
352                 device_type = "pci";
353                 #address-cells = <3>;
354                 #size-cells = <2>;
355                 ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
356                                 0x01000000 0 0x60000000 0x60000000 0 0x2000>;
357                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
358                 pci@1f,0 {
359                         compatible = "pci-generic";
360                         reg = <0xf800 0 0 0 0>;
361                         emul@1f,0 {
362                                 compatible = "sandbox,swap-case";
363                         };
364                 };
365         };
366
367         probing {
368                 compatible = "simple-bus";
369                 test1 {
370                         compatible = "denx,u-boot-probe-test";
371                 };
372
373                 test2 {
374                         compatible = "denx,u-boot-probe-test";
375                 };
376
377                 test3 {
378                         compatible = "denx,u-boot-probe-test";
379                 };
380
381                 test4 {
382                         compatible = "denx,u-boot-probe-test";
383                 };
384         };
385
386         pwrdom: power-domain {
387                 compatible = "sandbox,power-domain";
388                 #power-domain-cells = <1>;
389         };
390
391         power-domain-test {
392                 compatible = "sandbox,power-domain-test";
393                 power-domains = <&pwrdom 2>;
394         };
395
396         pwm {
397                 compatible = "sandbox,pwm";
398         };
399
400         pwm2 {
401                 compatible = "sandbox,pwm";
402         };
403
404         ram {
405                 compatible = "sandbox,ram";
406         };
407
408         reset@0 {
409                 compatible = "sandbox,warm-reset";
410         };
411
412         reset@1 {
413                 compatible = "sandbox,reset";
414         };
415
416         resetc: reset-ctl {
417                 compatible = "sandbox,reset-ctl";
418                 #reset-cells = <1>;
419         };
420
421         reset-ctl-test {
422                 compatible = "sandbox,reset-ctl-test";
423                 resets = <&resetc 100>, <&resetc 2>;
424                 reset-names = "other", "test";
425         };
426
427         rproc_1: rproc@1 {
428                 compatible = "sandbox,test-processor";
429                 remoteproc-name = "remoteproc-test-dev1";
430         };
431
432         rproc_2: rproc@2 {
433                 compatible = "sandbox,test-processor";
434                 internal-memory-mapped;
435                 remoteproc-name = "remoteproc-test-dev2";
436         };
437
438         smem@0 {
439                 compatible = "sandbox,smem";
440         };
441
442         spi@0 {
443                 #address-cells = <1>;
444                 #size-cells = <0>;
445                 reg = <0 1>;
446                 compatible = "sandbox,spi";
447                 cs-gpios = <0>, <&gpio_a 0>;
448                 spi.bin@0 {
449                         reg = <0>;
450                         compatible = "spansion,m25p16", "spi-flash";
451                         spi-max-frequency = <40000000>;
452                         sandbox,filename = "spi.bin";
453                 };
454         };
455
456         syscon@0 {
457                 compatible = "sandbox,syscon0";
458                 reg = <0x10 4>;
459         };
460
461         syscon@1 {
462                 compatible = "sandbox,syscon1";
463                 reg = <0x20 5
464                         0x28 6
465                         0x30 7
466                         0x38 8>;
467         };
468
469         syscon@2 {
470                 compatible = "simple-mfd", "syscon";
471                 reg = <0x40 5
472                         0x48 6
473                         0x50 7
474                         0x58 8>;
475         };
476
477         timer {
478                 compatible = "sandbox,timer";
479                 clock-frequency = <1000000>;
480         };
481
482         tpm2 {
483                 compatible = "sandbox,tpm2";
484         };
485
486         uart0: serial {
487                 compatible = "sandbox,serial";
488                 u-boot,dm-pre-reloc;
489         };
490
491         usb_0: usb@0 {
492                 compatible = "sandbox,usb";
493                 status = "disabled";
494                 hub {
495                         compatible = "sandbox,usb-hub";
496                         #address-cells = <1>;
497                         #size-cells = <0>;
498                         flash-stick {
499                                 reg = <0>;
500                                 compatible = "sandbox,usb-flash";
501                         };
502                 };
503         };
504
505         usb_1: usb@1 {
506                 compatible = "sandbox,usb";
507                 hub {
508                         compatible = "usb-hub";
509                         usb,device-class = <9>;
510                         hub-emul {
511                                 compatible = "sandbox,usb-hub";
512                                 #address-cells = <1>;
513                                 #size-cells = <0>;
514                                 flash-stick@0 {
515                                         reg = <0>;
516                                         compatible = "sandbox,usb-flash";
517                                         sandbox,filepath = "testflash.bin";
518                                 };
519
520                                 flash-stick@1 {
521                                         reg = <1>;
522                                         compatible = "sandbox,usb-flash";
523                                         sandbox,filepath = "testflash1.bin";
524                                 };
525
526                                 flash-stick@2 {
527                                         reg = <2>;
528                                         compatible = "sandbox,usb-flash";
529                                         sandbox,filepath = "testflash2.bin";
530                                 };
531
532                                 keyb@3 {
533                                         reg = <3>;
534                                         compatible = "sandbox,usb-keyb";
535                                 };
536
537                         };
538                 };
539         };
540
541         usb_2: usb@2 {
542                 compatible = "sandbox,usb";
543                 status = "disabled";
544         };
545
546         spmi: spmi@0 {
547                 compatible = "sandbox,spmi";
548                 #address-cells = <0x1>;
549                 #size-cells = <0x1>;
550                 pm8916@0 {
551                         compatible = "qcom,spmi-pmic";
552                         reg = <0x0 0x1>;
553                         #address-cells = <0x1>;
554                         #size-cells = <0x1>;
555
556                         spmi_gpios: gpios@c000 {
557                                 compatible = "qcom,pm8916-gpio";
558                                 reg = <0xc000 0x400>;
559                                 gpio-controller;
560                                 gpio-count = <4>;
561                                 #gpio-cells = <2>;
562                                 gpio-bank-name="spmi";
563                         };
564                 };
565         };
566
567         wdt0: wdt@0 {
568                 compatible = "sandbox,wdt";
569         };
570
571         axi: axi@0 {
572                 compatible = "sandbox,axi";
573                 #address-cells = <0x1>;
574                 #size-cells = <0x1>;
575                 store@0 {
576                         compatible = "sandbox,sandbox_store";
577                         reg = <0x0 0x400>;
578                 };
579         };
580
581         chosen {
582                 #address-cells = <1>;
583                 #size-cells = <1>;
584                 chosen-test {
585                         compatible = "denx,u-boot-fdt-test";
586                         reg = <9 1>;
587                 };
588         };
589
590         translation-test@8000 {
591                 compatible = "simple-bus";
592                 reg = <0x8000 0x4000>;
593
594                 #address-cells = <0x2>;
595                 #size-cells = <0x1>;
596
597                 ranges = <0 0x0 0x8000 0x1000
598                           1 0x100 0x9000 0x1000
599                           2 0x200 0xA000 0x1000
600                           3 0x300 0xB000 0x1000
601                          >;
602
603                 dev@0,0 {
604                         compatible = "denx,u-boot-fdt-dummy";
605                         reg = <0 0x0 0x1000>;
606                 };
607
608                 dev@1,100 {
609                         compatible = "denx,u-boot-fdt-dummy";
610                         reg = <1 0x100 0x1000>;
611
612                 };
613
614                 dev@2,200 {
615                         compatible = "denx,u-boot-fdt-dummy";
616                         reg = <2 0x200 0x1000>;
617                 };
618
619
620                 noxlatebus@3,300 {
621                         compatible = "simple-bus";
622                         reg = <3 0x300 0x1000>;
623
624                         #address-cells = <0x1>;
625                         #size-cells = <0x0>;
626
627                         dev@42 {
628                                 compatible = "denx,u-boot-fdt-dummy";
629                                 reg = <0x42>;
630                         };
631                 };
632         };
633 };
634
635 #include "sandbox_pmic.dtsi"