pxa300-raumfeld-common.dtsi 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include "pxa3xx.dtsi"
  3. #include <dt-bindings/gpio/gpio.h>
  4. #include <dt-bindings/input/input.h>
  5. #include <dt-bindings/interrupt-controller/irq.h>
  6. / {
  7. /* Will be overridden by bootloader */
  8. hw-revision = <0>;
  9. chosen {
  10. bootargs = "root=ubi0:RootFS rootfstype=ubifs rw ubi.mtd=3";
  11. stdout-path = &ffuart;
  12. };
  13. memory {
  14. device_type = "memory";
  15. reg = <0xa0000000 0x8000000>; /* 128 MB */
  16. };
  17. reg_3v3: regulator-3v3 {
  18. compatible = "regulator-fixed";
  19. regulator-name = "3v3-fixed-supply";
  20. regulator-min-microvolt = <3300000>;
  21. regulator-max-microvolt = <3300000>;
  22. regulator-always-on;
  23. };
  24. reg_1v8: regulator-1v8 {
  25. compatible = "regulator-fixed";
  26. regulator-name = "1v8-fixed-supply";
  27. regulator-min-microvolt = <1800000>;
  28. regulator-max-microvolt = <1800000>;
  29. regulator-always-on;
  30. };
  31. reg_va_5v0: regulator-va-5v0 {
  32. compatible = "regulator-fixed";
  33. regulator-name = "va-5v0-fixed-supply";
  34. regulator-min-microvolt = <5000000>;
  35. regulator-max-microvolt = <5000000>;
  36. gpio = <&gpio 124 GPIO_ACTIVE_HIGH>;
  37. enable-active-high;
  38. };
  39. ssp_dai0: ssp-dai0 {
  40. compatible = "mrvl,pxa-ssp-dai";
  41. pinctrl-names = "default";
  42. pinctrl-0 = <&ssp0_dai_pins>;
  43. port = <&ssp1>;
  44. #sound-dai-cells = <0>;
  45. dmas = <&pdma 13 3
  46. &pdma 14 3>;
  47. dma-names = "rx", "tx";
  48. clock-names = "extclk";
  49. };
  50. ssp_dai1: ssp-dai1 {
  51. compatible = "mrvl,pxa-ssp-dai";
  52. pinctrl-names = "default";
  53. pinctrl-0 = <&ssp1_dai_pins>;
  54. port = <&ssp2>;
  55. #sound-dai-cells = <0>;
  56. dmas = <&pdma 15 3
  57. &pdma 16 3>;
  58. dma-names = "rx", "tx";
  59. clock-names = "extclk";
  60. };
  61. spi: spi {
  62. compatible = "spi-gpio";
  63. #address-cells = <0x1>;
  64. #size-cells = <0>;
  65. pinctrl-names = "default";
  66. pinctrl-0 = <&spi_pins>;
  67. gpio-sck = <&gpio 95 GPIO_ACTIVE_HIGH>;
  68. gpio-miso = <&gpio 98 GPIO_ACTIVE_HIGH>;
  69. gpio-mosi = <&gpio 97 GPIO_ACTIVE_HIGH>;
  70. cs-gpios = <
  71. &gpio 34 GPIO_ACTIVE_HIGH
  72. &gpio 125 GPIO_ACTIVE_HIGH
  73. &gpio 96 GPIO_ACTIVE_HIGH
  74. >;
  75. num-chipselects = <3>;
  76. dac: dac@2 {
  77. compatible = "ti,dac7512";
  78. reg = <2>;
  79. spi-max-frequency = <1000000>;
  80. vcc-supply = <&reg_3v3>;
  81. };
  82. };
  83. keys: gpio-keys {
  84. compatible = "gpio-keys";
  85. pinctrl-names = "default";
  86. pinctrl-0 = <&gpio_keys_pins>;
  87. on-off {
  88. label = "on_off button";
  89. gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
  90. linux,code = <KEY_F6>;
  91. };
  92. rescue-boot {
  93. label = "rescue boot button";
  94. gpios = <&gpio 115 GPIO_ACTIVE_HIGH>;
  95. linux,code = <KEY_F4>;
  96. };
  97. setup {
  98. label = "setup";
  99. gpios = <&gpio 119 GPIO_ACTIVE_HIGH>;
  100. linux,code = <KEY_F3>;
  101. };
  102. };
  103. rotary: rotary-encoder {
  104. compatible = "rotary-encoder";
  105. gpios = <
  106. &gpio 19 GPIO_ACTIVE_LOW
  107. &gpio 20 GPIO_ACTIVE_HIGH
  108. >;
  109. linux,axis = <REL_X>;
  110. rotary-encoder,relative-axis;
  111. };
  112. leds: leds {
  113. compatible = "gpio-leds";
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&led_pins_a &led_pins_b>;
  116. left {
  117. label = "raumfeld:1";
  118. gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
  119. };
  120. right {
  121. label = "raumfeld:2";
  122. gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
  123. };
  124. };
  125. poweroff {
  126. compatible = "gpio-poweroff";
  127. pinctrl-names = "default";
  128. pinctrl-0 = <&poweroff_pins>;
  129. gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
  130. };
  131. mmc0_pwrseq: mmc-pwrseq {
  132. compatible = "mmc-pwrseq-simple";
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&mmc0_pwrseq_pins>;
  135. reset-gpios = <
  136. &gpio 113 GPIO_ACTIVE_LOW /* W2W_RESET */
  137. &gpio 114 GPIO_ACTIVE_LOW /* W2W_PDN */
  138. >;
  139. };
  140. ethernet: ethernet@10000000 {
  141. compatible = "smsc,lan9115";
  142. pinctrl-names = "default";
  143. pinctrl-0 = <&smsc_pins &smsc_bus_pins>;
  144. reg = <0x10000000 0x100000>;
  145. phy-mode = "mii";
  146. interrupt-parent = <&gpio>;
  147. interrupts = <40 IRQ_TYPE_EDGE_FALLING>;
  148. vdd33a-supply = <&reg_3v3>;
  149. vddvario-supply = <&reg_1v8>;
  150. reset-gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
  151. reg-io-width = <4>;
  152. smsc,save-mac-address;
  153. smsc,irq-push-pull;
  154. };
  155. };
  156. &ffuart {
  157. status = "okay";
  158. };
  159. &pwri2c {
  160. status = "okay";
  161. max8660: regulator@34 {
  162. compatible = "maxim,max8660";
  163. reg = <0x34>;
  164. regulators {
  165. regulator-v3 {
  166. regulator-compatible = "V3(DCDC)";
  167. regulator-min-microvolt = <725000>;
  168. regulator-max-microvolt = <1800000>;
  169. };
  170. regulator-v4 {
  171. regulator-compatible = "V4(DCDC)";
  172. regulator-min-microvolt = <725000>;
  173. regulator-max-microvolt = <1800000>;
  174. };
  175. regulator-v5 {
  176. regulator-compatible = "V5(LDO)";
  177. regulator-min-microvolt = <1700000>;
  178. regulator-max-microvolt = <2000000>;
  179. };
  180. reg_vcc_sdio: regulator-v6 {
  181. regulator-compatible = "V6(LDO)";
  182. regulator-min-microvolt = <3300000>;
  183. regulator-max-microvolt = <3300000>;
  184. };
  185. regulator-v7 {
  186. regulator-compatible = "V7(LDO)";
  187. regulator-min-microvolt = <1800000>;
  188. regulator-max-microvolt = <3300000>;
  189. };
  190. };
  191. };
  192. };
  193. &pxai2c1 {
  194. status = "okay";
  195. mrvl,i2c-fast-mode;
  196. pinctrl-names = "default";
  197. pinctrl-0 = <&pxai2c1_pins>;
  198. };
  199. &ssp1 {
  200. status = "okay";
  201. };
  202. &ssp2 {
  203. status = "okay";
  204. };
  205. &nand_controller {
  206. status = "okay";
  207. nand@0 {
  208. reg = <0>;
  209. nand-rb = <0>;
  210. nand-ecc-mode = "hw";
  211. marvell,nand-keep-config;
  212. partitions {
  213. compatible = "fixed-partitions";
  214. #address-cells = <1>;
  215. #size-cells = <1>;
  216. partition@0 {
  217. label = "Bootloader";
  218. reg = <0x0000000 0xa0000>;
  219. read-only;
  220. };
  221. partition@a0000 {
  222. label = "BootloaderEnvironment";
  223. reg = <0x0a0000 0x20000>;
  224. };
  225. partition@c0000 {
  226. label = "BootloaderSplashScreen";
  227. reg = <0x0c0000 0x60000>;
  228. };
  229. partition@120000 {
  230. label = "UBI";
  231. reg = <0x120000 0x7ee0000>;
  232. };
  233. };
  234. };
  235. };
  236. &usb0 {
  237. status = "okay";
  238. marvell,enable-port1;
  239. marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */
  240. pinctrl-names = "default";
  241. pinctrl-0 = <&pxa3xx_ohci_pins>;
  242. };
  243. &mmc0 {
  244. status = "okay";
  245. pinctrl-names = "default";
  246. pinctrl-0 = <&mmc0_pins>;
  247. pxa-mmc,detect-delay-ms = <200>;
  248. vmmc-supply = <&reg_vcc_sdio>;
  249. mmc-pwrseq = <&mmc0_pwrseq>;
  250. non-removable;
  251. bus-width = <4>;
  252. };
  253. &pinctrl {
  254. poweroff_pins: poweroff-pins {
  255. pinctrl-single,pins = <MFP_PIN_PXA300(16) MFP_AF0>;
  256. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
  257. };
  258. led_pins_a: led-pins-a {
  259. pinctrl-single,pins = <MFP_PIN_PXA300(35) MFP_AF0>;
  260. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
  261. };
  262. led_pins_b: led-pins-b {
  263. pinctrl-single,pins = <MFP_PIN_PXA300(36) MFP_AF0>;
  264. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_DRIVE_HIGH);
  265. };
  266. pxai2c1_pins: pxai2c1-pins {
  267. pinctrl-single,pins = <
  268. MFP_PIN_PXA300(21) MFP_AF1 /* I2C_SCL */
  269. MFP_PIN_PXA300(22) MFP_AF1 /* I2C_SDA */
  270. >;
  271. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_HIGH);
  272. };
  273. gpio_keys_pins: gpio-keys-pins {
  274. pinctrl-single,pins = <
  275. MFP_PIN_PXA300(14) MFP_AF0 /* on-off */
  276. MFP_PIN_PXA300(115) MFP_AF0 /* rescue boot */
  277. MFP_PIN_PXA300(119) MFP_AF0 /* setup */
  278. >;
  279. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
  280. };
  281. spi_pins: spi-pins {
  282. pinctrl-single,pins = <
  283. MFP_PIN_PXA300(95) MFP_AF0 /* SCK */
  284. MFP_PIN_PXA300(97) MFP_AF0 /* MOSI */
  285. MFP_PIN_PXA300(98) MFP_AF0 /* MISO */
  286. MFP_PIN_PXA300(34) MFP_AF0 /* CS#0 */
  287. MFP_PIN_PXA300(125) MFP_AF0 /* CS#1 */
  288. MFP_PIN_PXA300(96) MFP_AF0 /* CS#2 */
  289. >;
  290. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
  291. };
  292. pxa3xx_ohci_pins: pxa3xx-ohci-pins {
  293. pinctrl-single,pins = <
  294. MFP_PIN_PXA300_2(0) MFP_AF1 /* USBHPEN */
  295. MFP_PIN_PXA300_2(1) MFP_AF1 /* USBHPWR */
  296. >;
  297. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
  298. };
  299. smsc_pins: smsc-pins {
  300. pinctrl-single,pins = <
  301. MFP_PIN_PXA300(39) MFP_AF0 /* RESET */
  302. MFP_PIN_PXA300(40) MFP_AF0 /* IRQ */
  303. >;
  304. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
  305. };
  306. smsc_bus_pins: smsc-bus-pins {
  307. pinctrl-single,pins = <
  308. MFP_PIN_PXA300(1) MFP_AF1 /* nCS2 */
  309. >;
  310. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
  311. };
  312. mmc0_pins: mmc0-pins {
  313. pinctrl-single,pins = <
  314. MFP_PIN_PXA300(3) MFP_AF4 /* MMC1_DAT0 */
  315. MFP_PIN_PXA300(4) MFP_AF4 /* MMC1_DAT1 */
  316. MFP_PIN_PXA300(5) MFP_AF4 /* MMC1_DAT2 */
  317. MFP_PIN_PXA300(6) MFP_AF4 /* MMC1_DAT3 */
  318. MFP_PIN_PXA300(7) MFP_AF4 /* MMC1_CLK */
  319. MFP_PIN_PXA300(8) MFP_AF4 /* MMC1_CMD */
  320. >;
  321. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_DRIVE_HIGH);
  322. };
  323. mmc0_pwrseq_pins: mmc0-pwrseq-pins {
  324. pinctrl-single,pins = <
  325. MFP_PIN_PXA300(113) MFP_AF0 /* W2W_RESET */
  326. MFP_PIN_PXA300(114) MFP_AF0 /* W2W_PDN */
  327. >;
  328. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
  329. };
  330. ssp0_dai_pins: ssp0-dai-pins {
  331. pinctrl-single,pins = <
  332. MFP_PIN_PXA300(85) MFP_AF1 /* SSP1_SCLK */
  333. MFP_PIN_PXA300(86) MFP_AF1 /* SSP1_FRM */
  334. MFP_PIN_PXA300(87) MFP_AF1 /* SSP1_TXD */
  335. MFP_PIN_PXA300(88) MFP_AF1 /* SSP1_RXD */
  336. MFP_PIN_PXA300(89) MFP_AF1 /* SSP1_EXTCLK */
  337. MFP_PIN_PXA300(90) MFP_AF1 /* SSP1_SYSCLK */
  338. >;
  339. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
  340. };
  341. ssp1_dai_pins: ssp1-dai-pins {
  342. pinctrl-single,pins = <
  343. MFP_PIN_PXA300(25) MFP_AF2 /* SSP2_SCLK */
  344. MFP_PIN_PXA300(26) MFP_AF2 /* SSP2_FRM */
  345. MFP_PIN_PXA300(27) MFP_AF2 /* SSP2_TXD */
  346. MFP_PIN_PXA300(29) MFP_AF2 /* SSP2_EXTCLK */
  347. >;
  348. pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
  349. };
  350. };