test.dts 20 KB

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