test.dts 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  1. /dts-v1/;
  2. #include <dt-bindings/gpio/gpio.h>
  3. #include <dt-bindings/gpio/sandbox-gpio.h>
  4. / {
  5. model = "sandbox";
  6. compatible = "sandbox";
  7. #address-cells = <1>;
  8. #size-cells = <1>;
  9. aliases {
  10. console = &uart0;
  11. eth0 = "/eth@10002000";
  12. eth3 = &eth_3;
  13. eth5 = &eth_5;
  14. gpio1 = &gpio_a;
  15. gpio2 = &gpio_b;
  16. gpio3 = &gpio_c;
  17. i2c0 = "/i2c@0";
  18. mmc0 = "/mmc0";
  19. mmc1 = "/mmc1";
  20. pci0 = &pci0;
  21. pci1 = &pci1;
  22. pci2 = &pci2;
  23. remoteproc0 = &rproc_1;
  24. remoteproc1 = &rproc_2;
  25. rtc0 = &rtc_0;
  26. rtc1 = &rtc_1;
  27. spi0 = "/spi@0";
  28. testfdt6 = "/e-test";
  29. testbus3 = "/some-bus";
  30. testfdt0 = "/some-bus/c-test@0";
  31. testfdt1 = "/some-bus/c-test@1";
  32. testfdt3 = "/b-test";
  33. testfdt5 = "/some-bus/c-test@5";
  34. testfdt8 = "/a-test";
  35. fdt-dummy0 = "/translation-test@8000/dev@0,0";
  36. fdt-dummy1 = "/translation-test@8000/dev@1,100";
  37. fdt-dummy2 = "/translation-test@8000/dev@2,200";
  38. fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
  39. usb0 = &usb_0;
  40. usb1 = &usb_1;
  41. usb2 = &usb_2;
  42. axi0 = &axi;
  43. osd0 = "/osd";
  44. };
  45. audio: audio-codec {
  46. compatible = "sandbox,audio-codec";
  47. #sound-dai-cells = <1>;
  48. };
  49. buttons {
  50. compatible = "gpio-keys";
  51. summer {
  52. gpios = <&gpio_a 3 0>;
  53. label = "summer";
  54. };
  55. christmas {
  56. gpios = <&gpio_a 4 0>;
  57. label = "christmas";
  58. };
  59. };
  60. cros_ec: cros-ec {
  61. reg = <0 0>;
  62. compatible = "google,cros-ec-sandbox";
  63. /*
  64. * This describes the flash memory within the EC. Note
  65. * that the STM32L flash erases to 0, not 0xff.
  66. */
  67. flash {
  68. image-pos = <0x08000000>;
  69. size = <0x20000>;
  70. erase-value = <0>;
  71. /* Information for sandbox */
  72. ro {
  73. image-pos = <0>;
  74. size = <0xf000>;
  75. };
  76. wp-ro {
  77. image-pos = <0xf000>;
  78. size = <0x1000>;
  79. };
  80. rw {
  81. image-pos = <0x10000>;
  82. size = <0x10000>;
  83. };
  84. };
  85. };
  86. dsi_host: dsi_host {
  87. compatible = "sandbox,dsi-host";
  88. };
  89. a-test {
  90. reg = <0 1>;
  91. compatible = "denx,u-boot-fdt-test";
  92. ping-expect = <0>;
  93. ping-add = <0>;
  94. u-boot,dm-pre-reloc;
  95. test-gpios = <&gpio_a 1>, <&gpio_a 4>,
  96. <&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>,
  97. <0>, <&gpio_a 12>;
  98. test2-gpios = <&gpio_a 1>, <&gpio_a 4>,
  99. <&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>,
  100. <&gpio_b 7 GPIO_IN 3 2 1>,
  101. <&gpio_b 8 GPIO_OUT 3 2 1>,
  102. <&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>;
  103. test3-gpios =
  104. <&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>,
  105. <&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>,
  106. <&gpio_c 2 GPIO_OUT>,
  107. <&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>,
  108. <&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>,
  109. <&gpio_c 5 GPIO_IN>,
  110. <&gpio_c 6 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_DRAIN)>,
  111. <&gpio_c 7 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_SOURCE)>;
  112. int-value = <1234>;
  113. uint-value = <(-1234)>;
  114. int64-value = /bits/ 64 <0x1111222233334444>;
  115. int-array = <5678 9123 4567>;
  116. str-value = "test string";
  117. interrupts-extended = <&irq 3 0>;
  118. acpi,name = "GHIJ";
  119. };
  120. junk {
  121. reg = <1 1>;
  122. compatible = "not,compatible";
  123. };
  124. no-compatible {
  125. reg = <2 1>;
  126. };
  127. backlight: backlight {
  128. compatible = "pwm-backlight";
  129. enable-gpios = <&gpio_a 1>;
  130. power-supply = <&ldo_1>;
  131. pwms = <&pwm 0 1000>;
  132. default-brightness-level = <5>;
  133. brightness-levels = <0 16 32 64 128 170 202 234 255>;
  134. };
  135. bind-test {
  136. compatible = "simple-bus";
  137. bind-test-child1 {
  138. compatible = "sandbox,phy";
  139. #phy-cells = <1>;
  140. };
  141. bind-test-child2 {
  142. compatible = "simple-bus";
  143. };
  144. };
  145. b-test {
  146. reg = <3 1>;
  147. compatible = "denx,u-boot-fdt-test";
  148. ping-expect = <3>;
  149. ping-add = <3>;
  150. };
  151. phy_provider0: gen_phy@0 {
  152. compatible = "sandbox,phy";
  153. #phy-cells = <1>;
  154. };
  155. phy_provider1: gen_phy@1 {
  156. compatible = "sandbox,phy";
  157. #phy-cells = <0>;
  158. broken;
  159. };
  160. phy_provider2: gen_phy@2 {
  161. compatible = "sandbox,phy";
  162. #phy-cells = <0>;
  163. };
  164. gen_phy_user: gen_phy_user {
  165. compatible = "simple-bus";
  166. phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
  167. phy-names = "phy1", "phy2", "phy3";
  168. };
  169. gen_phy_user1: gen_phy_user1 {
  170. compatible = "simple-bus";
  171. phys = <&phy_provider0 0>, <&phy_provider2>;
  172. phy-names = "phy1", "phy2";
  173. };
  174. some-bus {
  175. #address-cells = <1>;
  176. #size-cells = <0>;
  177. compatible = "denx,u-boot-test-bus";
  178. reg = <3 1>;
  179. ping-expect = <4>;
  180. ping-add = <4>;
  181. c-test@5 {
  182. compatible = "denx,u-boot-fdt-test";
  183. reg = <5>;
  184. ping-expect = <5>;
  185. ping-add = <5>;
  186. };
  187. c-test@0 {
  188. compatible = "denx,u-boot-fdt-test";
  189. reg = <0>;
  190. ping-expect = <6>;
  191. ping-add = <6>;
  192. };
  193. c-test@1 {
  194. compatible = "denx,u-boot-fdt-test";
  195. reg = <1>;
  196. ping-expect = <7>;
  197. ping-add = <7>;
  198. };
  199. };
  200. d-test {
  201. reg = <3 1>;
  202. ping-expect = <6>;
  203. ping-add = <6>;
  204. compatible = "google,another-fdt-test";
  205. };
  206. e-test {
  207. reg = <3 1>;
  208. ping-expect = <6>;
  209. ping-add = <6>;
  210. compatible = "google,another-fdt-test";
  211. };
  212. f-test {
  213. compatible = "denx,u-boot-fdt-test";
  214. };
  215. g-test {
  216. compatible = "denx,u-boot-fdt-test";
  217. };
  218. h-test {
  219. compatible = "denx,u-boot-fdt-test1";
  220. };
  221. i-test {
  222. compatible = "mediatek,u-boot-fdt-test";
  223. #address-cells = <1>;
  224. #size-cells = <0>;
  225. subnode@0 {
  226. reg = <0>;
  227. };
  228. subnode@1 {
  229. reg = <1>;
  230. };
  231. subnode@2 {
  232. reg = <2>;
  233. };
  234. };
  235. devres-test {
  236. compatible = "denx,u-boot-devres-test";
  237. };
  238. acpi_test1: acpi-test {
  239. compatible = "denx,u-boot-acpi-test";
  240. acpi-ssdt-test-data = "ab";
  241. acpi-dsdt-test-data = "hi";
  242. child {
  243. compatible = "denx,u-boot-acpi-test";
  244. };
  245. };
  246. acpi_test2: acpi-test2 {
  247. compatible = "denx,u-boot-acpi-test";
  248. acpi-ssdt-test-data = "cd";
  249. acpi-dsdt-test-data = "jk";
  250. };
  251. clocks {
  252. clk_fixed: clk-fixed {
  253. compatible = "fixed-clock";
  254. #clock-cells = <0>;
  255. clock-frequency = <1234>;
  256. };
  257. clk_fixed_factor: clk-fixed-factor {
  258. compatible = "fixed-factor-clock";
  259. #clock-cells = <0>;
  260. clock-div = <3>;
  261. clock-mult = <2>;
  262. clocks = <&clk_fixed>;
  263. };
  264. osc {
  265. compatible = "fixed-clock";
  266. #clock-cells = <0>;
  267. clock-frequency = <20000000>;
  268. };
  269. };
  270. clk_sandbox: clk-sbox {
  271. compatible = "sandbox,clk";
  272. #clock-cells = <1>;
  273. assigned-clocks = <&clk_sandbox 3>;
  274. assigned-clock-rates = <321>;
  275. };
  276. clk-test {
  277. compatible = "sandbox,clk-test";
  278. clocks = <&clk_fixed>,
  279. <&clk_sandbox 1>,
  280. <&clk_sandbox 0>,
  281. <&clk_sandbox 3>,
  282. <&clk_sandbox 2>;
  283. clock-names = "fixed", "i2c", "spi", "uart2", "uart1";
  284. };
  285. ccf: clk-ccf {
  286. compatible = "sandbox,clk-ccf";
  287. };
  288. eth@10002000 {
  289. compatible = "sandbox,eth";
  290. reg = <0x10002000 0x1000>;
  291. fake-host-hwaddr = [00 00 66 44 22 00];
  292. };
  293. eth_5: eth@10003000 {
  294. compatible = "sandbox,eth";
  295. reg = <0x10003000 0x1000>;
  296. fake-host-hwaddr = [00 00 66 44 22 11];
  297. };
  298. eth_3: sbe5 {
  299. compatible = "sandbox,eth";
  300. reg = <0x10005000 0x1000>;
  301. fake-host-hwaddr = [00 00 66 44 22 33];
  302. };
  303. eth@10004000 {
  304. compatible = "sandbox,eth";
  305. reg = <0x10004000 0x1000>;
  306. fake-host-hwaddr = [00 00 66 44 22 22];
  307. };
  308. firmware {
  309. sandbox_firmware: sandbox-firmware {
  310. compatible = "sandbox,firmware";
  311. };
  312. };
  313. pinctrl-gpio {
  314. compatible = "sandbox,pinctrl-gpio";
  315. gpio_a: base-gpios {
  316. compatible = "sandbox,gpio";
  317. gpio-controller;
  318. #gpio-cells = <1>;
  319. gpio-bank-name = "a";
  320. sandbox,gpio-count = <20>;
  321. hog_input_active_low {
  322. gpio-hog;
  323. input;
  324. gpios = <10 GPIO_ACTIVE_LOW>;
  325. };
  326. hog_input_active_high {
  327. gpio-hog;
  328. input;
  329. gpios = <11 GPIO_ACTIVE_HIGH>;
  330. };
  331. hog_output_low {
  332. gpio-hog;
  333. output-low;
  334. gpios = <12 GPIO_ACTIVE_HIGH>;
  335. };
  336. hog_output_high {
  337. gpio-hog;
  338. output-high;
  339. gpios = <13 GPIO_ACTIVE_HIGH>;
  340. };
  341. };
  342. gpio_b: extra-gpios {
  343. compatible = "sandbox,gpio";
  344. gpio-controller;
  345. #gpio-cells = <5>;
  346. gpio-bank-name = "b";
  347. sandbox,gpio-count = <10>;
  348. };
  349. gpio_c: pinmux-gpios {
  350. compatible = "sandbox,gpio";
  351. gpio-controller;
  352. #gpio-cells = <2>;
  353. gpio-bank-name = "c";
  354. sandbox,gpio-count = <10>;
  355. };
  356. };
  357. i2c@0 {
  358. #address-cells = <1>;
  359. #size-cells = <0>;
  360. reg = <0 1>;
  361. compatible = "sandbox,i2c";
  362. clock-frequency = <100000>;
  363. eeprom@2c {
  364. reg = <0x2c>;
  365. compatible = "i2c-eeprom";
  366. sandbox,emul = <&emul_eeprom>;
  367. partitions {
  368. compatible = "fixed-partitions";
  369. #address-cells = <1>;
  370. #size-cells = <1>;
  371. bootcount_i2c: bootcount@10 {
  372. reg = <10 2>;
  373. };
  374. };
  375. };
  376. rtc_0: rtc@43 {
  377. reg = <0x43>;
  378. compatible = "sandbox-rtc";
  379. sandbox,emul = <&emul0>;
  380. };
  381. rtc_1: rtc@61 {
  382. reg = <0x61>;
  383. compatible = "sandbox-rtc";
  384. sandbox,emul = <&emul1>;
  385. };
  386. i2c_emul: emul {
  387. reg = <0xff>;
  388. compatible = "sandbox,i2c-emul-parent";
  389. emul_eeprom: emul-eeprom {
  390. compatible = "sandbox,i2c-eeprom";
  391. sandbox,filename = "i2c.bin";
  392. sandbox,size = <256>;
  393. };
  394. emul0: emul0 {
  395. compatible = "sandbox,i2c-rtc";
  396. };
  397. emul1: emull {
  398. compatible = "sandbox,i2c-rtc";
  399. };
  400. };
  401. sandbox_pmic: sandbox_pmic {
  402. reg = <0x40>;
  403. sandbox,emul = <&emul_pmic0>;
  404. };
  405. mc34708: pmic@41 {
  406. reg = <0x41>;
  407. sandbox,emul = <&emul_pmic1>;
  408. };
  409. };
  410. bootcount@0 {
  411. compatible = "u-boot,bootcount-rtc";
  412. rtc = <&rtc_1>;
  413. offset = <0x13>;
  414. };
  415. bootcount {
  416. compatible = "u-boot,bootcount-i2c-eeprom";
  417. i2c-eeprom = <&bootcount_i2c>;
  418. };
  419. adc@0 {
  420. compatible = "sandbox,adc";
  421. vdd-supply = <&buck2>;
  422. vss-microvolts = <0>;
  423. };
  424. irq: irq {
  425. compatible = "sandbox,irq";
  426. interrupt-controller;
  427. #interrupt-cells = <2>;
  428. };
  429. lcd {
  430. u-boot,dm-pre-reloc;
  431. compatible = "sandbox,lcd-sdl";
  432. xres = <1366>;
  433. yres = <768>;
  434. };
  435. leds {
  436. compatible = "gpio-leds";
  437. iracibble {
  438. gpios = <&gpio_a 1 0>;
  439. label = "sandbox:red";
  440. };
  441. martinet {
  442. gpios = <&gpio_a 2 0>;
  443. label = "sandbox:green";
  444. };
  445. default_on {
  446. gpios = <&gpio_a 5 0>;
  447. label = "sandbox:default_on";
  448. default-state = "on";
  449. };
  450. default_off {
  451. gpios = <&gpio_a 6 0>;
  452. label = "sandbox:default_off";
  453. default-state = "off";
  454. };
  455. };
  456. mbox: mbox {
  457. compatible = "sandbox,mbox";
  458. #mbox-cells = <1>;
  459. };
  460. mbox-test {
  461. compatible = "sandbox,mbox-test";
  462. mboxes = <&mbox 100>, <&mbox 1>;
  463. mbox-names = "other", "test";
  464. };
  465. cpus {
  466. cpu-test1 {
  467. compatible = "sandbox,cpu_sandbox";
  468. u-boot,dm-pre-reloc;
  469. };
  470. cpu-test2 {
  471. compatible = "sandbox,cpu_sandbox";
  472. u-boot,dm-pre-reloc;
  473. };
  474. cpu-test3 {
  475. compatible = "sandbox,cpu_sandbox";
  476. u-boot,dm-pre-reloc;
  477. };
  478. };
  479. chipid: chipid {
  480. compatible = "sandbox,soc";
  481. };
  482. i2s: i2s {
  483. compatible = "sandbox,i2s";
  484. #sound-dai-cells = <1>;
  485. sandbox,silent; /* Don't emit sounds while testing */
  486. };
  487. nop-test_0 {
  488. compatible = "sandbox,nop_sandbox1";
  489. nop-test_1 {
  490. compatible = "sandbox,nop_sandbox2";
  491. bind = "True";
  492. };
  493. nop-test_2 {
  494. compatible = "sandbox,nop_sandbox2";
  495. bind = "False";
  496. };
  497. };
  498. misc-test {
  499. compatible = "sandbox,misc_sandbox";
  500. };
  501. mmc2 {
  502. compatible = "sandbox,mmc";
  503. };
  504. mmc1 {
  505. compatible = "sandbox,mmc";
  506. };
  507. mmc0 {
  508. compatible = "sandbox,mmc";
  509. };
  510. pch {
  511. compatible = "sandbox,pch";
  512. };
  513. pci0: pci@0 {
  514. compatible = "sandbox,pci";
  515. device_type = "pci";
  516. bus-range = <0x00 0xff>;
  517. #address-cells = <3>;
  518. #size-cells = <2>;
  519. ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
  520. 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
  521. pci@0,0 {
  522. compatible = "pci-generic";
  523. reg = <0x0000 0 0 0 0>;
  524. sandbox,emul = <&swap_case_emul0_0>;
  525. };
  526. pci@1,0 {
  527. compatible = "pci-generic";
  528. /* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */
  529. reg = <0x02000814 0 0 0 0
  530. 0x01000810 0 0 0 0>;
  531. sandbox,emul = <&swap_case_emul0_1>;
  532. };
  533. p2sb-pci@2,0 {
  534. compatible = "sandbox,p2sb";
  535. reg = <0x02001010 0 0 0 0>;
  536. sandbox,emul = <&p2sb_emul>;
  537. adder {
  538. intel,p2sb-port-id = <3>;
  539. compatible = "sandbox,adder";
  540. };
  541. };
  542. pci@1e,0 {
  543. compatible = "sandbox,pmc";
  544. reg = <0xf000 0 0 0 0>;
  545. sandbox,emul = <&pmc_emul1e>;
  546. acpi-base = <0x400>;
  547. gpe0-dwx-mask = <0xf>;
  548. gpe0-dwx-shift-base = <4>;
  549. gpe0-dw = <6 7 9>;
  550. gpe0-sts = <0x20>;
  551. gpe0-en = <0x30>;
  552. };
  553. pci@1f,0 {
  554. compatible = "pci-generic";
  555. /* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */
  556. reg = <0x0100f810 0 0 0 0>;
  557. sandbox,emul = <&swap_case_emul0_1f>;
  558. };
  559. };
  560. pci-emul0 {
  561. compatible = "sandbox,pci-emul-parent";
  562. swap_case_emul0_0: emul0@0,0 {
  563. compatible = "sandbox,swap-case";
  564. };
  565. swap_case_emul0_1: emul0@1,0 {
  566. compatible = "sandbox,swap-case";
  567. use-ea;
  568. };
  569. swap_case_emul0_1f: emul0@1f,0 {
  570. compatible = "sandbox,swap-case";
  571. };
  572. p2sb_emul: emul@2,0 {
  573. compatible = "sandbox,p2sb-emul";
  574. };
  575. pmc_emul1e: emul@1e,0 {
  576. compatible = "sandbox,pmc-emul";
  577. };
  578. };
  579. pci1: pci@1 {
  580. compatible = "sandbox,pci";
  581. device_type = "pci";
  582. bus-range = <0x00 0xff>;
  583. #address-cells = <3>;
  584. #size-cells = <2>;
  585. ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000
  586. 0x01000000 0 0x40000000 0x40000000 0 0x2000>;
  587. sandbox,dev-info = <0x08 0x00 0x1234 0x5678
  588. 0x0c 0x00 0x1234 0x5678
  589. 0x10 0x00 0x1234 0x5678>;
  590. pci@10,0 {
  591. reg = <0x8000 0 0 0 0>;
  592. };
  593. };
  594. pci2: pci@2 {
  595. compatible = "sandbox,pci";
  596. device_type = "pci";
  597. bus-range = <0x00 0xff>;
  598. #address-cells = <3>;
  599. #size-cells = <2>;
  600. ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
  601. 0x01000000 0 0x60000000 0x60000000 0 0x2000>;
  602. sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
  603. pci@1f,0 {
  604. compatible = "pci-generic";
  605. reg = <0xf800 0 0 0 0>;
  606. sandbox,emul = <&swap_case_emul2_1f>;
  607. };
  608. };
  609. pci-emul2 {
  610. compatible = "sandbox,pci-emul-parent";
  611. swap_case_emul2_1f: emul2@1f,0 {
  612. compatible = "sandbox,swap-case";
  613. };
  614. };
  615. pci_ep: pci_ep {
  616. compatible = "sandbox,pci_ep";
  617. };
  618. probing {
  619. compatible = "simple-bus";
  620. test1 {
  621. compatible = "denx,u-boot-probe-test";
  622. };
  623. test2 {
  624. compatible = "denx,u-boot-probe-test";
  625. };
  626. test3 {
  627. compatible = "denx,u-boot-probe-test";
  628. };
  629. test4 {
  630. compatible = "denx,u-boot-probe-test";
  631. first-syscon = <&syscon0>;
  632. second-sys-ctrl = <&another_system_controller>;
  633. third-syscon = <&syscon2>;
  634. };
  635. };
  636. pwrdom: power-domain {
  637. compatible = "sandbox,power-domain";
  638. #power-domain-cells = <1>;
  639. };
  640. power-domain-test {
  641. compatible = "sandbox,power-domain-test";
  642. power-domains = <&pwrdom 2>;
  643. };
  644. pwm: pwm {
  645. compatible = "sandbox,pwm";
  646. #pwm-cells = <2>;
  647. };
  648. pwm2 {
  649. compatible = "sandbox,pwm";
  650. #pwm-cells = <2>;
  651. };
  652. ram {
  653. compatible = "sandbox,ram";
  654. };
  655. reset@0 {
  656. compatible = "sandbox,warm-reset";
  657. };
  658. reset@1 {
  659. compatible = "sandbox,reset";
  660. };
  661. resetc: reset-ctl {
  662. compatible = "sandbox,reset-ctl";
  663. #reset-cells = <1>;
  664. };
  665. reset-ctl-test {
  666. compatible = "sandbox,reset-ctl-test";
  667. resets = <&resetc 100>, <&resetc 2>;
  668. reset-names = "other", "test";
  669. };
  670. rng {
  671. compatible = "sandbox,sandbox-rng";
  672. };
  673. rproc_1: rproc@1 {
  674. compatible = "sandbox,test-processor";
  675. remoteproc-name = "remoteproc-test-dev1";
  676. };
  677. rproc_2: rproc@2 {
  678. compatible = "sandbox,test-processor";
  679. internal-memory-mapped;
  680. remoteproc-name = "remoteproc-test-dev2";
  681. };
  682. panel {
  683. compatible = "simple-panel";
  684. backlight = <&backlight 0 100>;
  685. };
  686. smem@0 {
  687. compatible = "sandbox,smem";
  688. };
  689. sound {
  690. compatible = "sandbox,sound";
  691. cpu {
  692. sound-dai = <&i2s 0>;
  693. };
  694. codec {
  695. sound-dai = <&audio 0>;
  696. };
  697. };
  698. spi@0 {
  699. #address-cells = <1>;
  700. #size-cells = <0>;
  701. reg = <0 1>;
  702. compatible = "sandbox,spi";
  703. cs-gpios = <0>, <&gpio_a 0>;
  704. spi.bin@0 {
  705. reg = <0>;
  706. compatible = "spansion,m25p16", "jedec,spi-nor";
  707. spi-max-frequency = <40000000>;
  708. sandbox,filename = "spi.bin";
  709. };
  710. };
  711. syscon0: syscon@0 {
  712. compatible = "sandbox,syscon0";
  713. reg = <0x10 16>;
  714. };
  715. another_system_controller: syscon@1 {
  716. compatible = "sandbox,syscon1";
  717. reg = <0x20 5
  718. 0x28 6
  719. 0x30 7
  720. 0x38 8>;
  721. };
  722. syscon2: syscon@2 {
  723. compatible = "simple-mfd", "syscon";
  724. reg = <0x40 5
  725. 0x48 6
  726. 0x50 7
  727. 0x58 8>;
  728. };
  729. timer {
  730. compatible = "sandbox,timer";
  731. clock-frequency = <1000000>;
  732. };
  733. tpm2 {
  734. compatible = "sandbox,tpm2";
  735. };
  736. uart0: serial {
  737. compatible = "sandbox,serial";
  738. u-boot,dm-pre-reloc;
  739. };
  740. usb_0: usb@0 {
  741. compatible = "sandbox,usb";
  742. status = "disabled";
  743. hub {
  744. compatible = "sandbox,usb-hub";
  745. #address-cells = <1>;
  746. #size-cells = <0>;
  747. flash-stick {
  748. reg = <0>;
  749. compatible = "sandbox,usb-flash";
  750. };
  751. };
  752. };
  753. usb_1: usb@1 {
  754. compatible = "sandbox,usb";
  755. hub {
  756. compatible = "usb-hub";
  757. usb,device-class = <9>;
  758. #address-cells = <1>;
  759. #size-cells = <0>;
  760. hub-emul {
  761. compatible = "sandbox,usb-hub";
  762. #address-cells = <1>;
  763. #size-cells = <0>;
  764. flash-stick@0 {
  765. reg = <0>;
  766. compatible = "sandbox,usb-flash";
  767. sandbox,filepath = "testflash.bin";
  768. };
  769. flash-stick@1 {
  770. reg = <1>;
  771. compatible = "sandbox,usb-flash";
  772. sandbox,filepath = "testflash1.bin";
  773. };
  774. flash-stick@2 {
  775. reg = <2>;
  776. compatible = "sandbox,usb-flash";
  777. sandbox,filepath = "testflash2.bin";
  778. };
  779. keyb@3 {
  780. reg = <3>;
  781. compatible = "sandbox,usb-keyb";
  782. };
  783. };
  784. usbstor@1 {
  785. reg = <1>;
  786. };
  787. usbstor@3 {
  788. reg = <3>;
  789. };
  790. };
  791. };
  792. usb_2: usb@2 {
  793. compatible = "sandbox,usb";
  794. status = "disabled";
  795. };
  796. spmi: spmi@0 {
  797. compatible = "sandbox,spmi";
  798. #address-cells = <0x1>;
  799. #size-cells = <0x1>;
  800. ranges;
  801. pm8916@0 {
  802. compatible = "qcom,spmi-pmic";
  803. reg = <0x0 0x1>;
  804. #address-cells = <0x1>;
  805. #size-cells = <0x1>;
  806. ranges;
  807. spmi_gpios: gpios@c000 {
  808. compatible = "qcom,pm8916-gpio";
  809. reg = <0xc000 0x400>;
  810. gpio-controller;
  811. gpio-count = <4>;
  812. #gpio-cells = <2>;
  813. gpio-bank-name="spmi";
  814. };
  815. };
  816. };
  817. wdt0: wdt@0 {
  818. compatible = "sandbox,wdt";
  819. };
  820. axi: axi@0 {
  821. compatible = "sandbox,axi";
  822. #address-cells = <0x1>;
  823. #size-cells = <0x1>;
  824. store@0 {
  825. compatible = "sandbox,sandbox_store";
  826. reg = <0x0 0x400>;
  827. };
  828. };
  829. chosen {
  830. #address-cells = <1>;
  831. #size-cells = <1>;
  832. setting = "sunrise ohoka";
  833. other-node = "/some-bus/c-test@5";
  834. int-values = <0x1937 72993>;
  835. u-boot,acpi-ssdt-order = <&acpi_test2 &acpi_test1>;
  836. chosen-test {
  837. compatible = "denx,u-boot-fdt-test";
  838. reg = <9 1>;
  839. };
  840. };
  841. translation-test@8000 {
  842. compatible = "simple-bus";
  843. reg = <0x8000 0x4000>;
  844. #address-cells = <0x2>;
  845. #size-cells = <0x1>;
  846. ranges = <0 0x0 0x8000 0x1000
  847. 1 0x100 0x9000 0x1000
  848. 2 0x200 0xA000 0x1000
  849. 3 0x300 0xB000 0x1000
  850. >;
  851. dma-ranges = <0 0x000 0x10000000 0x1000
  852. 1 0x100 0x20000000 0x1000
  853. >;
  854. dev@0,0 {
  855. compatible = "denx,u-boot-fdt-dummy";
  856. reg = <0 0x0 0x1000>;
  857. reg-names = "sandbox-dummy-0";
  858. };
  859. dev@1,100 {
  860. compatible = "denx,u-boot-fdt-dummy";
  861. reg = <1 0x100 0x1000>;
  862. };
  863. dev@2,200 {
  864. compatible = "denx,u-boot-fdt-dummy";
  865. reg = <2 0x200 0x1000>;
  866. };
  867. noxlatebus@3,300 {
  868. compatible = "simple-bus";
  869. reg = <3 0x300 0x1000>;
  870. #address-cells = <0x1>;
  871. #size-cells = <0x0>;
  872. dev@42 {
  873. compatible = "denx,u-boot-fdt-dummy";
  874. reg = <0x42>;
  875. };
  876. };
  877. };
  878. osd {
  879. compatible = "sandbox,sandbox_osd";
  880. };
  881. board {
  882. compatible = "sandbox,board_sandbox";
  883. };
  884. sandbox_tee {
  885. compatible = "sandbox,tee";
  886. };
  887. sandbox_virtio1 {
  888. compatible = "sandbox,virtio1";
  889. };
  890. sandbox_virtio2 {
  891. compatible = "sandbox,virtio2";
  892. };
  893. pinctrl {
  894. compatible = "sandbox,pinctrl";
  895. pinctrl-names = "default";
  896. pinctrl-0 = <&gpios>;
  897. gpios: gpios {
  898. gpio0 {
  899. pins = "GPIO0";
  900. bias-pull-up;
  901. input-disable;
  902. };
  903. gpio1 {
  904. pins = "GPIO1";
  905. output-high;
  906. drive-open-drain;
  907. };
  908. gpio2 {
  909. pins = "GPIO2";
  910. bias-pull-down;
  911. input-enable;
  912. };
  913. gpio3 {
  914. pins = "GPIO3";
  915. bias-disable;
  916. };
  917. };
  918. };
  919. hwspinlock@0 {
  920. compatible = "sandbox,hwspinlock";
  921. };
  922. dma: dma {
  923. compatible = "sandbox,dma";
  924. #dma-cells = <1>;
  925. dmas = <&dma 0>, <&dma 1>, <&dma 2>;
  926. dma-names = "m2m", "tx0", "rx0";
  927. };
  928. /*
  929. * keep mdio-mux ahead of mdio so that the mux is removed first at the
  930. * end of the test. If parent mdio is removed first, clean-up of the
  931. * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio
  932. * active at the end of the test. That it turn doesn't allow the mdio
  933. * class to be destroyed, triggering an error.
  934. */
  935. mdio-mux-test {
  936. compatible = "sandbox,mdio-mux";
  937. #address-cells = <1>;
  938. #size-cells = <0>;
  939. mdio-parent-bus = <&mdio>;
  940. mdio-ch-test@0 {
  941. reg = <0>;
  942. };
  943. mdio-ch-test@1 {
  944. reg = <1>;
  945. };
  946. };
  947. mdio: mdio-test {
  948. compatible = "sandbox,mdio";
  949. };
  950. pm-bus-test {
  951. compatible = "simple-pm-bus";
  952. clocks = <&clk_sandbox 4>;
  953. power-domains = <&pwrdom 1>;
  954. };
  955. resetc2: syscon-reset {
  956. compatible = "syscon-reset";
  957. #reset-cells = <1>;
  958. regmap = <&syscon0>;
  959. offset = <1>;
  960. mask = <0x27FFFFFF>;
  961. assert-high = <0>;
  962. };
  963. syscon-reset-test {
  964. compatible = "sandbox,misc_sandbox";
  965. resets = <&resetc2 15>, <&resetc2 30>, <&resetc2 60>;
  966. reset-names = "valid", "no_mask", "out_of_range";
  967. };
  968. };
  969. #include "sandbox_pmic.dtsi"