aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2017-01-09 22:14:09 -0500
committerOlof Johansson <olof@lixom.net>2017-01-09 22:14:09 -0500
commit7a7b1978b197162bca0854e60728423f9227ac3e (patch)
treeee04d7cbf69367a1b6096858be579753944b381d
parenta121103c922847ba5010819a3f250f1f7fc84ab8 (diff)
parentb2b9443beee5017ebdb3f2be9ef472c73d260481 (diff)
Merge tag 'renesas-arm64-dt-for-v4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64
Renesas ARM64 Based SoC DT Updates for v4.11 * Add PWM, and sound MIX and CTU support to r8a7795 SoC * Add CAN, CAN FD and all MSIOF nodes to r8a7796 SoC * Use Gen 3 fallback binding for i2c, msiof, PCIE and USB2 phy * Enable Ethernet and 4 GiB memory on r8a7796/salvator-x board * Add r8a7796/salvator-x board part number to bindings * tag 'renesas-arm64-dt-for-v4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: r8a7795: Add PWM support arm64: dts: r8a7796: Use R-Car Gen 3 fallback binding for msiof nodes arm64: dts: r8a7796: salvator-x: Enable EthernetAVB arm64: dts: renesas: r8a7796: Add EthernetAVB instance arm64: dts: r8a7796: salvator-x: Update memory node to 4 GiB map arm64: dts: r8a7796: Use R-Car Gen 3 fallback binding for i2c nodes arm64: dts: r8a7795: Use R-Car Gen 3 fallback binding for i2c nodes arm64: dts: r8a7795: Use Gen 3 fallback compat string for PCIE arm64: dts: r8a7795: add sound MIX support arm64: dts: r8a7795: add sound CTU support arm64: dts: r8a7795: Use renesas,rcar-gen3-usb2-phy fallback binding arm64: renesas: r8a7796/salvator-x: Add board part number to DT bindings arm64: dts: r8a7796: Add CAN FD support arm64: dts: r8a7796: Add CAN support arm64: dts: r8a7796: Add CAN external clock support arm64: dts: r8a7796: Add all MSIOF nodes Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/devicetree/bindings/arm/shmobile.txt2
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts2
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795.dtsi119
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts37
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7796.dtsi183
5 files changed, 323 insertions, 20 deletions
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 253bf9b86690..c9502634316d 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -75,7 +75,7 @@ Boards:
75 compatible = "renesas,rskrza1", "renesas,r7s72100" 75 compatible = "renesas,rskrza1", "renesas,r7s72100"
76 - Salvator-X (RTP0RC7795SIPB0010S) 76 - Salvator-X (RTP0RC7795SIPB0010S)
77 compatible = "renesas,salvator-x", "renesas,r8a7795"; 77 compatible = "renesas,salvator-x", "renesas,r8a7795";
78 - Salvator-X 78 - Salvator-X (RTP0RC7796SIPB0011S)
79 compatible = "renesas,salvator-x", "renesas,r8a7796"; 79 compatible = "renesas,salvator-x", "renesas,r8a7796";
80 - SILK (RTP0RC7794LCB00011S) 80 - SILK (RTP0RC7794LCB00011S)
81 compatible = "renesas,silk", "renesas,r8a7794" 81 compatible = "renesas,silk", "renesas,r8a7794"
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
index bcaf4008d32d..7a8986edcdc0 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -412,6 +412,8 @@
412 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 412 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
413 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 413 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
414 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 414 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
415 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
416 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
415 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 417 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
416 <&audio_clk_a>, <&cs2000>, 418 <&audio_clk_a>, <&cs2000>,
417 <&audio_clk_c>, 419 <&audio_clk_c>,
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index bbf594bce930..972e379c0596 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -792,7 +792,8 @@
792 i2c0: i2c@e6500000 { 792 i2c0: i2c@e6500000 {
793 #address-cells = <1>; 793 #address-cells = <1>;
794 #size-cells = <0>; 794 #size-cells = <0>;
795 compatible = "renesas,i2c-r8a7795"; 795 compatible = "renesas,i2c-r8a7795",
796 "renesas,rcar-gen3-i2c";
796 reg = <0 0xe6500000 0 0x40>; 797 reg = <0 0xe6500000 0 0x40>;
797 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 798 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
798 clocks = <&cpg CPG_MOD 931>; 799 clocks = <&cpg CPG_MOD 931>;
@@ -806,7 +807,8 @@
806 i2c1: i2c@e6508000 { 807 i2c1: i2c@e6508000 {
807 #address-cells = <1>; 808 #address-cells = <1>;
808 #size-cells = <0>; 809 #size-cells = <0>;
809 compatible = "renesas,i2c-r8a7795"; 810 compatible = "renesas,i2c-r8a7795",
811 "renesas,rcar-gen3-i2c";
810 reg = <0 0xe6508000 0 0x40>; 812 reg = <0 0xe6508000 0 0x40>;
811 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 813 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
812 clocks = <&cpg CPG_MOD 930>; 814 clocks = <&cpg CPG_MOD 930>;
@@ -820,7 +822,8 @@
820 i2c2: i2c@e6510000 { 822 i2c2: i2c@e6510000 {
821 #address-cells = <1>; 823 #address-cells = <1>;
822 #size-cells = <0>; 824 #size-cells = <0>;
823 compatible = "renesas,i2c-r8a7795"; 825 compatible = "renesas,i2c-r8a7795",
826 "renesas,rcar-gen3-i2c";
824 reg = <0 0xe6510000 0 0x40>; 827 reg = <0 0xe6510000 0 0x40>;
825 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 828 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
826 clocks = <&cpg CPG_MOD 929>; 829 clocks = <&cpg CPG_MOD 929>;
@@ -834,7 +837,8 @@
834 i2c3: i2c@e66d0000 { 837 i2c3: i2c@e66d0000 {
835 #address-cells = <1>; 838 #address-cells = <1>;
836 #size-cells = <0>; 839 #size-cells = <0>;
837 compatible = "renesas,i2c-r8a7795"; 840 compatible = "renesas,i2c-r8a7795",
841 "renesas,rcar-gen3-i2c";
838 reg = <0 0xe66d0000 0 0x40>; 842 reg = <0 0xe66d0000 0 0x40>;
839 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 843 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
840 clocks = <&cpg CPG_MOD 928>; 844 clocks = <&cpg CPG_MOD 928>;
@@ -848,7 +852,8 @@
848 i2c4: i2c@e66d8000 { 852 i2c4: i2c@e66d8000 {
849 #address-cells = <1>; 853 #address-cells = <1>;
850 #size-cells = <0>; 854 #size-cells = <0>;
851 compatible = "renesas,i2c-r8a7795"; 855 compatible = "renesas,i2c-r8a7795",
856 "renesas,rcar-gen3-i2c";
852 reg = <0 0xe66d8000 0 0x40>; 857 reg = <0 0xe66d8000 0 0x40>;
853 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 858 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
854 clocks = <&cpg CPG_MOD 927>; 859 clocks = <&cpg CPG_MOD 927>;
@@ -862,7 +867,8 @@
862 i2c5: i2c@e66e0000 { 867 i2c5: i2c@e66e0000 {
863 #address-cells = <1>; 868 #address-cells = <1>;
864 #size-cells = <0>; 869 #size-cells = <0>;
865 compatible = "renesas,i2c-r8a7795"; 870 compatible = "renesas,i2c-r8a7795",
871 "renesas,rcar-gen3-i2c";
866 reg = <0 0xe66e0000 0 0x40>; 872 reg = <0 0xe66e0000 0 0x40>;
867 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 873 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
868 clocks = <&cpg CPG_MOD 919>; 874 clocks = <&cpg CPG_MOD 919>;
@@ -876,7 +882,8 @@
876 i2c6: i2c@e66e8000 { 882 i2c6: i2c@e66e8000 {
877 #address-cells = <1>; 883 #address-cells = <1>;
878 #size-cells = <0>; 884 #size-cells = <0>;
879 compatible = "renesas,i2c-r8a7795"; 885 compatible = "renesas,i2c-r8a7795",
886 "renesas,rcar-gen3-i2c";
880 reg = <0 0xe66e8000 0 0x40>; 887 reg = <0 0xe66e8000 0 0x40>;
881 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 888 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
882 clocks = <&cpg CPG_MOD 918>; 889 clocks = <&cpg CPG_MOD 918>;
@@ -887,6 +894,69 @@
887 status = "disabled"; 894 status = "disabled";
888 }; 895 };
889 896
897 pwm0: pwm@e6e30000 {
898 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
899 reg = <0 0xe6e30000 0 0x8>;
900 clocks = <&cpg CPG_MOD 523>;
901 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
902 #pwm-cells = <2>;
903 status = "disabled";
904 };
905
906 pwm1: pwm@e6e31000 {
907 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
908 reg = <0 0xe6e31000 0 0x8>;
909 clocks = <&cpg CPG_MOD 523>;
910 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
911 #pwm-cells = <2>;
912 status = "disabled";
913 };
914
915 pwm2: pwm@e6e32000 {
916 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
917 reg = <0 0xe6e32000 0 0x8>;
918 clocks = <&cpg CPG_MOD 523>;
919 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
920 #pwm-cells = <2>;
921 status = "disabled";
922 };
923
924 pwm3: pwm@e6e33000 {
925 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
926 reg = <0 0xe6e33000 0 0x8>;
927 clocks = <&cpg CPG_MOD 523>;
928 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
929 #pwm-cells = <2>;
930 status = "disabled";
931 };
932
933 pwm4: pwm@e6e34000 {
934 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
935 reg = <0 0xe6e34000 0 0x8>;
936 clocks = <&cpg CPG_MOD 523>;
937 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
938 #pwm-cells = <2>;
939 status = "disabled";
940 };
941
942 pwm5: pwm@e6e35000 {
943 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
944 reg = <0 0xe6e35000 0 0x8>;
945 clocks = <&cpg CPG_MOD 523>;
946 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
947 #pwm-cells = <2>;
948 status = "disabled";
949 };
950
951 pwm6: pwm@e6e36000 {
952 compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
953 reg = <0 0xe6e36000 0 0x8>;
954 clocks = <&cpg CPG_MOD 523>;
955 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
956 #pwm-cells = <2>;
957 status = "disabled";
958 };
959
890 rcar_sound: sound@ec500000 { 960 rcar_sound: sound@ec500000 {
891 /* 961 /*
892 * #sound-dai-cells is required 962 * #sound-dai-cells is required
@@ -919,6 +989,8 @@
919 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 989 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
920 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 990 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
921 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 991 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
992 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
993 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
922 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 994 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
923 <&audio_clk_a>, <&audio_clk_b>, 995 <&audio_clk_a>, <&audio_clk_b>,
924 <&audio_clk_c>, 996 <&audio_clk_c>,
@@ -930,6 +1002,8 @@
930 "src.9", "src.8", "src.7", "src.6", 1002 "src.9", "src.8", "src.7", "src.6",
931 "src.5", "src.4", "src.3", "src.2", 1003 "src.5", "src.4", "src.3", "src.2",
932 "src.1", "src.0", 1004 "src.1", "src.0",
1005 "mix.1", "mix.0",
1006 "ctu.1", "ctu.0",
933 "dvc.0", "dvc.1", 1007 "dvc.0", "dvc.1",
934 "clk_a", "clk_b", "clk_c", "clk_i"; 1008 "clk_a", "clk_b", "clk_c", "clk_i";
935 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1009 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
@@ -946,6 +1020,22 @@
946 }; 1020 };
947 }; 1021 };
948 1022
1023 rcar_sound,mix {
1024 mix0: mix-0 { };
1025 mix1: mix-1 { };
1026 };
1027
1028 rcar_sound,ctu {
1029 ctu00: ctu-0 { };
1030 ctu01: ctu-1 { };
1031 ctu02: ctu-2 { };
1032 ctu03: ctu-3 { };
1033 ctu10: ctu-4 { };
1034 ctu11: ctu-5 { };
1035 ctu12: ctu-6 { };
1036 ctu13: ctu-7 { };
1037 };
1038
949 rcar_sound,src { 1039 rcar_sound,src {
950 src0: src-0 { 1040 src0: src-0 {
951 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 1041 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
@@ -1146,7 +1236,8 @@
1146 }; 1236 };
1147 1237
1148 usb2_phy0: usb-phy@ee080200 { 1238 usb2_phy0: usb-phy@ee080200 {
1149 compatible = "renesas,usb2-phy-r8a7795"; 1239 compatible = "renesas,usb2-phy-r8a7795",
1240 "renesas,rcar-gen3-usb2-phy";
1150 reg = <0 0xee080200 0 0x700>; 1241 reg = <0 0xee080200 0 0x700>;
1151 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1242 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1152 clocks = <&cpg CPG_MOD 703>; 1243 clocks = <&cpg CPG_MOD 703>;
@@ -1156,7 +1247,8 @@
1156 }; 1247 };
1157 1248
1158 usb2_phy1: usb-phy@ee0a0200 { 1249 usb2_phy1: usb-phy@ee0a0200 {
1159 compatible = "renesas,usb2-phy-r8a7795"; 1250 compatible = "renesas,usb2-phy-r8a7795",
1251 "renesas,rcar-gen3-usb2-phy";
1160 reg = <0 0xee0a0200 0 0x700>; 1252 reg = <0 0xee0a0200 0 0x700>;
1161 clocks = <&cpg CPG_MOD 702>; 1253 clocks = <&cpg CPG_MOD 702>;
1162 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1254 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
@@ -1165,7 +1257,8 @@
1165 }; 1257 };
1166 1258
1167 usb2_phy2: usb-phy@ee0c0200 { 1259 usb2_phy2: usb-phy@ee0c0200 {
1168 compatible = "renesas,usb2-phy-r8a7795"; 1260 compatible = "renesas,usb2-phy-r8a7795",
1261 "renesas,rcar-gen3-usb2-phy";
1169 reg = <0 0xee0c0200 0 0x700>; 1262 reg = <0 0xee0c0200 0 0x700>;
1170 clocks = <&cpg CPG_MOD 701>; 1263 clocks = <&cpg CPG_MOD 701>;
1171 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1264 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
@@ -1256,7 +1349,8 @@
1256 }; 1349 };
1257 1350
1258 pciec0: pcie@fe000000 { 1351 pciec0: pcie@fe000000 {
1259 compatible = "renesas,pcie-r8a7795"; 1352 compatible = "renesas,pcie-r8a7795",
1353 "renesas,pcie-rcar-gen3";
1260 reg = <0 0xfe000000 0 0x80000>; 1354 reg = <0 0xfe000000 0 0x80000>;
1261 #address-cells = <3>; 1355 #address-cells = <3>;
1262 #size-cells = <2>; 1356 #size-cells = <2>;
@@ -1281,7 +1375,8 @@
1281 }; 1375 };
1282 1376
1283 pciec1: pcie@ee800000 { 1377 pciec1: pcie@ee800000 {
1284 compatible = "renesas,pcie-r8a7795"; 1378 compatible = "renesas,pcie-r8a7795",
1379 "renesas,pcie-rcar-gen3";
1285 reg = <0 0xee800000 0 0x80000>; 1380 reg = <0 0xee800000 0 0x80000>;
1286 #address-cells = <3>; 1381 #address-cells = <3>;
1287 #size-cells = <2>; 1382 #size-cells = <2>;
diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
index f35e96ca7d60..c7f40f8f3169 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
@@ -18,6 +18,7 @@
18 18
19 aliases { 19 aliases {
20 serial0 = &scif2; 20 serial0 = &scif2;
21 ethernet0 = &avb;
21 }; 22 };
22 23
23 chosen { 24 chosen {
@@ -31,6 +32,11 @@
31 reg = <0x0 0x48000000 0x0 0x78000000>; 32 reg = <0x0 0x48000000 0x0 0x78000000>;
32 }; 33 };
33 34
35 memory@600000000 {
36 device_type = "memory";
37 reg = <0x6 0x00000000 0x0 0x80000000>;
38 };
39
34 reg_1p8v: regulator0 { 40 reg_1p8v: regulator0 {
35 compatible = "regulator-fixed"; 41 compatible = "regulator-fixed";
36 regulator-name = "fixed-1.8V"; 42 regulator-name = "fixed-1.8V";
@@ -102,6 +108,11 @@
102 pinctrl-0 = <&scif_clk_pins>; 108 pinctrl-0 = <&scif_clk_pins>;
103 pinctrl-names = "default"; 109 pinctrl-names = "default";
104 110
111 avb_pins: avb {
112 groups = "avb_mdc";
113 function = "avb";
114 };
115
105 scif2_pins: scif2 { 116 scif2_pins: scif2 {
106 groups = "scif2_data_a"; 117 groups = "scif2_data_a";
107 function = "scif2"; 118 function = "scif2";
@@ -153,6 +164,32 @@
153 }; 164 };
154}; 165};
155 166
167&avb {
168 pinctrl-0 = <&avb_pins>;
169 pinctrl-names = "default";
170 renesas,no-ether-link;
171 phy-handle = <&phy0>;
172 status = "okay";
173
174 phy0: ethernet-phy@0 {
175 rxc-skew-ps = <900>;
176 rxdv-skew-ps = <0>;
177 rxd0-skew-ps = <0>;
178 rxd1-skew-ps = <0>;
179 rxd2-skew-ps = <0>;
180 rxd3-skew-ps = <0>;
181 txc-skew-ps = <900>;
182 txen-skew-ps = <0>;
183 txd0-skew-ps = <0>;
184 txd1-skew-ps = <0>;
185 txd2-skew-ps = <0>;
186 txd3-skew-ps = <0>;
187 reg = <0>;
188 interrupt-parent = <&gpio2>;
189 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
190 };
191};
192
156&extal_clk { 193&extal_clk {
157 clock-frequency = <16666666>; 194 clock-frequency = <16666666>;
158}; 195};
diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
index 28ba59a00cd8..eb446d966621 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -69,6 +69,13 @@
69 clock-frequency = <0>; 69 clock-frequency = <0>;
70 }; 70 };
71 71
72 /* External CAN clock - to be overridden by boards that provide it */
73 can_clk: can {
74 compatible = "fixed-clock";
75 #clock-cells = <0>;
76 clock-frequency = <0>;
77 };
78
72 /* External SCIF clock - to be overridden by boards that provide it */ 79 /* External SCIF clock - to be overridden by boards that provide it */
73 scif_clk: scif { 80 scif_clk: scif {
74 compatible = "fixed-clock"; 81 compatible = "fixed-clock";
@@ -262,7 +269,8 @@
262 i2c0: i2c@e6500000 { 269 i2c0: i2c@e6500000 {
263 #address-cells = <1>; 270 #address-cells = <1>;
264 #size-cells = <0>; 271 #size-cells = <0>;
265 compatible = "renesas,i2c-r8a7796"; 272 compatible = "renesas,i2c-r8a7796",
273 "renesas,rcar-gen3-i2c";
266 reg = <0 0xe6500000 0 0x40>; 274 reg = <0 0xe6500000 0 0x40>;
267 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 275 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
268 clocks = <&cpg CPG_MOD 931>; 276 clocks = <&cpg CPG_MOD 931>;
@@ -277,7 +285,8 @@
277 i2c1: i2c@e6508000 { 285 i2c1: i2c@e6508000 {
278 #address-cells = <1>; 286 #address-cells = <1>;
279 #size-cells = <0>; 287 #size-cells = <0>;
280 compatible = "renesas,i2c-r8a7796"; 288 compatible = "renesas,i2c-r8a7796",
289 "renesas,rcar-gen3-i2c";
281 reg = <0 0xe6508000 0 0x40>; 290 reg = <0 0xe6508000 0 0x40>;
282 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 291 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
283 clocks = <&cpg CPG_MOD 930>; 292 clocks = <&cpg CPG_MOD 930>;
@@ -292,7 +301,8 @@
292 i2c2: i2c@e6510000 { 301 i2c2: i2c@e6510000 {
293 #address-cells = <1>; 302 #address-cells = <1>;
294 #size-cells = <0>; 303 #size-cells = <0>;
295 compatible = "renesas,i2c-r8a7796"; 304 compatible = "renesas,i2c-r8a7796",
305 "renesas,rcar-gen3-i2c";
296 reg = <0 0xe6510000 0 0x40>; 306 reg = <0 0xe6510000 0 0x40>;
297 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 307 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
298 clocks = <&cpg CPG_MOD 929>; 308 clocks = <&cpg CPG_MOD 929>;
@@ -307,7 +317,8 @@
307 i2c3: i2c@e66d0000 { 317 i2c3: i2c@e66d0000 {
308 #address-cells = <1>; 318 #address-cells = <1>;
309 #size-cells = <0>; 319 #size-cells = <0>;
310 compatible = "renesas,i2c-r8a7796"; 320 compatible = "renesas,i2c-r8a7796",
321 "renesas,rcar-gen3-i2c";
311 reg = <0 0xe66d0000 0 0x40>; 322 reg = <0 0xe66d0000 0 0x40>;
312 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 323 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
313 clocks = <&cpg CPG_MOD 928>; 324 clocks = <&cpg CPG_MOD 928>;
@@ -321,7 +332,8 @@
321 i2c4: i2c@e66d8000 { 332 i2c4: i2c@e66d8000 {
322 #address-cells = <1>; 333 #address-cells = <1>;
323 #size-cells = <0>; 334 #size-cells = <0>;
324 compatible = "renesas,i2c-r8a7796"; 335 compatible = "renesas,i2c-r8a7796",
336 "renesas,rcar-gen3-i2c";
325 reg = <0 0xe66d8000 0 0x40>; 337 reg = <0 0xe66d8000 0 0x40>;
326 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 338 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
327 clocks = <&cpg CPG_MOD 927>; 339 clocks = <&cpg CPG_MOD 927>;
@@ -335,7 +347,8 @@
335 i2c5: i2c@e66e0000 { 347 i2c5: i2c@e66e0000 {
336 #address-cells = <1>; 348 #address-cells = <1>;
337 #size-cells = <0>; 349 #size-cells = <0>;
338 compatible = "renesas,i2c-r8a7796"; 350 compatible = "renesas,i2c-r8a7796",
351 "renesas,rcar-gen3-i2c";
339 reg = <0 0xe66e0000 0 0x40>; 352 reg = <0 0xe66e0000 0 0x40>;
340 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 353 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
341 clocks = <&cpg CPG_MOD 919>; 354 clocks = <&cpg CPG_MOD 919>;
@@ -349,7 +362,8 @@
349 i2c6: i2c@e66e8000 { 362 i2c6: i2c@e66e8000 {
350 #address-cells = <1>; 363 #address-cells = <1>;
351 #size-cells = <0>; 364 #size-cells = <0>;
352 compatible = "renesas,i2c-r8a7796"; 365 compatible = "renesas,i2c-r8a7796",
366 "renesas,rcar-gen3-i2c";
353 reg = <0 0xe66e8000 0 0x40>; 367 reg = <0 0xe66e8000 0 0x40>;
354 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 368 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
355 clocks = <&cpg CPG_MOD 918>; 369 clocks = <&cpg CPG_MOD 918>;
@@ -360,6 +374,103 @@
360 status = "disabled"; 374 status = "disabled";
361 }; 375 };
362 376
377 can0: can@e6c30000 {
378 compatible = "renesas,can-r8a7796",
379 "renesas,rcar-gen3-can";
380 reg = <0 0xe6c30000 0 0x1000>;
381 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
382 clocks = <&cpg CPG_MOD 916>,
383 <&cpg CPG_CORE R8A7796_CLK_CANFD>,
384 <&can_clk>;
385 clock-names = "clkp1", "clkp2", "can_clk";
386 assigned-clocks = <&cpg CPG_CORE R8A7796_CLK_CANFD>;
387 assigned-clock-rates = <40000000>;
388 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
389 status = "disabled";
390 };
391
392 can1: can@e6c38000 {
393 compatible = "renesas,can-r8a7796",
394 "renesas,rcar-gen3-can";
395 reg = <0 0xe6c38000 0 0x1000>;
396 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
397 clocks = <&cpg CPG_MOD 915>,
398 <&cpg CPG_CORE R8A7796_CLK_CANFD>,
399 <&can_clk>;
400 clock-names = "clkp1", "clkp2", "can_clk";
401 assigned-clocks = <&cpg CPG_CORE R8A7796_CLK_CANFD>;
402 assigned-clock-rates = <40000000>;
403 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
404 status = "disabled";
405 };
406
407 canfd: can@e66c0000 {
408 compatible = "renesas,r8a7796-canfd",
409 "renesas,rcar-gen3-canfd";
410 reg = <0 0xe66c0000 0 0x8000>;
411 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
412 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
413 clocks = <&cpg CPG_MOD 914>,
414 <&cpg CPG_CORE R8A7796_CLK_CANFD>,
415 <&can_clk>;
416 clock-names = "fck", "canfd", "can_clk";
417 assigned-clocks = <&cpg CPG_CORE R8A7796_CLK_CANFD>;
418 assigned-clock-rates = <40000000>;
419 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
420 status = "disabled";
421
422 channel0 {
423 status = "disabled";
424 };
425
426 channel1 {
427 status = "disabled";
428 };
429 };
430
431 avb: ethernet@e6800000 {
432 compatible = "renesas,etheravb-r8a7796",
433 "renesas,etheravb-rcar-gen3";
434 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
435 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
436 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
437 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
438 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
439 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
440 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
441 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
442 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
443 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
444 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
445 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
446 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
447 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
448 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
449 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
450 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
451 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
452 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
453 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
454 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
455 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
456 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
457 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
458 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
459 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
460 interrupt-names = "ch0", "ch1", "ch2", "ch3",
461 "ch4", "ch5", "ch6", "ch7",
462 "ch8", "ch9", "ch10", "ch11",
463 "ch12", "ch13", "ch14", "ch15",
464 "ch16", "ch17", "ch18", "ch19",
465 "ch20", "ch21", "ch22", "ch23",
466 "ch24";
467 clocks = <&cpg CPG_MOD 812>;
468 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
469 phy-mode = "rgmii-id";
470 #address-cells = <1>;
471 #size-cells = <0>;
472 };
473
363 scif2: serial@e6e88000 { 474 scif2: serial@e6e88000 {
364 compatible = "renesas,scif-r8a7796", 475 compatible = "renesas,scif-r8a7796",
365 "renesas,rcar-gen3-scif", "renesas,scif"; 476 "renesas,rcar-gen3-scif", "renesas,scif";
@@ -373,6 +484,64 @@
373 status = "disabled"; 484 status = "disabled";
374 }; 485 };
375 486
487 msiof0: spi@e6e90000 {
488 compatible = "renesas,msiof-r8a7796",
489 "renesas,rcar-gen3-msiof";
490 reg = <0 0xe6e90000 0 0x0064>;
491 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
492 clocks = <&cpg CPG_MOD 211>;
493 dmas = <&dmac1 0x41>, <&dmac1 0x40>,
494 <&dmac2 0x41>, <&dmac2 0x40>;
495 dma-names = "tx", "rx";
496 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
497 #address-cells = <1>;
498 #size-cells = <0>;
499 status = "disabled";
500 };
501
502 msiof1: spi@e6ea0000 {
503 compatible = "renesas,msiof-r8a7796",
504 "renesas,rcar-gen3-msiof";
505 reg = <0 0xe6ea0000 0 0x0064>;
506 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
507 clocks = <&cpg CPG_MOD 210>;
508 dmas = <&dmac1 0x43>, <&dmac1 0x42>,
509 <&dmac2 0x43>, <&dmac2 0x42>;
510 dma-names = "tx", "rx";
511 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
512 #address-cells = <1>;
513 #size-cells = <0>;
514 status = "disabled";
515 };
516
517 msiof2: spi@e6c00000 {
518 compatible = "renesas,msiof-r8a7796",
519 "renesas,rcar-gen3-msiof";
520 reg = <0 0xe6c00000 0 0x0064>;
521 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
522 clocks = <&cpg CPG_MOD 209>;
523 dmas = <&dmac0 0x45>, <&dmac0 0x44>;
524 dma-names = "tx", "rx";
525 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
526 #address-cells = <1>;
527 #size-cells = <0>;
528 status = "disabled";
529 };
530
531 msiof3: spi@e6c10000 {
532 compatible = "renesas,msiof-r8a7796",
533 "renesas,rcar-gen3-msiof";
534 reg = <0 0xe6c10000 0 0x0064>;
535 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
536 clocks = <&cpg CPG_MOD 208>;
537 dmas = <&dmac0 0x47>, <&dmac0 0x46>;
538 dma-names = "tx", "rx";
539 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
540 #address-cells = <1>;
541 #size-cells = <0>;
542 status = "disabled";
543 };
544
376 dmac0: dma-controller@e6700000 { 545 dmac0: dma-controller@e6700000 {
377 compatible = "renesas,dmac-r8a7796", 546 compatible = "renesas,dmac-r8a7796",
378 "renesas,rcar-dmac"; 547 "renesas,rcar-dmac";