aspeed-bmc-lenovo-hr630.dts 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Device Tree file for Lenovo Hr630 platform
  4. *
  5. * Copyright (C) 2019-present Lenovo
  6. */
  7. /dts-v1/;
  8. #include "aspeed-g5.dtsi"
  9. #include <dt-bindings/gpio/aspeed-gpio.h>
  10. / {
  11. model = "HR630 BMC";
  12. compatible = "lenovo,hr630-bmc", "aspeed,ast2500";
  13. aliases {
  14. i2c14 = &i2c_rbp;
  15. i2c15 = &i2c_fbp1;
  16. i2c16 = &i2c_fbp2;
  17. i2c17 = &i2c_fbp3;
  18. i2c18 = &i2c_riser2;
  19. i2c19 = &i2c_pcie4;
  20. i2c20 = &i2c_riser1;
  21. i2c21 = &i2c_ocp;
  22. };
  23. chosen {
  24. stdout-path = &uart5;
  25. bootargs = "console=tty0 console=ttyS4,115200 earlycon";
  26. };
  27. memory@80000000 {
  28. device_type = "memory";
  29. reg = <0x80000000 0x20000000>;
  30. };
  31. reserved-memory {
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. ranges;
  35. flash_memory: region@98000000 {
  36. no-map;
  37. reg = <0x98000000 0x00100000>; /* 1M */
  38. };
  39. gfx_memory: framebuffer {
  40. size = <0x01000000>;
  41. alignment = <0x01000000>;
  42. compatible = "shared-dma-pool";
  43. reusable;
  44. };
  45. };
  46. leds {
  47. compatible = "gpio-leds";
  48. heartbeat {
  49. gpios = <&gpio ASPEED_GPIO(J, 1) GPIO_ACTIVE_LOW>;
  50. };
  51. fault {
  52. gpios = <&gpio ASPEED_GPIO(J, 0) GPIO_ACTIVE_LOW>;
  53. };
  54. };
  55. iio-hwmon {
  56. compatible = "iio-hwmon";
  57. io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
  58. <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
  59. <&adc 8>, <&adc 9>, <&adc 10>,
  60. <&adc 12>, <&adc 13>, <&adc 14>;
  61. };
  62. };
  63. &fmc {
  64. status = "okay";
  65. flash@0 {
  66. status = "okay";
  67. m25p,fast-read;
  68. label = "bmc";
  69. spi-max-frequency = <50000000>;
  70. #include "openbmc-flash-layout.dtsi"
  71. };
  72. };
  73. &lpc_ctrl {
  74. status = "okay";
  75. memory-region = <&flash_memory>;
  76. flash = <&spi1>;
  77. };
  78. &uart1 {
  79. status = "okay";
  80. pinctrl-names = "default";
  81. pinctrl-0 = <&pinctrl_txd1_default
  82. &pinctrl_rxd1_default>;
  83. };
  84. &uart2 {
  85. /* Rear RS-232 connector */
  86. status = "okay";
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&pinctrl_txd2_default
  89. &pinctrl_rxd2_default
  90. &pinctrl_nrts2_default
  91. &pinctrl_ndtr2_default
  92. &pinctrl_ndsr2_default
  93. &pinctrl_ncts2_default
  94. &pinctrl_ndcd2_default
  95. &pinctrl_nri2_default>;
  96. };
  97. &uart3 {
  98. status = "okay";
  99. pinctrl-names = "default";
  100. pinctrl-0 = <&pinctrl_txd3_default
  101. &pinctrl_rxd3_default>;
  102. };
  103. &uart5 {
  104. status = "okay";
  105. };
  106. &ibt {
  107. status = "okay";
  108. };
  109. &mac0 {
  110. status = "okay";
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&pinctrl_rmii1_default>;
  113. clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
  114. <&syscon ASPEED_CLK_MAC1RCLK>;
  115. clock-names = "MACCLK", "RCLK";
  116. use-ncsi;
  117. };
  118. &mac1 {
  119. status = "okay";
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
  122. };
  123. &adc {
  124. status = "okay";
  125. pinctrl-names = "default";
  126. pinctrl-0 = <&pinctrl_adc0_default
  127. &pinctrl_adc1_default
  128. &pinctrl_adc2_default
  129. &pinctrl_adc3_default
  130. &pinctrl_adc4_default
  131. &pinctrl_adc5_default
  132. &pinctrl_adc6_default
  133. &pinctrl_adc7_default
  134. &pinctrl_adc8_default
  135. &pinctrl_adc9_default
  136. &pinctrl_adc10_default
  137. &pinctrl_adc12_default
  138. &pinctrl_adc13_default
  139. &pinctrl_adc14_default>;
  140. };
  141. &i2c0 {
  142. status = "okay";
  143. /* temp1 inlet */
  144. tmp75@4e {
  145. compatible = "national,lm75";
  146. reg = <0x4e>;
  147. };
  148. };
  149. &i2c1 {
  150. status = "okay";
  151. /* temp2 outlet */
  152. tmp75@4d {
  153. compatible = "national,lm75";
  154. reg = <0x4d>;
  155. };
  156. };
  157. &i2c2 {
  158. status = "okay";
  159. };
  160. &i2c3 {
  161. status = "okay";
  162. };
  163. &i2c4 {
  164. status = "okay";
  165. };
  166. &i2c5 {
  167. status = "okay";
  168. };
  169. &i2c6 {
  170. status = "okay";
  171. /* Slot 0,
  172. * Slot 1,
  173. * Slot 2,
  174. * Slot 3
  175. */
  176. i2c-switch@70 {
  177. compatible = "nxp,pca9545";
  178. reg = <0x70>;
  179. #address-cells = <1>;
  180. #size-cells = <0>;
  181. i2c-mux-idle-disconnect; /* may use mux@70 next. */
  182. i2c_rbp: i2c@0 {
  183. #address-cells = <1>;
  184. #size-cells = <0>;
  185. reg = <0>;
  186. };
  187. i2c_fbp1: i2c@1 {
  188. #address-cells = <1>;
  189. #size-cells = <0>;
  190. reg = <1>;
  191. };
  192. i2c_fbp2: i2c@2 {
  193. #address-cells = <1>;
  194. #size-cells = <0>;
  195. reg = <2>;
  196. };
  197. i2c_fbp3: i2c@3 {
  198. #address-cells = <1>;
  199. #size-cells = <0>;
  200. reg = <3>;
  201. };
  202. };
  203. };
  204. &i2c7 {
  205. status = "okay";
  206. /* Slot 0,
  207. * Slot 1,
  208. * Slot 2,
  209. * Slot 3
  210. */
  211. i2c-switch@76 {
  212. compatible = "nxp,pca9546";
  213. reg = <0x76>;
  214. #address-cells = <1>;
  215. #size-cells = <0>;
  216. i2c-mux-idle-disconnect; /* may use mux@76 next. */
  217. i2c_riser2: i2c@0 {
  218. #address-cells = <1>;
  219. #size-cells = <0>;
  220. reg = <0>;
  221. };
  222. i2c_pcie4: i2c@1 {
  223. #address-cells = <1>;
  224. #size-cells = <0>;
  225. reg = <1>;
  226. };
  227. i2c_riser1: i2c@2 {
  228. #address-cells = <1>;
  229. #size-cells = <0>;
  230. reg = <2>;
  231. };
  232. i2c_ocp: i2c@3 {
  233. #address-cells = <1>;
  234. #size-cells = <0>;
  235. reg = <3>;
  236. };
  237. };
  238. };
  239. &i2c8 {
  240. status = "okay";
  241. eeprom@57 {
  242. compatible = "atmel,24c256";
  243. reg = <0x57>;
  244. pagesize = <16>;
  245. };
  246. };
  247. &i2c9 {
  248. status = "okay";
  249. };
  250. &i2c10 {
  251. status = "okay";
  252. };
  253. &i2c11 {
  254. status = "okay";
  255. };
  256. &i2c12 {
  257. status = "okay";
  258. };
  259. &ehci1 {
  260. status = "okay";
  261. };
  262. &uhci {
  263. status = "okay";
  264. };
  265. &gfx {
  266. status = "okay";
  267. memory-region = <&gfx_memory>;
  268. };
  269. &pwm_tacho {
  270. status = "okay";
  271. pinctrl-names = "default";
  272. pinctrl-0 = <&pinctrl_pwm0_default
  273. &pinctrl_pwm1_default
  274. &pinctrl_pwm2_default
  275. &pinctrl_pwm3_default
  276. &pinctrl_pwm4_default
  277. &pinctrl_pwm5_default
  278. &pinctrl_pwm6_default>;
  279. fan@0 {
  280. reg = <0x00>;
  281. aspeed,fan-tach-ch = /bits/ 8 <0x00>;
  282. };
  283. fan@1 {
  284. reg = <0x00>;
  285. aspeed,fan-tach-ch = /bits/ 8 <0x01>;
  286. };
  287. fan@2 {
  288. reg = <0x01>;
  289. aspeed,fan-tach-ch = /bits/ 8 <0x02>;
  290. };
  291. fan@3 {
  292. reg = <0x01>;
  293. aspeed,fan-tach-ch = /bits/ 8 <0x03>;
  294. };
  295. fan@4 {
  296. reg = <0x02>;
  297. aspeed,fan-tach-ch = /bits/ 8 <0x04>;
  298. };
  299. fan@5 {
  300. reg = <0x02>;
  301. aspeed,fan-tach-ch = /bits/ 8 <0x05>;
  302. };
  303. fan@6 {
  304. reg = <0x03>;
  305. aspeed,fan-tach-ch = /bits/ 8 <0x06>;
  306. };
  307. fan@7 {
  308. reg = <0x03>;
  309. aspeed,fan-tach-ch = /bits/ 8 <0x07>;
  310. };
  311. fan@8 {
  312. reg = <0x04>;
  313. aspeed,fan-tach-ch = /bits/ 8 <0x08>;
  314. };
  315. fan@9 {
  316. reg = <0x04>;
  317. aspeed,fan-tach-ch = /bits/ 8 <0x09>;
  318. };
  319. fan@10 {
  320. reg = <0x05>;
  321. aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
  322. };
  323. fan@11 {
  324. reg = <0x05>;
  325. aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
  326. };
  327. fan@12 {
  328. reg = <0x06>;
  329. aspeed,fan-tach-ch = /bits/ 8 <0x0c>;
  330. };
  331. fan@13 {
  332. reg = <0x06>;
  333. aspeed,fan-tach-ch = /bits/ 8 <0x0d>;
  334. };
  335. };
  336. &gpio {
  337. pin_gpio_b5 {
  338. gpio-hog;
  339. gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
  340. output-high;
  341. line-name = "IRQ_BMC_PCH_SMI_LPC_N";
  342. };
  343. pin_gpio_f0 {
  344. gpio-hog;
  345. gpios = <ASPEED_GPIO(F, 0) GPIO_ACTIVE_HIGH>;
  346. output-low;
  347. line-name = "IRQ_BMC_PCH_NMI_R";
  348. };
  349. pin_gpio_f3 {
  350. gpio-hog;
  351. gpios = <ASPEED_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
  352. output-high;
  353. line-name = "I2C_BUS0_RST_OUT_N";
  354. };
  355. pin_gpio_f4 {
  356. gpio-hog;
  357. gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
  358. output-low;
  359. line-name = "FM_SKT0_FAULT_LED";
  360. };
  361. pin_gpio_f5 {
  362. gpio-hog;
  363. gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>;
  364. output-low;
  365. line-name = "FM_SKT1_FAULT_LED";
  366. };
  367. pin_gpio_g4 {
  368. gpio-hog;
  369. gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>;
  370. output-high;
  371. line-name = "FAN_PWR_CTL_N";
  372. };
  373. pin_gpio_g7 {
  374. gpio-hog;
  375. gpios = <ASPEED_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
  376. output-high;
  377. line-name = "RST_BMC_PCIE_I2CMUX_N";
  378. };
  379. pin_gpio_h2 {
  380. gpio-hog;
  381. gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
  382. output-high;
  383. line-name = "PSU1_FFS_N_R";
  384. };
  385. pin_gpio_h3 {
  386. gpio-hog;
  387. gpios = <ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
  388. output-high;
  389. line-name = "PSU2_FFS_N_R";
  390. };
  391. pin_gpio_i3 {
  392. gpio-hog;
  393. gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
  394. output-high;
  395. line-name = "BMC_INTRUDED_COVER";
  396. };
  397. pin_gpio_j2 {
  398. gpio-hog;
  399. gpios = <ASPEED_GPIO(J, 2) GPIO_ACTIVE_HIGH>;
  400. output-high;
  401. line-name = "BMC_BIOS_UPDATE_N";
  402. };
  403. pin_gpio_j3 {
  404. gpio-hog;
  405. gpios = <ASPEED_GPIO(J, 3) GPIO_ACTIVE_HIGH>;
  406. output-high;
  407. line-name = "RST_BMC_HDD_I2CMUX_N";
  408. };
  409. pin_gpio_s2 {
  410. gpio-hog;
  411. gpios = <ASPEED_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
  412. output-high;
  413. line-name = "BMC_VGA_SW";
  414. };
  415. pin_gpio_s4 {
  416. gpio-hog;
  417. gpios = <ASPEED_GPIO(S, 4) GPIO_ACTIVE_HIGH>;
  418. output;
  419. line-name = "VBAT_EN_N";
  420. };
  421. pin_gpio_s6 {
  422. gpio-hog;
  423. gpios = <ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
  424. output-high;
  425. line-name = "PU_BMC_GPIOS6";
  426. };
  427. pin_gpio_y0 {
  428. gpio-hog;
  429. gpios = <ASPEED_GPIO(Y, 0) GPIO_ACTIVE_HIGH>;
  430. output-low;
  431. line-name = "BMC_NCSI_MUX_CTL_S0";
  432. };
  433. pin_gpio_y1 {
  434. gpio-hog;
  435. gpios = <ASPEED_GPIO(Y, 1) GPIO_ACTIVE_HIGH>;
  436. output-low;
  437. line-name = "BMC_NCSI_MUX_CTL_S1";
  438. };
  439. pin_gpio_z0 {
  440. gpio-hog;
  441. gpios = <ASPEED_GPIO(Z, 0) GPIO_ACTIVE_HIGH>;
  442. output-high;
  443. line-name = "I2C_RISER2_INT_N";
  444. };
  445. pin_gpio_z2 {
  446. gpio-hog;
  447. gpios = <ASPEED_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
  448. output-high;
  449. line-name = "I2C_RISER2_RESET_N";
  450. };
  451. pin_gpio_z3 {
  452. gpio-hog;
  453. gpios = <ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
  454. output-high;
  455. line-name = "FM_BMC_PCH_SCI_LPC_N";
  456. };
  457. pin_gpio_z7 {
  458. gpio-hog;
  459. gpios = <ASPEED_GPIO(Z, 7) GPIO_ACTIVE_HIGH>;
  460. output-low;
  461. line-name = "BMC_POST_CMPLT_N";
  462. };
  463. pin_gpio_aa0 {
  464. gpio-hog;
  465. gpios = <ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
  466. output-low;
  467. line-name = "HOST_BMC_USB_SEL";
  468. };
  469. pin_gpio_aa5 {
  470. gpio-hog;
  471. gpios = <ASPEED_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
  472. output-high;
  473. line-name = "I2C_BUS1_RST_OUT_N";
  474. };
  475. };