rk3288-veyron-fievel.dts 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Google Veyron Fievel Rev 0+ board device tree source
  4. *
  5. * Copyright 2016 Google, Inc
  6. */
  7. /dts-v1/;
  8. #include "rk3288-veyron.dtsi"
  9. #include "rk3288-veyron-analog-audio.dtsi"
  10. / {
  11. model = "Google Fievel";
  12. compatible = "google,veyron-fievel-rev8", "google,veyron-fievel-rev7",
  13. "google,veyron-fievel-rev6", "google,veyron-fievel-rev5",
  14. "google,veyron-fievel-rev4", "google,veyron-fievel-rev3",
  15. "google,veyron-fievel-rev2", "google,veyron-fievel-rev1",
  16. "google,veyron-fievel-rev0", "google,veyron-fievel",
  17. "google,veyron", "rockchip,rk3288";
  18. vccsys: vccsys {
  19. compatible = "regulator-fixed";
  20. regulator-name = "vccsys";
  21. regulator-boot-on;
  22. regulator-always-on;
  23. };
  24. /*
  25. * vcc33_pmuio and vcc33_io is sourced directly from vcc33_sys,
  26. * enabled by vcc_18
  27. */
  28. vcc33_io: vcc33-io {
  29. compatible = "regulator-fixed";
  30. regulator-always-on;
  31. regulator-boot-on;
  32. regulator-name = "vcc33_io";
  33. };
  34. vcc5_host1: vcc5-host1-regulator {
  35. compatible = "regulator-fixed";
  36. enable-active-high;
  37. gpio = <&gpio5 RK_PC2 GPIO_ACTIVE_HIGH>;
  38. pinctrl-names = "default";
  39. pinctrl-0 = <&hub_usb1_pwr_en>;
  40. regulator-name = "vcc5_host1";
  41. regulator-always-on;
  42. regulator-boot-on;
  43. };
  44. vcc5_host2: vcc5-host2-regulator {
  45. compatible = "regulator-fixed";
  46. enable-active-high;
  47. gpio = <&gpio5 RK_PB6 GPIO_ACTIVE_HIGH>;
  48. pinctrl-names = "default";
  49. pinctrl-0 = <&hub_usb2_pwr_en>;
  50. regulator-name = "vcc5_host2";
  51. regulator-always-on;
  52. regulator-boot-on;
  53. };
  54. vcc5v_otg: vcc5v-otg-regulator {
  55. compatible = "regulator-fixed";
  56. enable-active-high;
  57. gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&usb_otg_pwr_en>;
  60. regulator-name = "vcc5_otg";
  61. regulator-always-on;
  62. regulator-boot-on;
  63. };
  64. ext_gmac: external-gmac-clock {
  65. compatible = "fixed-clock";
  66. #clock-cells = <0>;
  67. clock-frequency = <125000000>;
  68. clock-output-names = "ext_gmac";
  69. };
  70. };
  71. &gmac {
  72. status = "okay";
  73. assigned-clocks = <&cru SCLK_MAC>;
  74. assigned-clock-parents = <&ext_gmac>;
  75. clock_in_out = "input";
  76. phy-handle = <&ethphy>;
  77. phy-mode = "rgmii";
  78. phy-supply = <&vcc33_lan>;
  79. pinctrl-names = "default";
  80. pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
  81. rx_delay = <0x10>;
  82. tx_delay = <0x30>;
  83. /*
  84. * Reset for the RTL8211 PHY which requires a 10-ms reset pulse (low)
  85. * with a 30ms settling time.
  86. */
  87. snps,reset-gpio = <&gpio4 RK_PB0 0>;
  88. snps,reset-active-low;
  89. snps,reset-delays-us = <0 10000 30000>;
  90. wakeup-source;
  91. mdio0 {
  92. compatible = "snps,dwmac-mdio";
  93. #address-cells = <1>;
  94. #size-cells = <0>;
  95. ethphy: ethernet-phy@1 {
  96. reg = <1>;
  97. };
  98. };
  99. };
  100. &rk808 {
  101. dvs-gpios = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>,
  102. <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;
  103. pinctrl-names = "default";
  104. pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
  105. vcc6-supply = <&vcc33_sys>;
  106. vcc10-supply = <&vcc33_sys>;
  107. vcc11-supply = <&vcc_5v>;
  108. vcc12-supply = <&vcc33_sys>;
  109. regulators {
  110. /delete-node/ LDO_REG1;
  111. /*
  112. * According to the schematic, vcc18_lcdt is for
  113. * HDMI_AVDD_1V8
  114. */
  115. vcc18_lcdt: LDO_REG2 {
  116. regulator-always-on;
  117. regulator-boot-on;
  118. regulator-min-microvolt = <1800000>;
  119. regulator-max-microvolt = <1800000>;
  120. regulator-name = "vdd18_lcdt";
  121. regulator-state-mem {
  122. regulator-off-in-suspend;
  123. };
  124. };
  125. /*
  126. * This is not a pwren anymore, but the real power supply,
  127. * vdd10_lcd for HDMI_AVDD_1V0
  128. */
  129. vdd10_lcd: LDO_REG7 {
  130. regulator-always-on;
  131. regulator-boot-on;
  132. regulator-min-microvolt = <1000000>;
  133. regulator-max-microvolt = <1000000>;
  134. regulator-name = "vdd10_lcd";
  135. regulator-state-mem {
  136. regulator-off-in-suspend;
  137. };
  138. };
  139. /* for usb camera */
  140. vcc33_ccd: LDO_REG8 {
  141. regulator-always-on;
  142. regulator-boot-on;
  143. regulator-min-microvolt = <3300000>;
  144. regulator-max-microvolt = <3300000>;
  145. regulator-name = "vcc33_ccd";
  146. regulator-state-mem {
  147. regulator-off-in-suspend;
  148. };
  149. };
  150. vcc33_lan: SWITCH_REG2 {
  151. regulator-name = "vcc33_lan";
  152. };
  153. };
  154. };
  155. &sdio0 {
  156. #address-cells = <1>;
  157. #size-cells = <0>;
  158. btmrvl: btmrvl@2 {
  159. compatible = "marvell,sd8897-bt";
  160. reg = <2>;
  161. interrupt-parent = <&gpio4>;
  162. interrupts = <RK_PD7 IRQ_TYPE_LEVEL_LOW>;
  163. marvell,wakeup-pin = /bits/ 16 <13>;
  164. pinctrl-names = "default";
  165. pinctrl-0 = <&bt_host_wake_l>;
  166. };
  167. };
  168. &vcc50_hdmi {
  169. enable-active-high;
  170. gpio = <&gpio5 RK_PC3 GPIO_ACTIVE_HIGH>;
  171. pinctrl-names = "default";
  172. pinctrl-0 = <&vcc50_hdmi_en>;
  173. };
  174. &vcc_5v {
  175. enable-active-high;
  176. gpio = <&gpio7 RK_PC5 GPIO_ACTIVE_HIGH>;
  177. pinctrl-names = "default";
  178. pinctrl-0 = <&drv_5v>;
  179. };
  180. &gpio0 {
  181. gpio-line-names = "PMIC_SLEEP_AP",
  182. "DDRIO_PWROFF",
  183. "DDRIO_RETEN",
  184. "TS3A227E_INT_L",
  185. "PMIC_INT_L",
  186. "PWR_KEY_L",
  187. "HUB_USB1_nFALUT",
  188. "PHY_PMEB",
  189. "PHY_INT",
  190. /*
  191. * RECOVERY_SW_L is Chrome OS ABI. Schematics call
  192. * it REC_MODE_L.
  193. */
  194. "RECOVERY_SW_L",
  195. "OTP_OUT",
  196. "",
  197. "USB_OTG_POWER_EN",
  198. "AP_WARM_RESET_H",
  199. "USB_OTG_nFALUT",
  200. "I2C0_SDA_PMIC",
  201. "I2C0_SCL_PMIC",
  202. "DEVMODE_L",
  203. "USB_INT";
  204. };
  205. &gpio2 {
  206. gpio-line-names = "CONFIG0",
  207. "CONFIG1",
  208. "CONFIG2",
  209. "",
  210. "",
  211. "",
  212. "",
  213. "CONFIG3",
  214. "",
  215. "EMMC_RST_L",
  216. "",
  217. "",
  218. "BL_PWR_EN",
  219. "",
  220. "TOUCH_INT",
  221. "TOUCH_RST",
  222. "I2C3_SCL_TP",
  223. "I2C3_SDA_TP";
  224. };
  225. &gpio3 {
  226. gpio-line-names = "FLASH0_D0",
  227. "FLASH0_D1",
  228. "FLASH0_D2",
  229. "FLASH0_D3",
  230. "FLASH0_D4",
  231. "FLASH0_D5",
  232. "FLASH0_D6",
  233. "FLASH0_D7",
  234. "VCC5V_GOOD_H",
  235. "",
  236. "",
  237. "",
  238. "",
  239. "",
  240. "",
  241. "",
  242. "FLASH0_CS2/EMMC_CMD",
  243. "",
  244. "FLASH0_DQS/EMMC_CLKO",
  245. "",
  246. "",
  247. "",
  248. "",
  249. "",
  250. "PHY_TXD2",
  251. "PHY_TXD3",
  252. "MAC_RXD2",
  253. "MAC_RXD3",
  254. "PHY_TXD0",
  255. "PHY_TXD1",
  256. "MAC_RXD0",
  257. "MAC_RXD1";
  258. };
  259. &gpio4 {
  260. gpio-line-names = "MAC_MDC",
  261. "MAC_RXDV",
  262. "MAC_RXER",
  263. "MAC_CLK",
  264. "PHY_TXEN",
  265. "MAC_MDIO",
  266. "MAC_RXCLK",
  267. "",
  268. "PHY_RST",
  269. "PHY_TXCLK",
  270. "",
  271. "",
  272. "",
  273. "",
  274. "",
  275. "",
  276. "UART0_RXD",
  277. "UART0_TXD",
  278. "UART0_CTS_L",
  279. "UART0_RTS_L",
  280. "SDIO0_D0",
  281. "SDIO0_D1",
  282. "SDIO0_D2",
  283. "SDIO0_D3",
  284. "SDIO0_CMD",
  285. "SDIO0_CLK",
  286. "BT_DEV_WAKE",
  287. "",
  288. "WIFI_ENABLE_H",
  289. "BT_ENABLE_L",
  290. "WIFI_HOST_WAKE",
  291. "BT_HOST_WAKE";
  292. };
  293. &gpio5 {
  294. gpio-line-names = "",
  295. "",
  296. "",
  297. "",
  298. "",
  299. "",
  300. "",
  301. "",
  302. "",
  303. "",
  304. "",
  305. "",
  306. "USB_OTG_CTL1",
  307. "HUB_USB2_CTL1",
  308. "HUB_USB2_PWR_EN",
  309. "HUB_USB_ILIM_SEL",
  310. "USB_OTG_STATUS_L",
  311. "HUB_USB1_CTL1",
  312. "HUB_USB1_PWR_EN",
  313. "VCC50_HDMI_EN";
  314. };
  315. &gpio6 {
  316. gpio-line-names = "I2S0_SCLK",
  317. "I2S0_LRCK_RX",
  318. "I2S0_LRCK_TX",
  319. "I2S0_SDI",
  320. "I2S0_SDO0",
  321. "HP_DET_H",
  322. "",
  323. "INT_CODEC",
  324. "I2S0_CLK",
  325. "I2C2_SDA",
  326. "I2C2_SCL",
  327. "MICDET",
  328. "",
  329. "",
  330. "",
  331. "",
  332. "HUB_USB2_nFALUT",
  333. "USB_OTG_ILIM_SEL";
  334. };
  335. &gpio7 {
  336. gpio-line-names = "LCD_BL_PWM",
  337. "PWM_LOG",
  338. "BL_EN",
  339. "PWR_LED1",
  340. "TPM_INT_H",
  341. "SPK_ON",
  342. /*
  343. * AP_FLASH_WP_L is Chrome OS ABI. Schematics call
  344. * it FW_WP_AP.
  345. */
  346. "AP_FLASH_WP_L",
  347. "",
  348. "CPU_NMI",
  349. "DVSOK",
  350. "",
  351. "EDP_HPD",
  352. "DVS1",
  353. "",
  354. "LCD_EN",
  355. "DVS2",
  356. "HDMI_CEC",
  357. "I2C4_SDA",
  358. "I2C4_SCL",
  359. "I2C5_SDA_HDMI",
  360. "I2C5_SCL_HDMI",
  361. "5V_DRV",
  362. "UART2_RXD",
  363. "UART2_TXD";
  364. };
  365. &gpio8 {
  366. gpio-line-names = "RAM_ID0",
  367. "RAM_ID1",
  368. "RAM_ID2",
  369. "RAM_ID3",
  370. "I2C1_SDA_TPM",
  371. "I2C1_SCL_TPM",
  372. "SPI2_CLK",
  373. "SPI2_CS0",
  374. "SPI2_RXD",
  375. "SPI2_TXD";
  376. };
  377. &pinctrl {
  378. pinctrl-names = "default", "sleep";
  379. pinctrl-0 = <
  380. /* Common for sleep and wake, but no owners */
  381. &ddr0_retention
  382. &ddrio_pwroff
  383. &global_pwroff
  384. /* For usb bc1.2 */
  385. &usb_otg_ilim_sel
  386. &usb_usb_ilim_sel
  387. /* Wake only */
  388. &bt_dev_wake_awake
  389. &pwr_led1_on
  390. >;
  391. pinctrl-1 = <
  392. /* Common for sleep and wake, but no owners */
  393. &ddr0_retention
  394. &ddrio_pwroff
  395. &global_pwroff
  396. /* For usb bc1.2 */
  397. &usb_otg_ilim_sel
  398. &usb_usb_ilim_sel
  399. /* Sleep only */
  400. &bt_dev_wake_sleep
  401. &pwr_led1_blink
  402. >;
  403. buck-5v {
  404. drv_5v: drv-5v {
  405. rockchip,pins = <7 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
  406. };
  407. };
  408. gmac {
  409. phy_rst: phy-rst {
  410. rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
  411. };
  412. phy_pmeb: phy-pmeb {
  413. rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
  414. };
  415. phy_int: phy-int {
  416. rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
  417. };
  418. };
  419. hdmi {
  420. vcc50_hdmi_en: vcc50-hdmi-en {
  421. rockchip,pins = <5 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
  422. };
  423. };
  424. leds {
  425. pwr_led1_on: pwr-led1-on {
  426. rockchip,pins = <7 RK_PA3 RK_FUNC_GPIO &pcfg_output_low>;
  427. };
  428. pwr_led1_blink: pwr-led1-blink {
  429. rockchip,pins = <7 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>;
  430. };
  431. };
  432. pmic {
  433. dvs_1: dvs-1 {
  434. rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
  435. };
  436. dvs_2: dvs-2 {
  437. rockchip,pins = <7 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>;
  438. };
  439. };
  440. usb-bc12 {
  441. usb_otg_ilim_sel: usb-otg-ilim-sel {
  442. rockchip,pins = <6 RK_PC1 RK_FUNC_GPIO &pcfg_output_low>;
  443. };
  444. usb_usb_ilim_sel: usb-usb-ilim-sel {
  445. rockchip,pins = <5 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
  446. };
  447. };
  448. usb-host {
  449. hub_usb1_pwr_en: hub_usb1_pwr_en {
  450. rockchip,pins = <5 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
  451. };
  452. hub_usb2_pwr_en: hub_usb2_pwr_en {
  453. rockchip,pins = <5 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
  454. };
  455. usb_otg_pwr_en: usb_otg_pwr_en {
  456. rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
  457. };
  458. };
  459. };