test.dts 20 KB

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