18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Device Tree Source for the Salvator-X 2nd version board with R-Car H3 ES2.0+ 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2015-2017 Renesas Electronics Corp. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/dts-v1/; 98c2ecf20Sopenharmony_ci#include "r8a77951.dtsi" 108c2ecf20Sopenharmony_ci#include "salvator-xs.dtsi" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci/ { 138c2ecf20Sopenharmony_ci model = "Renesas Salvator-X 2nd version board based on r8a77951"; 148c2ecf20Sopenharmony_ci compatible = "renesas,salvator-xs", "renesas,r8a7795"; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci memory@48000000 { 178c2ecf20Sopenharmony_ci device_type = "memory"; 188c2ecf20Sopenharmony_ci /* first 128MB is reserved for secure area. */ 198c2ecf20Sopenharmony_ci reg = <0x0 0x48000000 0x0 0x38000000>; 208c2ecf20Sopenharmony_ci }; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci memory@500000000 { 238c2ecf20Sopenharmony_ci device_type = "memory"; 248c2ecf20Sopenharmony_ci reg = <0x5 0x00000000 0x0 0x40000000>; 258c2ecf20Sopenharmony_ci }; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci memory@600000000 { 288c2ecf20Sopenharmony_ci device_type = "memory"; 298c2ecf20Sopenharmony_ci reg = <0x6 0x00000000 0x0 0x40000000>; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci memory@700000000 { 338c2ecf20Sopenharmony_ci device_type = "memory"; 348c2ecf20Sopenharmony_ci reg = <0x7 0x00000000 0x0 0x40000000>; 358c2ecf20Sopenharmony_ci }; 368c2ecf20Sopenharmony_ci}; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci&du { 398c2ecf20Sopenharmony_ci clocks = <&cpg CPG_MOD 724>, 408c2ecf20Sopenharmony_ci <&cpg CPG_MOD 723>, 418c2ecf20Sopenharmony_ci <&cpg CPG_MOD 722>, 428c2ecf20Sopenharmony_ci <&cpg CPG_MOD 721>, 438c2ecf20Sopenharmony_ci <&versaclock6 1>, 448c2ecf20Sopenharmony_ci <&x21_clk>, 458c2ecf20Sopenharmony_ci <&x22_clk>, 468c2ecf20Sopenharmony_ci <&versaclock6 2>; 478c2ecf20Sopenharmony_ci clock-names = "du.0", "du.1", "du.2", "du.3", 488c2ecf20Sopenharmony_ci "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3"; 498c2ecf20Sopenharmony_ci}; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci&ehci2 { 528c2ecf20Sopenharmony_ci status = "okay"; 538c2ecf20Sopenharmony_ci}; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci&ehci3 { 568c2ecf20Sopenharmony_ci dr_mode = "otg"; 578c2ecf20Sopenharmony_ci status = "okay"; 588c2ecf20Sopenharmony_ci}; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci&hdmi0 { 618c2ecf20Sopenharmony_ci status = "okay"; 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci ports { 648c2ecf20Sopenharmony_ci port@1 { 658c2ecf20Sopenharmony_ci reg = <1>; 668c2ecf20Sopenharmony_ci rcar_dw_hdmi0_out: endpoint { 678c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi0_con>; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci port@2 { 718c2ecf20Sopenharmony_ci reg = <2>; 728c2ecf20Sopenharmony_ci dw_hdmi0_snd_in: endpoint { 738c2ecf20Sopenharmony_ci remote-endpoint = <&rsnd_endpoint1>; 748c2ecf20Sopenharmony_ci }; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci}; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci&hdmi0_con { 808c2ecf20Sopenharmony_ci remote-endpoint = <&rcar_dw_hdmi0_out>; 818c2ecf20Sopenharmony_ci}; 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci&hdmi1 { 848c2ecf20Sopenharmony_ci status = "okay"; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci ports { 878c2ecf20Sopenharmony_ci port@1 { 888c2ecf20Sopenharmony_ci reg = <1>; 898c2ecf20Sopenharmony_ci rcar_dw_hdmi1_out: endpoint { 908c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi1_con>; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci }; 938c2ecf20Sopenharmony_ci port@2 { 948c2ecf20Sopenharmony_ci reg = <2>; 958c2ecf20Sopenharmony_ci dw_hdmi1_snd_in: endpoint { 968c2ecf20Sopenharmony_ci remote-endpoint = <&rsnd_endpoint2>; 978c2ecf20Sopenharmony_ci }; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci }; 1008c2ecf20Sopenharmony_ci}; 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci&hdmi1_con { 1038c2ecf20Sopenharmony_ci remote-endpoint = <&rcar_dw_hdmi1_out>; 1048c2ecf20Sopenharmony_ci}; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci&hsusb3 { 1078c2ecf20Sopenharmony_ci dr_mode = "otg"; 1088c2ecf20Sopenharmony_ci status = "okay"; 1098c2ecf20Sopenharmony_ci}; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci&ohci2 { 1128c2ecf20Sopenharmony_ci status = "okay"; 1138c2ecf20Sopenharmony_ci}; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci&ohci3 { 1168c2ecf20Sopenharmony_ci dr_mode = "otg"; 1178c2ecf20Sopenharmony_ci status = "okay"; 1188c2ecf20Sopenharmony_ci}; 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci&pca9654 { 1218c2ecf20Sopenharmony_ci pcie_sata_switch { 1228c2ecf20Sopenharmony_ci gpio-hog; 1238c2ecf20Sopenharmony_ci gpios = <7 GPIO_ACTIVE_HIGH>; 1248c2ecf20Sopenharmony_ci output-low; /* enable SATA by default */ 1258c2ecf20Sopenharmony_ci line-name = "PCIE/SATA switch"; 1268c2ecf20Sopenharmony_ci }; 1278c2ecf20Sopenharmony_ci}; 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci&pfc { 1308c2ecf20Sopenharmony_ci usb2_pins: usb2 { 1318c2ecf20Sopenharmony_ci groups = "usb2"; 1328c2ecf20Sopenharmony_ci function = "usb2"; 1338c2ecf20Sopenharmony_ci }; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci /* 1368c2ecf20Sopenharmony_ci * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins 1378c2ecf20Sopenharmony_ci * (when SW31 is the default setting on Salvator-XS). 1388c2ecf20Sopenharmony_ci * - If SW31 is the default setting, you cannot use USB2.0 ch3 on 1398c2ecf20Sopenharmony_ci * r8a77951 with Salvator-XS. 1408c2ecf20Sopenharmony_ci * Hence the SW31 setting must be changed like 2) below. 1418c2ecf20Sopenharmony_ci * 1) Default setting of SW31: ON-ON-OFF-OFF-OFF-OFF: 1428c2ecf20Sopenharmony_ci * - Connect GP6_3[01] to ADV7842. 1438c2ecf20Sopenharmony_ci * 2) Changed setting of SW31: OFF-OFF-ON-ON-ON-ON: 1448c2ecf20Sopenharmony_ci * - Connect GP6_3[01] to BD082065 (USB2.0 ch3's host power). 1458c2ecf20Sopenharmony_ci * - Connect GP6_{04,21} to ADV7842. 1468c2ecf20Sopenharmony_ci */ 1478c2ecf20Sopenharmony_ci usb2_ch3_pins: usb2_ch3 { 1488c2ecf20Sopenharmony_ci groups = "usb2_ch3"; 1498c2ecf20Sopenharmony_ci function = "usb2_ch3"; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci}; 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci&rcar_sound { 1548c2ecf20Sopenharmony_ci ports { 1558c2ecf20Sopenharmony_ci /* rsnd_port0 is on salvator-common */ 1568c2ecf20Sopenharmony_ci rsnd_port1: port@1 { 1578c2ecf20Sopenharmony_ci reg = <1>; 1588c2ecf20Sopenharmony_ci rsnd_endpoint1: endpoint { 1598c2ecf20Sopenharmony_ci remote-endpoint = <&dw_hdmi0_snd_in>; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci dai-format = "i2s"; 1628c2ecf20Sopenharmony_ci bitclock-master = <&rsnd_endpoint1>; 1638c2ecf20Sopenharmony_ci frame-master = <&rsnd_endpoint1>; 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci playback = <&ssi2>; 1668c2ecf20Sopenharmony_ci }; 1678c2ecf20Sopenharmony_ci }; 1688c2ecf20Sopenharmony_ci rsnd_port2: port@2 { 1698c2ecf20Sopenharmony_ci reg = <2>; 1708c2ecf20Sopenharmony_ci rsnd_endpoint2: endpoint { 1718c2ecf20Sopenharmony_ci remote-endpoint = <&dw_hdmi1_snd_in>; 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci dai-format = "i2s"; 1748c2ecf20Sopenharmony_ci bitclock-master = <&rsnd_endpoint2>; 1758c2ecf20Sopenharmony_ci frame-master = <&rsnd_endpoint2>; 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci playback = <&ssi3>; 1788c2ecf20Sopenharmony_ci }; 1798c2ecf20Sopenharmony_ci }; 1808c2ecf20Sopenharmony_ci }; 1818c2ecf20Sopenharmony_ci}; 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */ 1848c2ecf20Sopenharmony_ci&sata { 1858c2ecf20Sopenharmony_ci status = "okay"; 1868c2ecf20Sopenharmony_ci}; 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci&sound_card { 1898c2ecf20Sopenharmony_ci dais = <&rsnd_port0 /* ak4613 */ 1908c2ecf20Sopenharmony_ci &rsnd_port1 /* HDMI0 */ 1918c2ecf20Sopenharmony_ci &rsnd_port2>; /* HDMI1 */ 1928c2ecf20Sopenharmony_ci}; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci&usb2_phy2 { 1958c2ecf20Sopenharmony_ci pinctrl-0 = <&usb2_pins>; 1968c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci status = "okay"; 1998c2ecf20Sopenharmony_ci}; 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci&usb2_phy3 { 2028c2ecf20Sopenharmony_ci pinctrl-0 = <&usb2_ch3_pins>; 2038c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci status = "okay"; 2068c2ecf20Sopenharmony_ci}; 207