Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'renesas-arm-dt-for-v5.16-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.16

- I2C EEPROM support on the RZA2MEVB development board,
- DMA, USB2.0, and audio support for the RZ/G2L SoC,
- USB2.0, I2C, audio, ADC, and CANFD support for the RZ/G2L SMARC EVK
development board,
- Support for more R-Car Gen3e SoCs (H3e, M3e, M3Ne(-2G), D3e, E3e,
H3Ne),
- PWM support for the R-Car M3-W+ and V3U SoCs,
- IPMMU support for SDHI on the R-Car V3U SoC,
- Switches support for the Falcon development board,
- Improve Ethernet PHY descriptions to fix reset handling after kexec,
- Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.16-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (45 commits)
arm64: dts: renesas: rcar-gen3: Add missing Ethernet PHY resets
ARM: dts: rzg1: Add missing Ethernet PHY resets
ARM: dts: r-mobile: Add missing Ethernet PHY resets
arm64: dts: renesas: Add compatible properties to RTL8211E Ethernet PHYs
arm64: dts: renesas: Add compatible properties to KSZ9031 Ethernet PHYs
arm64: dts: renesas: Add compatible properties to AR8031 Ethernet PHYs
ARM: dts: renesas: Add compatible properties to uPD6061x Ethernet PHYs
ARM: dts: renesas: Add compatible properties to RTL8201FL Ethernet PHYs
ARM: dts: renesas: Add compatible properties to LAN8710A Ethernet PHYs
ARM: dts: renesas: Add compatible properties to KSZ9031 Ethernet PHYs
ARM: dts: renesas: Add compatible properties to KSZ8081 Ethernet PHYs
ARM: dts: renesas: Add compatible properties to KSZ8041 Ethernet PHYs
arm64: dts: renesas: beacon: Fix Ethernet PHY mode
ARM: dts: renesas: Fix SMSC Ethernet compatible values
arm64: dts: renesas: rzg2l-smarc: Enable CANFD
arm64: dts: renesas: rzg2l-smarc-som: Enable ADC on SMARC platform
arm64: dts: renesas: rzg2l-smarc-som: Move extal and memory nodes to SOM DTSI
arm64: dts: renesas: r8a779a0: falcon-cpu: Add SW47-SW49 support
arm64: dts: renesas: rzg2l-smarc: Add Mic routing
arm64: dts: renesas: rzg2l-smarc: Enable audio
...

Link: https://lore.kernel.org/r/cover.1633081147.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+2375 -1469
+1 -1
arch/arm/boot/dts/emev2-kzm9d.dts
··· 80 80 }; 81 81 82 82 ethernet@20000000 { 83 - compatible = "smsc,lan9220", "smsc,lan9115"; 83 + compatible = "smsc,lan9221", "smsc,lan9115"; 84 84 reg = <0x20000000 0x10000>; 85 85 phy-mode = "mii"; 86 86 interrupt-parent = <&gpio0>;
+2
arch/arm/boot/dts/iwg20d-q7-common.dtsi
··· 158 158 status = "okay"; 159 159 160 160 phy3: ethernet-phy@3 { 161 + compatible = "ethernet-phy-id0022.1622", 162 + "ethernet-phy-ieee802.3-c22"; 161 163 reg = <3>; 162 164 micrel,led-mode = <1>; 163 165 };
+2
arch/arm/boot/dts/r7s72100-genmai.dts
··· 108 108 renesas,no-ether-link; 109 109 phy-handle = <&phy0>; 110 110 phy0: ethernet-phy@0 { 111 + compatible = "ethernet-phy-idb824.2814", 112 + "ethernet-phy-ieee802.3-c22"; 111 113 reg = <0>; 112 114 }; 113 115 };
+2
arch/arm/boot/dts/r7s72100-gr-peach.dts
··· 129 129 phy-handle = <&phy0>; 130 130 131 131 phy0: ethernet-phy@0 { 132 + compatible = "ethernet-phy-id0007.c0f0", 133 + "ethernet-phy-ieee802.3-c22"; 132 134 reg = <0>; 133 135 134 136 reset-gpios = <&port4 2 GPIO_ACTIVE_LOW>;
+2
arch/arm/boot/dts/r7s72100-rskrza1.dts
··· 192 192 renesas,no-ether-link; 193 193 phy-handle = <&phy0>; 194 194 phy0: ethernet-phy@0 { 195 + compatible = "ethernet-phy-idb824.2814", 196 + "ethernet-phy-ieee802.3-c22"; 195 197 reg = <0>; 196 198 }; 197 199 };
+21
arch/arm/boot/dts/r7s9210-rza2mevb.dts
··· 100 100 renesas,no-ether-link; 101 101 phy-handle = <&phy1>; 102 102 phy1: ethernet-phy@1 { 103 + compatible = "ethernet-phy-id001c.c816", 104 + "ethernet-phy-ieee802.3-c22"; 103 105 reg = <0>; 104 106 }; 105 107 }; ··· 109 107 /* EXTAL */ 110 108 &extal_clk { 111 109 clock-frequency = <24000000>; /* 24MHz */ 110 + }; 111 + 112 + &i2c3 { 113 + status = "okay"; 114 + clock-frequency = <400000>; 115 + 116 + pinctrl-names = "default"; 117 + pinctrl-0 = <&i2c3_pins>; 118 + 119 + eeprom@50 { 120 + compatible = "renesas,r1ex24128", "atmel,24c128"; 121 + reg = <0x50>; 122 + pagesize = <64>; 123 + }; 112 124 }; 113 125 114 126 /* High resolution System tick timers */ ··· 161 145 <RZA2_PINMUX(PORT3, 3, 1)>, /* ET1_MDC */ 162 146 <RZA2_PINMUX(PORT3, 4, 1)>, /* ET1_MDIO */ 163 147 <RZA2_PINMUX(PORTL, 1, 5)>; /* IRQ5 */ 148 + }; 149 + 150 + i2c3_pins: i2c3 { 151 + pinmux = <RZA2_PINMUX(PORTD, 6, 1)>, /* RIIC3SCL */ 152 + <RZA2_PINMUX(PORTD, 7, 1)>; /* RIIC3SDA */ 164 153 }; 165 154 166 155 keyboard_pins: keyboard {
+1
arch/arm/boot/dts/r8a73a4-ape6evm.dts
··· 199 199 reg-io-width = <4>; 200 200 smsc,irq-active-high; 201 201 smsc,irq-push-pull; 202 + reset-gpios = <&pfc 270 GPIO_ACTIVE_LOW>; 202 203 vdd33a-supply = <&ape6evm_fixed_3v3>; 203 204 vddvario-supply = <&ape6evm_fixed_1v8>; 204 205 };
+3
arch/arm/boot/dts/r8a7740-armadillo800eva.dts
··· 170 170 status = "okay"; 171 171 172 172 phy0: ethernet-phy@0 { 173 + compatible = "ethernet-phy-id0007.c0f1", 174 + "ethernet-phy-ieee802.3-c22"; 173 175 reg = <0>; 176 + reset-gpios = <&pfc 18 GPIO_ACTIVE_LOW>; 174 177 }; 175 178 }; 176 179
+2
arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ca.dts
··· 66 66 status = "okay"; 67 67 68 68 phy1: ethernet-phy@1 { 69 + compatible = "ethernet-phy-id0022.1560", 70 + "ethernet-phy-ieee802.3-c22"; 69 71 reg = <1>; 70 72 micrel,led-mode = <1>; 71 73 };
+2
arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
··· 175 175 status = "okay"; 176 176 177 177 phy3: ethernet-phy@3 { 178 + compatible = "ethernet-phy-id0022.1622", 179 + "ethernet-phy-ieee802.3-c22"; 178 180 reg = <3>; 179 181 micrel,led-mode = <1>; 180 182 };
+4
arch/arm/boot/dts/r8a7743-sk-rzg1m.dts
··· 7 7 8 8 /dts-v1/; 9 9 #include "r8a7743.dtsi" 10 + #include <dt-bindings/gpio/gpio.h> 10 11 11 12 / { 12 13 model = "SK-RZG1M"; ··· 70 69 status = "okay"; 71 70 72 71 phy1: ethernet-phy@1 { 72 + compatible = "ethernet-phy-id0022.1537", 73 + "ethernet-phy-ieee802.3-c22"; 73 74 reg = <1>; 74 75 interrupt-parent = <&irqc>; 75 76 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 76 77 micrel,led-mode = <1>; 78 + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; 77 79 }; 78 80 };
+2
arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
··· 123 123 * On some older versions of the platform (before R4.0) the phy address 124 124 * may be 1 or 3. The address is fixed to 3 for R4.0 onwards. 125 125 */ 126 + compatible = "ethernet-phy-id0022.1622", 127 + "ethernet-phy-ieee802.3-c22"; 126 128 reg = <3>; 127 129 micrel,led-mode = <1>; 128 130 };
+4
arch/arm/boot/dts/r8a7745-sk-rzg1e.dts
··· 7 7 8 8 /dts-v1/; 9 9 #include "r8a7745.dtsi" 10 + #include <dt-bindings/gpio/gpio.h> 10 11 11 12 / { 12 13 model = "SK-RZG1E"; ··· 65 64 status = "okay"; 66 65 67 66 phy1: ethernet-phy@1 { 67 + compatible = "ethernet-phy-id0022.1537", 68 + "ethernet-phy-ieee802.3-c22"; 68 69 reg = <1>; 69 70 interrupt-parent = <&irqc>; 70 71 interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 71 72 micrel,led-mode = <1>; 73 + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; 72 74 }; 73 75 };
+2
arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
··· 79 79 status = "okay"; 80 80 81 81 phy3: ethernet-phy@3 { 82 + compatible = "ethernet-phy-id0022.1622", 83 + "ethernet-phy-ieee802.3-c22"; 82 84 reg = <3>; 83 85 interrupt-parent = <&gpio5>; 84 86 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+1 -1
arch/arm/boot/dts/r8a7778-bockw.dts
··· 63 63 64 64 &bsc { 65 65 ethernet@18300000 { 66 - compatible = "smsc,lan9220", "smsc,lan9115"; 66 + compatible = "smsc,lan89218", "smsc,lan9115"; 67 67 reg = <0x18300000 0x1000>; 68 68 69 69 phy-mode = "mii";
+1 -1
arch/arm/boot/dts/r8a7779-marzen.dts
··· 52 52 }; 53 53 54 54 ethernet@18000000 { 55 - compatible = "smsc,lan9220", "smsc,lan9115"; 55 + compatible = "smsc,lan89218", "smsc,lan9115"; 56 56 reg = <0x18000000 0x100>; 57 57 pinctrl-0 = <&ethernet_pins>; 58 58 pinctrl-names = "default";
+2
arch/arm/boot/dts/r8a7790-lager.dts
··· 678 678 status = "okay"; 679 679 680 680 phy1: ethernet-phy@1 { 681 + compatible = "ethernet-phy-id0022.1537", 682 + "ethernet-phy-ieee802.3-c22"; 681 683 reg = <1>; 682 684 interrupt-parent = <&irqc0>; 683 685 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm/boot/dts/r8a7790-stout.dts
··· 199 199 status = "okay"; 200 200 201 201 phy1: ethernet-phy@1 { 202 + compatible = "ethernet-phy-id0022.1537", 203 + "ethernet-phy-ieee802.3-c22"; 202 204 reg = <1>; 203 205 interrupt-parent = <&irqc0>; 204 206 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm/boot/dts/r8a7791-koelsch.dts
··· 637 637 status = "okay"; 638 638 639 639 phy1: ethernet-phy@1 { 640 + compatible = "ethernet-phy-id0022.1537", 641 + "ethernet-phy-ieee802.3-c22"; 640 642 reg = <1>; 641 643 interrupt-parent = <&irqc0>; 642 644 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm/boot/dts/r8a7791-porter.dts
··· 302 302 status = "okay"; 303 303 304 304 phy1: ethernet-phy@1 { 305 + compatible = "ethernet-phy-id0022.1537", 306 + "ethernet-phy-ieee802.3-c22"; 305 307 reg = <1>; 306 308 interrupt-parent = <&irqc0>; 307 309 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm/boot/dts/r8a7793-gose.dts
··· 595 595 status = "okay"; 596 596 597 597 phy1: ethernet-phy@1 { 598 + compatible = "ethernet-phy-id0022.1537", 599 + "ethernet-phy-ieee802.3-c22"; 598 600 reg = <1>; 599 601 interrupt-parent = <&irqc0>; 600 602 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm/boot/dts/r8a7794-alt.dts
··· 383 383 status = "okay"; 384 384 385 385 phy1: ethernet-phy@1 { 386 + compatible = "ethernet-phy-id0022.1537", 387 + "ethernet-phy-ieee802.3-c22"; 386 388 reg = <1>; 387 389 interrupt-parent = <&irqc0>; 388 390 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm/boot/dts/r8a7794-silk.dts
··· 397 397 status = "okay"; 398 398 399 399 phy1: ethernet-phy@1 { 400 + compatible = "ethernet-phy-id0022.1537", 401 + "ethernet-phy-ieee802.3-c22"; 400 402 reg = <1>; 401 403 interrupt-parent = <&irqc0>; 402 404 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
+1 -1
arch/arm/boot/dts/sh73a0-kzm9g.dts
··· 169 169 170 170 &bsc { 171 171 ethernet@10000000 { 172 - compatible = "smsc,lan9220", "smsc,lan9115"; 172 + compatible = "smsc,lan9221", "smsc,lan9115"; 173 173 reg = <0x10000000 0x100>; 174 174 phy-mode = "mii"; 175 175 interrupt-parent = <&irqpin0>;
+2
arch/arm64/boot/dts/renesas/Makefile
··· 71 71 dtb-$(CONFIG_ARCH_R8A77961) += r8a779m3-ulcb.dtb 72 72 dtb-$(CONFIG_ARCH_R8A77961) += r8a779m3-ulcb-kf.dtb 73 73 74 + dtb-$(CONFIG_ARCH_R8A77965) += r8a779m5-salvator-xs.dtb 75 + 74 76 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc.dtb
+3
arch/arm64/boot/dts/renesas/beacon-renesom-som.dtsi
··· 50 50 &avb { 51 51 pinctrl-0 = <&avb_pins>; 52 52 pinctrl-names = "default"; 53 + phy-mode = "rgmii-rxid"; 53 54 phy-handle = <&phy0>; 54 55 rx-internal-delay-ps = <1800>; 55 56 tx-internal-delay-ps = <2000>; ··· 59 58 status = "okay"; 60 59 61 60 phy0: ethernet-phy@0 { 61 + compatible = "ethernet-phy-id004d.d074", 62 + "ethernet-phy-ieee802.3-c22"; 62 63 reg = <0>; 63 64 interrupt-parent = <&gpio2>; 64 65 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+2
arch/arm64/boot/dts/renesas/cat875.dtsi
··· 21 21 status = "okay"; 22 22 23 23 phy0: ethernet-phy@0 { 24 + compatible = "ethernet-phy-id001c.c915", 25 + "ethernet-phy-ieee802.3-c22"; 24 26 reg = <0>; 25 27 interrupt-parent = <&gpio2>; 26 28 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
+686
arch/arm64/boot/dts/renesas/draak.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Device Tree Source for the Draak board 4 + * 5 + * Copyright (C) 2016-2018 Renesas Electronics Corp. 6 + * Copyright (C) 2017 Glider bvba 7 + */ 8 + 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/input/input.h> 11 + 12 + / { 13 + model = "Renesas Draak board"; 14 + compatible = "renesas,draak"; 15 + 16 + aliases { 17 + serial0 = &scif2; 18 + ethernet0 = &avb; 19 + }; 20 + 21 + audio_clkout: audio-clkout { 22 + /* 23 + * This is same as <&rcar_sound 0> 24 + * but needed to avoid cs2000/rcar_sound probe dead-lock 25 + */ 26 + compatible = "fixed-clock"; 27 + #clock-cells = <0>; 28 + clock-frequency = <12288000>; 29 + }; 30 + 31 + backlight: backlight { 32 + compatible = "pwm-backlight"; 33 + pwms = <&pwm1 0 50000>; 34 + 35 + brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 36 + default-brightness-level = <10>; 37 + 38 + power-supply = <&reg_12p0v>; 39 + enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>; 40 + }; 41 + 42 + chosen { 43 + bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 44 + stdout-path = "serial0:115200n8"; 45 + }; 46 + 47 + composite-in { 48 + compatible = "composite-video-connector"; 49 + 50 + port { 51 + composite_con_in: endpoint { 52 + remote-endpoint = <&adv7180_in>; 53 + }; 54 + }; 55 + }; 56 + 57 + hdmi-in { 58 + compatible = "hdmi-connector"; 59 + type = "a"; 60 + 61 + port { 62 + hdmi_con_in: endpoint { 63 + remote-endpoint = <&adv7612_in>; 64 + }; 65 + }; 66 + }; 67 + 68 + hdmi-out { 69 + compatible = "hdmi-connector"; 70 + type = "a"; 71 + 72 + port { 73 + hdmi_con_out: endpoint { 74 + remote-endpoint = <&adv7511_out>; 75 + }; 76 + }; 77 + }; 78 + 79 + keys { 80 + compatible = "gpio-keys"; 81 + 82 + pinctrl-0 = <&keys_pins>; 83 + pinctrl-names = "default"; 84 + 85 + key-1 { 86 + gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; 87 + linux,code = <KEY_1>; 88 + label = "SW56-1"; 89 + wakeup-source; 90 + debounce-interval = <20>; 91 + }; 92 + key-2 { 93 + gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 94 + linux,code = <KEY_2>; 95 + label = "SW56-2"; 96 + wakeup-source; 97 + debounce-interval = <20>; 98 + }; 99 + key-3 { 100 + gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; 101 + linux,code = <KEY_3>; 102 + label = "SW56-3"; 103 + wakeup-source; 104 + debounce-interval = <20>; 105 + }; 106 + key-4 { 107 + gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 108 + linux,code = <KEY_4>; 109 + label = "SW56-4"; 110 + wakeup-source; 111 + debounce-interval = <20>; 112 + }; 113 + }; 114 + 115 + lvds-decoder { 116 + compatible = "thine,thc63lvd1024"; 117 + vcc-supply = <&reg_3p3v>; 118 + 119 + ports { 120 + #address-cells = <1>; 121 + #size-cells = <0>; 122 + 123 + port@0 { 124 + reg = <0>; 125 + thc63lvd1024_in: endpoint { 126 + remote-endpoint = <&lvds0_out>; 127 + }; 128 + }; 129 + 130 + port@2 { 131 + reg = <2>; 132 + thc63lvd1024_out: endpoint { 133 + remote-endpoint = <&adv7511_in>; 134 + }; 135 + }; 136 + }; 137 + }; 138 + 139 + memory@48000000 { 140 + device_type = "memory"; 141 + /* first 128MB is reserved for secure area. */ 142 + reg = <0x0 0x48000000 0x0 0x18000000>; 143 + }; 144 + 145 + reg_1p8v: regulator-1p8v { 146 + compatible = "regulator-fixed"; 147 + regulator-name = "fixed-1.8V"; 148 + regulator-min-microvolt = <1800000>; 149 + regulator-max-microvolt = <1800000>; 150 + regulator-boot-on; 151 + regulator-always-on; 152 + }; 153 + 154 + reg_3p3v: regulator-3p3v { 155 + compatible = "regulator-fixed"; 156 + regulator-name = "fixed-3.3V"; 157 + regulator-min-microvolt = <3300000>; 158 + regulator-max-microvolt = <3300000>; 159 + regulator-boot-on; 160 + regulator-always-on; 161 + }; 162 + 163 + reg_12p0v: regulator-12p0v { 164 + compatible = "regulator-fixed"; 165 + regulator-name = "D12.0V"; 166 + regulator-min-microvolt = <12000000>; 167 + regulator-max-microvolt = <12000000>; 168 + regulator-boot-on; 169 + regulator-always-on; 170 + }; 171 + 172 + sound_card: sound { 173 + compatible = "audio-graph-card"; 174 + 175 + dais = <&rsnd_port0 /* ak4613 */ 176 + /* HDMI is not yet supported */ 177 + >; 178 + }; 179 + 180 + vga { 181 + compatible = "vga-connector"; 182 + 183 + port { 184 + vga_in: endpoint { 185 + remote-endpoint = <&adv7123_out>; 186 + }; 187 + }; 188 + }; 189 + 190 + vga-encoder { 191 + compatible = "adi,adv7123"; 192 + 193 + ports { 194 + #address-cells = <1>; 195 + #size-cells = <0>; 196 + 197 + port@0 { 198 + reg = <0>; 199 + adv7123_in: endpoint { 200 + remote-endpoint = <&du_out_rgb>; 201 + }; 202 + }; 203 + port@1 { 204 + reg = <1>; 205 + adv7123_out: endpoint { 206 + remote-endpoint = <&vga_in>; 207 + }; 208 + }; 209 + }; 210 + }; 211 + 212 + x12_clk: x12 { 213 + compatible = "fixed-clock"; 214 + #clock-cells = <0>; 215 + clock-frequency = <74250000>; 216 + }; 217 + 218 + x19_clk: x19 { 219 + compatible = "fixed-clock"; 220 + #clock-cells = <0>; 221 + clock-frequency = <24576000>; 222 + }; 223 + }; 224 + 225 + &audio_clk_b { 226 + /* 227 + * X11 is connected to VI4_FIELD/SCIF_CLK/AUDIO_CLKB, 228 + * and R-Car Sound uses AUDIO_CLKB. 229 + * Note is that schematic indicates VI4_FIELD conection only 230 + * not AUDIO_CLKB at SoC page. 231 + * And this VI4_FIELD/SCIF_CLK/AUDIO_CLKB is connected to SW60. 232 + * SW60 should be 1-2. 233 + */ 234 + 235 + clock-frequency = <22579200>; 236 + }; 237 + 238 + &avb { 239 + pinctrl-0 = <&avb0_pins>; 240 + pinctrl-names = "default"; 241 + renesas,no-ether-link; 242 + phy-handle = <&phy0>; 243 + status = "okay"; 244 + 245 + phy0: ethernet-phy@0 { 246 + compatible = "ethernet-phy-id0022.1622", 247 + "ethernet-phy-ieee802.3-c22"; 248 + rxc-skew-ps = <1500>; 249 + reg = <0>; 250 + interrupt-parent = <&gpio5>; 251 + interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 252 + reset-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>; 253 + /* 254 + * TX clock internal delay mode is required for reliable 255 + * 1Gbps communication using the KSZ9031RNX phy present on 256 + * the Draak board, however, TX clock internal delay mode 257 + * isn't supported on R-Car D3(e). Thus, limit speed to 258 + * 100Mbps for reliable communication. 259 + */ 260 + max-speed = <100>; 261 + }; 262 + }; 263 + 264 + &can0 { 265 + pinctrl-0 = <&can0_pins>; 266 + pinctrl-names = "default"; 267 + status = "okay"; 268 + }; 269 + 270 + &can1 { 271 + pinctrl-0 = <&can1_pins>; 272 + pinctrl-names = "default"; 273 + status = "okay"; 274 + }; 275 + 276 + &du { 277 + pinctrl-0 = <&du_pins>; 278 + pinctrl-names = "default"; 279 + status = "okay"; 280 + 281 + clocks = <&cpg CPG_MOD 724>, 282 + <&cpg CPG_MOD 723>, 283 + <&x12_clk>; 284 + clock-names = "du.0", "du.1", "dclkin.0"; 285 + 286 + ports { 287 + port@0 { 288 + endpoint { 289 + remote-endpoint = <&adv7123_in>; 290 + }; 291 + }; 292 + }; 293 + }; 294 + 295 + &ehci0 { 296 + dr_mode = "host"; 297 + status = "okay"; 298 + }; 299 + 300 + &extal_clk { 301 + clock-frequency = <48000000>; 302 + }; 303 + 304 + &hsusb { 305 + dr_mode = "host"; 306 + status = "okay"; 307 + }; 308 + 309 + &i2c0 { 310 + pinctrl-0 = <&i2c0_pins>; 311 + pinctrl-names = "default"; 312 + status = "okay"; 313 + 314 + ak4613: codec@10 { 315 + compatible = "asahi-kasei,ak4613"; 316 + #sound-dai-cells = <0>; 317 + reg = <0x10>; 318 + clocks = <&rcar_sound 0>; /* audio_clkout */ 319 + 320 + asahi-kasei,in1-single-end; 321 + asahi-kasei,in2-single-end; 322 + asahi-kasei,out1-single-end; 323 + asahi-kasei,out2-single-end; 324 + asahi-kasei,out3-single-end; 325 + asahi-kasei,out4-single-end; 326 + asahi-kasei,out5-single-end; 327 + asahi-kasei,out6-single-end; 328 + 329 + port { 330 + ak4613_endpoint: endpoint { 331 + remote-endpoint = <&rsnd_for_ak4613>; 332 + }; 333 + }; 334 + }; 335 + 336 + composite-in@20 { 337 + compatible = "adi,adv7180cp"; 338 + reg = <0x20>; 339 + 340 + ports { 341 + #address-cells = <1>; 342 + #size-cells = <0>; 343 + 344 + port@0 { 345 + reg = <0>; 346 + adv7180_in: endpoint { 347 + remote-endpoint = <&composite_con_in>; 348 + }; 349 + }; 350 + 351 + port@3 { 352 + reg = <3>; 353 + 354 + /* 355 + * The VIN4 video input path is shared between 356 + * CVBS and HDMI inputs through SW[49-53] 357 + * switches. 358 + * 359 + * CVBS is the default selection, link it to 360 + * VIN4 here. 361 + */ 362 + adv7180_out: endpoint { 363 + remote-endpoint = <&vin4_in>; 364 + }; 365 + }; 366 + }; 367 + 368 + }; 369 + 370 + hdmi-encoder@39 { 371 + compatible = "adi,adv7511w"; 372 + reg = <0x39>, <0x3f>, <0x3c>, <0x38>; 373 + reg-names = "main", "edid", "cec", "packet"; 374 + interrupt-parent = <&gpio1>; 375 + interrupts = <28 IRQ_TYPE_LEVEL_LOW>; 376 + 377 + adi,input-depth = <8>; 378 + adi,input-colorspace = "rgb"; 379 + adi,input-clock = "1x"; 380 + 381 + ports { 382 + #address-cells = <1>; 383 + #size-cells = <0>; 384 + 385 + port@0 { 386 + reg = <0>; 387 + adv7511_in: endpoint { 388 + remote-endpoint = <&thc63lvd1024_out>; 389 + }; 390 + }; 391 + 392 + port@1 { 393 + reg = <1>; 394 + adv7511_out: endpoint { 395 + remote-endpoint = <&hdmi_con_out>; 396 + }; 397 + }; 398 + }; 399 + }; 400 + 401 + hdmi-decoder@4c { 402 + compatible = "adi,adv7612"; 403 + reg = <0x4c>; 404 + default-input = <0>; 405 + 406 + ports { 407 + #address-cells = <1>; 408 + #size-cells = <0>; 409 + 410 + port@0 { 411 + reg = <0>; 412 + 413 + adv7612_in: endpoint { 414 + remote-endpoint = <&hdmi_con_in>; 415 + }; 416 + }; 417 + 418 + port@2 { 419 + reg = <2>; 420 + 421 + /* 422 + * The VIN4 video input path is shared between 423 + * CVBS and HDMI inputs through SW[49-53] 424 + * switches. 425 + * 426 + * CVBS is the default selection, leave HDMI 427 + * not connected here. 428 + */ 429 + adv7612_out: endpoint { 430 + pclk-sample = <0>; 431 + hsync-active = <0>; 432 + vsync-active = <0>; 433 + }; 434 + }; 435 + }; 436 + }; 437 + 438 + cs2000: clk-multiplier@4f { 439 + #clock-cells = <0>; 440 + compatible = "cirrus,cs2000-cp"; 441 + reg = <0x4f>; 442 + clocks = <&audio_clkout>, <&x19_clk>; /* audio_clkout_1, x19 */ 443 + clock-names = "clk_in", "ref_clk"; 444 + 445 + assigned-clocks = <&cs2000>; 446 + assigned-clock-rates = <24576000>; /* 1/1 divide */ 447 + }; 448 + 449 + eeprom@50 { 450 + compatible = "rohm,br24t01", "atmel,24c01"; 451 + reg = <0x50>; 452 + pagesize = <8>; 453 + }; 454 + }; 455 + 456 + &i2c1 { 457 + pinctrl-0 = <&i2c1_pins>; 458 + pinctrl-names = "default"; 459 + status = "okay"; 460 + }; 461 + 462 + &lvds0 { 463 + status = "okay"; 464 + 465 + clocks = <&cpg CPG_MOD 727>, 466 + <&x12_clk>, 467 + <&extal_clk>; 468 + clock-names = "fck", "dclkin.0", "extal"; 469 + 470 + ports { 471 + port@1 { 472 + lvds0_out: endpoint { 473 + remote-endpoint = <&thc63lvd1024_in>; 474 + }; 475 + }; 476 + }; 477 + }; 478 + 479 + &lvds1 { 480 + /* 481 + * Even though the LVDS1 output is not connected, the encoder must be 482 + * enabled to supply a pixel clock to the DU for the DPAD output when 483 + * LVDS0 is in use. 484 + */ 485 + status = "okay"; 486 + 487 + clocks = <&cpg CPG_MOD 727>, 488 + <&x12_clk>, 489 + <&extal_clk>; 490 + clock-names = "fck", "dclkin.0", "extal"; 491 + }; 492 + 493 + &ohci0 { 494 + dr_mode = "host"; 495 + status = "okay"; 496 + }; 497 + 498 + &pfc { 499 + avb0_pins: avb { 500 + groups = "avb0_link", "avb0_mdio", "avb0_mii"; 501 + function = "avb0"; 502 + }; 503 + 504 + can0_pins: can0 { 505 + groups = "can0_data_a"; 506 + function = "can0"; 507 + }; 508 + 509 + can1_pins: can1 { 510 + groups = "can1_data_a"; 511 + function = "can1"; 512 + }; 513 + 514 + du_pins: du { 515 + groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 516 + function = "du"; 517 + }; 518 + 519 + i2c0_pins: i2c0 { 520 + groups = "i2c0"; 521 + function = "i2c0"; 522 + }; 523 + 524 + i2c1_pins: i2c1 { 525 + groups = "i2c1"; 526 + function = "i2c1"; 527 + }; 528 + 529 + keys_pins: keys { 530 + pins = "GP_4_12", "GP_4_13", "GP_4_14", "GP_4_15"; 531 + bias-pull-up; 532 + }; 533 + 534 + pwm0_pins: pwm0 { 535 + groups = "pwm0_c"; 536 + function = "pwm0"; 537 + }; 538 + 539 + pwm1_pins: pwm1 { 540 + groups = "pwm1_c"; 541 + function = "pwm1"; 542 + }; 543 + 544 + scif2_pins: scif2 { 545 + groups = "scif2_data"; 546 + function = "scif2"; 547 + }; 548 + 549 + sdhi2_pins: sd2 { 550 + groups = "mmc_data8", "mmc_ctrl"; 551 + function = "mmc"; 552 + power-source = <1800>; 553 + }; 554 + 555 + sdhi2_pins_uhs: sd2_uhs { 556 + groups = "mmc_data8", "mmc_ctrl"; 557 + function = "mmc"; 558 + power-source = <1800>; 559 + }; 560 + 561 + sound_pins: sound { 562 + groups = "ssi34_ctrl", "ssi3_data", "ssi4_data_a"; 563 + function = "ssi"; 564 + }; 565 + 566 + sound_clk_pins: sound-clk { 567 + groups = "audio_clk_a", "audio_clk_b", 568 + "audio_clkout", "audio_clkout1"; 569 + function = "audio_clk"; 570 + }; 571 + 572 + usb0_pins: usb0 { 573 + groups = "usb0"; 574 + function = "usb0"; 575 + }; 576 + 577 + vin4_pins_cvbs: vin4 { 578 + groups = "vin4_data8", "vin4_sync", "vin4_clk"; 579 + function = "vin4"; 580 + }; 581 + }; 582 + 583 + &pwm0 { 584 + pinctrl-0 = <&pwm0_pins>; 585 + pinctrl-names = "default"; 586 + 587 + status = "okay"; 588 + }; 589 + 590 + &pwm1 { 591 + pinctrl-0 = <&pwm1_pins>; 592 + pinctrl-names = "default"; 593 + 594 + status = "okay"; 595 + }; 596 + 597 + &rcar_sound { 598 + pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 599 + pinctrl-names = "default"; 600 + 601 + /* Single DAI */ 602 + #sound-dai-cells = <0>; 603 + 604 + /* audio_clkout0/1 */ 605 + #clock-cells = <1>; 606 + clock-frequency = <12288000 11289600>; 607 + 608 + status = "okay"; 609 + 610 + clocks = <&cpg CPG_MOD 1005>, 611 + <&cpg CPG_MOD 1011>, <&cpg CPG_MOD 1012>, 612 + <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>, 613 + <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 614 + <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 615 + <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 616 + <&cs2000>, <&audio_clk_b>, 617 + <&cpg CPG_CORE R8A77995_CLK_ZA2>; 618 + 619 + ports { 620 + rsnd_port0: port { 621 + rsnd_for_ak4613: endpoint { 622 + remote-endpoint = <&ak4613_endpoint>; 623 + dai-format = "left_j"; 624 + bitclock-master = <&rsnd_for_ak4613>; 625 + frame-master = <&rsnd_for_ak4613>; 626 + playback = <&ssi3>, <&src5>, <&dvc0>; 627 + capture = <&ssi4>, <&src6>, <&dvc1>; 628 + }; 629 + }; 630 + }; 631 + }; 632 + 633 + &rwdt { 634 + timeout-sec = <60>; 635 + status = "okay"; 636 + }; 637 + 638 + &scif2 { 639 + pinctrl-0 = <&scif2_pins>; 640 + pinctrl-names = "default"; 641 + 642 + status = "okay"; 643 + }; 644 + 645 + &sdhi2 { 646 + /* used for on-board eMMC */ 647 + pinctrl-0 = <&sdhi2_pins>; 648 + pinctrl-1 = <&sdhi2_pins_uhs>; 649 + pinctrl-names = "default", "state_uhs"; 650 + 651 + vmmc-supply = <&reg_3p3v>; 652 + vqmmc-supply = <&reg_1p8v>; 653 + bus-width = <8>; 654 + mmc-hs200-1_8v; 655 + no-sd; 656 + no-sdio; 657 + non-removable; 658 + status = "okay"; 659 + }; 660 + 661 + &ssi4 { 662 + shared-pin; 663 + }; 664 + 665 + &usb2_phy0 { 666 + pinctrl-0 = <&usb0_pins>; 667 + pinctrl-names = "default"; 668 + 669 + renesas,no-otg-pins; 670 + status = "okay"; 671 + }; 672 + 673 + &vin4 { 674 + pinctrl-0 = <&vin4_pins_cvbs>; 675 + pinctrl-names = "default"; 676 + 677 + status = "okay"; 678 + 679 + ports { 680 + port { 681 + vin4_in: endpoint { 682 + remote-endpoint = <&adv7180_out>; 683 + }; 684 + }; 685 + }; 686 + };
+801
arch/arm64/boot/dts/renesas/ebisu.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Device Tree Source for the Ebisu board 4 + * 5 + * Copyright (C) 2018 Renesas Electronics Corp. 6 + */ 7 + 8 + #include <dt-bindings/gpio/gpio.h> 9 + #include <dt-bindings/input/input.h> 10 + 11 + / { 12 + model = "Renesas Ebisu board"; 13 + compatible = "renesas,ebisu"; 14 + 15 + aliases { 16 + serial0 = &scif2; 17 + ethernet0 = &avb; 18 + mmc0 = &sdhi3; 19 + mmc1 = &sdhi0; 20 + mmc2 = &sdhi1; 21 + }; 22 + 23 + chosen { 24 + bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 25 + stdout-path = "serial0:115200n8"; 26 + }; 27 + 28 + audio_clkout: audio-clkout { 29 + /* 30 + * This is same as <&rcar_sound 0> 31 + * but needed to avoid cs2000/rcar_sound probe dead-lock 32 + */ 33 + compatible = "fixed-clock"; 34 + #clock-cells = <0>; 35 + clock-frequency = <11289600>; 36 + }; 37 + 38 + backlight: backlight { 39 + compatible = "pwm-backlight"; 40 + pwms = <&pwm3 0 50000>; 41 + 42 + brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 43 + default-brightness-level = <10>; 44 + 45 + power-supply = <&reg_12p0v>; 46 + }; 47 + 48 + cvbs-in { 49 + compatible = "composite-video-connector"; 50 + label = "CVBS IN"; 51 + 52 + port { 53 + cvbs_con: endpoint { 54 + remote-endpoint = <&adv7482_ain7>; 55 + }; 56 + }; 57 + }; 58 + 59 + hdmi-in { 60 + compatible = "hdmi-connector"; 61 + label = "HDMI IN"; 62 + type = "a"; 63 + 64 + port { 65 + hdmi_in_con: endpoint { 66 + remote-endpoint = <&adv7482_hdmi>; 67 + }; 68 + }; 69 + }; 70 + 71 + hdmi-out { 72 + compatible = "hdmi-connector"; 73 + type = "a"; 74 + 75 + port { 76 + hdmi_con_out: endpoint { 77 + remote-endpoint = <&adv7511_out>; 78 + }; 79 + }; 80 + }; 81 + 82 + keys { 83 + compatible = "gpio-keys"; 84 + 85 + pinctrl-0 = <&keys_pins>; 86 + pinctrl-names = "default"; 87 + 88 + key-1 { 89 + gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; 90 + linux,code = <KEY_1>; 91 + label = "SW4-1"; 92 + wakeup-source; 93 + debounce-interval = <20>; 94 + }; 95 + key-2 { 96 + gpios = <&gpio5 11 GPIO_ACTIVE_LOW>; 97 + linux,code = <KEY_2>; 98 + label = "SW4-2"; 99 + wakeup-source; 100 + debounce-interval = <20>; 101 + }; 102 + key-3 { 103 + gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 104 + linux,code = <KEY_3>; 105 + label = "SW4-3"; 106 + wakeup-source; 107 + debounce-interval = <20>; 108 + }; 109 + key-4 { 110 + gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 111 + linux,code = <KEY_4>; 112 + label = "SW4-4"; 113 + wakeup-source; 114 + debounce-interval = <20>; 115 + }; 116 + }; 117 + 118 + lvds-decoder { 119 + compatible = "thine,thc63lvd1024"; 120 + vcc-supply = <&reg_3p3v>; 121 + 122 + ports { 123 + #address-cells = <1>; 124 + #size-cells = <0>; 125 + 126 + port@0 { 127 + reg = <0>; 128 + thc63lvd1024_in: endpoint { 129 + remote-endpoint = <&lvds0_out>; 130 + }; 131 + }; 132 + 133 + port@2 { 134 + reg = <2>; 135 + thc63lvd1024_out: endpoint { 136 + remote-endpoint = <&adv7511_in>; 137 + }; 138 + }; 139 + }; 140 + }; 141 + 142 + memory@48000000 { 143 + device_type = "memory"; 144 + /* first 128MB is reserved for secure area. */ 145 + reg = <0x0 0x48000000 0x0 0x38000000>; 146 + }; 147 + 148 + reg_1p8v: regulator0 { 149 + compatible = "regulator-fixed"; 150 + regulator-name = "fixed-1.8V"; 151 + regulator-min-microvolt = <1800000>; 152 + regulator-max-microvolt = <1800000>; 153 + regulator-boot-on; 154 + regulator-always-on; 155 + }; 156 + 157 + reg_3p3v: regulator1 { 158 + compatible = "regulator-fixed"; 159 + regulator-name = "fixed-3.3V"; 160 + regulator-min-microvolt = <3300000>; 161 + regulator-max-microvolt = <3300000>; 162 + regulator-boot-on; 163 + regulator-always-on; 164 + }; 165 + 166 + reg_12p0v: regulator2 { 167 + compatible = "regulator-fixed"; 168 + regulator-name = "D12.0V"; 169 + regulator-min-microvolt = <12000000>; 170 + regulator-max-microvolt = <12000000>; 171 + regulator-boot-on; 172 + regulator-always-on; 173 + }; 174 + 175 + rsnd_ak4613: sound { 176 + compatible = "simple-audio-card"; 177 + 178 + simple-audio-card,name = "rsnd-ak4613"; 179 + simple-audio-card,format = "left_j"; 180 + simple-audio-card,bitclock-master = <&sndcpu>; 181 + simple-audio-card,frame-master = <&sndcpu>; 182 + 183 + sndcodec: simple-audio-card,codec { 184 + sound-dai = <&ak4613>; 185 + }; 186 + 187 + sndcpu: simple-audio-card,cpu { 188 + sound-dai = <&rcar_sound>; 189 + }; 190 + }; 191 + 192 + vbus0_usb2: regulator-vbus0-usb2 { 193 + compatible = "regulator-fixed"; 194 + 195 + regulator-name = "USB20_VBUS_CN"; 196 + regulator-min-microvolt = <5000000>; 197 + regulator-max-microvolt = <5000000>; 198 + 199 + gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; 200 + enable-active-high; 201 + }; 202 + 203 + vcc_sdhi0: regulator-vcc-sdhi0 { 204 + compatible = "regulator-fixed"; 205 + 206 + regulator-name = "SDHI0 Vcc"; 207 + regulator-min-microvolt = <3300000>; 208 + regulator-max-microvolt = <3300000>; 209 + 210 + gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>; 211 + enable-active-high; 212 + }; 213 + 214 + vccq_sdhi0: regulator-vccq-sdhi0 { 215 + compatible = "regulator-gpio"; 216 + 217 + regulator-name = "SDHI0 VccQ"; 218 + regulator-min-microvolt = <1800000>; 219 + regulator-max-microvolt = <3300000>; 220 + 221 + gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; 222 + gpios-states = <1>; 223 + states = <3300000 1>, <1800000 0>; 224 + }; 225 + 226 + vcc_sdhi1: regulator-vcc-sdhi1 { 227 + compatible = "regulator-fixed"; 228 + 229 + regulator-name = "SDHI1 Vcc"; 230 + regulator-min-microvolt = <3300000>; 231 + regulator-max-microvolt = <3300000>; 232 + 233 + gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 234 + enable-active-high; 235 + }; 236 + 237 + vccq_sdhi1: regulator-vccq-sdhi1 { 238 + compatible = "regulator-gpio"; 239 + 240 + regulator-name = "SDHI1 VccQ"; 241 + regulator-min-microvolt = <1800000>; 242 + regulator-max-microvolt = <3300000>; 243 + 244 + gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 245 + gpios-states = <1>; 246 + states = <3300000 1>, <1800000 0>; 247 + }; 248 + 249 + vga { 250 + compatible = "vga-connector"; 251 + 252 + port { 253 + vga_in: endpoint { 254 + remote-endpoint = <&adv7123_out>; 255 + }; 256 + }; 257 + }; 258 + 259 + vga-encoder { 260 + compatible = "adi,adv7123"; 261 + 262 + ports { 263 + #address-cells = <1>; 264 + #size-cells = <0>; 265 + 266 + port@0 { 267 + reg = <0>; 268 + adv7123_in: endpoint { 269 + remote-endpoint = <&du_out_rgb>; 270 + }; 271 + }; 272 + port@1 { 273 + reg = <1>; 274 + adv7123_out: endpoint { 275 + remote-endpoint = <&vga_in>; 276 + }; 277 + }; 278 + }; 279 + }; 280 + 281 + x12_clk: x12 { 282 + compatible = "fixed-clock"; 283 + #clock-cells = <0>; 284 + clock-frequency = <24576000>; 285 + }; 286 + 287 + x13_clk: x13 { 288 + compatible = "fixed-clock"; 289 + #clock-cells = <0>; 290 + clock-frequency = <74250000>; 291 + }; 292 + }; 293 + 294 + &audio_clk_a { 295 + clock-frequency = <22579200>; 296 + }; 297 + 298 + &avb { 299 + pinctrl-0 = <&avb_pins>; 300 + pinctrl-names = "default"; 301 + phy-handle = <&phy0>; 302 + status = "okay"; 303 + 304 + phy0: ethernet-phy@0 { 305 + compatible = "ethernet-phy-id0022.1622", 306 + "ethernet-phy-ieee802.3-c22"; 307 + rxc-skew-ps = <1500>; 308 + reg = <0>; 309 + interrupt-parent = <&gpio2>; 310 + interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 311 + reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; 312 + /* 313 + * TX clock internal delay mode is required for reliable 314 + * 1Gbps communication using the KSZ9031RNX phy present on 315 + * the Ebisu board, however, TX clock internal delay mode 316 + * isn't supported on R-Car E3(e). Thus, limit speed to 317 + * 100Mbps for reliable communication. 318 + */ 319 + max-speed = <100>; 320 + }; 321 + }; 322 + 323 + &canfd { 324 + pinctrl-0 = <&canfd0_pins>; 325 + pinctrl-names = "default"; 326 + status = "okay"; 327 + 328 + channel0 { 329 + status = "okay"; 330 + }; 331 + }; 332 + 333 + &csi40 { 334 + status = "okay"; 335 + 336 + ports { 337 + port@0 { 338 + csi40_in: endpoint { 339 + clock-lanes = <0>; 340 + data-lanes = <1 2>; 341 + remote-endpoint = <&adv7482_txa>; 342 + }; 343 + }; 344 + }; 345 + }; 346 + 347 + &du { 348 + pinctrl-0 = <&du_pins>; 349 + pinctrl-names = "default"; 350 + status = "okay"; 351 + 352 + clocks = <&cpg CPG_MOD 724>, 353 + <&cpg CPG_MOD 723>, 354 + <&x13_clk>; 355 + clock-names = "du.0", "du.1", "dclkin.0"; 356 + 357 + ports { 358 + port@0 { 359 + endpoint { 360 + remote-endpoint = <&adv7123_in>; 361 + }; 362 + }; 363 + }; 364 + }; 365 + 366 + &ehci0 { 367 + dr_mode = "otg"; 368 + status = "okay"; 369 + }; 370 + 371 + &extal_clk { 372 + clock-frequency = <48000000>; 373 + }; 374 + 375 + &hsusb { 376 + dr_mode = "otg"; 377 + status = "okay"; 378 + }; 379 + 380 + &i2c0 { 381 + status = "okay"; 382 + 383 + io_expander: gpio@20 { 384 + compatible = "onnn,pca9654"; 385 + reg = <0x20>; 386 + gpio-controller; 387 + #gpio-cells = <2>; 388 + interrupt-parent = <&gpio2>; 389 + interrupts = <22 IRQ_TYPE_LEVEL_LOW>; 390 + }; 391 + 392 + hdmi-encoder@39 { 393 + compatible = "adi,adv7511w"; 394 + reg = <0x39>; 395 + interrupt-parent = <&gpio1>; 396 + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 397 + 398 + adi,input-depth = <8>; 399 + adi,input-colorspace = "rgb"; 400 + adi,input-clock = "1x"; 401 + 402 + ports { 403 + #address-cells = <1>; 404 + #size-cells = <0>; 405 + 406 + port@0 { 407 + reg = <0>; 408 + adv7511_in: endpoint { 409 + remote-endpoint = <&thc63lvd1024_out>; 410 + }; 411 + }; 412 + 413 + port@1 { 414 + reg = <1>; 415 + adv7511_out: endpoint { 416 + remote-endpoint = <&hdmi_con_out>; 417 + }; 418 + }; 419 + }; 420 + }; 421 + 422 + video-receiver@70 { 423 + compatible = "adi,adv7482"; 424 + reg = <0x70>; 425 + 426 + #address-cells = <1>; 427 + #size-cells = <0>; 428 + 429 + interrupt-parent = <&gpio0>; 430 + interrupt-names = "intrq1", "intrq2"; 431 + interrupts = <7 IRQ_TYPE_LEVEL_LOW>, 432 + <17 IRQ_TYPE_LEVEL_LOW>; 433 + 434 + port@7 { 435 + reg = <7>; 436 + 437 + adv7482_ain7: endpoint { 438 + remote-endpoint = <&cvbs_con>; 439 + }; 440 + }; 441 + 442 + port@8 { 443 + reg = <8>; 444 + 445 + adv7482_hdmi: endpoint { 446 + remote-endpoint = <&hdmi_in_con>; 447 + }; 448 + }; 449 + 450 + port@a { 451 + reg = <10>; 452 + 453 + adv7482_txa: endpoint { 454 + clock-lanes = <0>; 455 + data-lanes = <1 2>; 456 + remote-endpoint = <&csi40_in>; 457 + }; 458 + }; 459 + }; 460 + }; 461 + 462 + &i2c3 { 463 + status = "okay"; 464 + 465 + ak4613: codec@10 { 466 + compatible = "asahi-kasei,ak4613"; 467 + #sound-dai-cells = <0>; 468 + reg = <0x10>; 469 + clocks = <&rcar_sound 3>; 470 + 471 + asahi-kasei,in1-single-end; 472 + asahi-kasei,in2-single-end; 473 + asahi-kasei,out1-single-end; 474 + asahi-kasei,out2-single-end; 475 + asahi-kasei,out3-single-end; 476 + asahi-kasei,out4-single-end; 477 + asahi-kasei,out5-single-end; 478 + asahi-kasei,out6-single-end; 479 + }; 480 + 481 + cs2000: clk-multiplier@4f { 482 + #clock-cells = <0>; 483 + compatible = "cirrus,cs2000-cp"; 484 + reg = <0x4f>; 485 + clocks = <&audio_clkout>, <&x12_clk>; 486 + clock-names = "clk_in", "ref_clk"; 487 + 488 + assigned-clocks = <&cs2000>; 489 + assigned-clock-rates = <24576000>; /* 1/1 divide */ 490 + }; 491 + }; 492 + 493 + &i2c_dvfs { 494 + status = "okay"; 495 + 496 + clock-frequency = <400000>; 497 + 498 + pmic: pmic@30 { 499 + pinctrl-0 = <&irq0_pins>; 500 + pinctrl-names = "default"; 501 + 502 + compatible = "rohm,bd9571mwv"; 503 + reg = <0x30>; 504 + interrupt-parent = <&intc_ex>; 505 + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 506 + interrupt-controller; 507 + #interrupt-cells = <2>; 508 + gpio-controller; 509 + #gpio-cells = <2>; 510 + rohm,ddr-backup-power = <0x1>; 511 + rohm,rstbmode-level; 512 + }; 513 + 514 + eeprom@50 { 515 + compatible = "rohm,br24t01", "atmel,24c01"; 516 + reg = <0x50>; 517 + pagesize = <8>; 518 + }; 519 + }; 520 + 521 + &lvds0 { 522 + status = "okay"; 523 + 524 + clocks = <&cpg CPG_MOD 727>, 525 + <&x13_clk>, 526 + <&extal_clk>; 527 + clock-names = "fck", "dclkin.0", "extal"; 528 + 529 + ports { 530 + port@1 { 531 + lvds0_out: endpoint { 532 + remote-endpoint = <&thc63lvd1024_in>; 533 + }; 534 + }; 535 + }; 536 + }; 537 + 538 + &lvds1 { 539 + /* 540 + * Even though the LVDS1 output is not connected, the encoder must be 541 + * enabled to supply a pixel clock to the DU for the DPAD output when 542 + * LVDS0 is in use. 543 + */ 544 + status = "okay"; 545 + 546 + clocks = <&cpg CPG_MOD 727>, 547 + <&x13_clk>, 548 + <&extal_clk>; 549 + clock-names = "fck", "dclkin.0", "extal"; 550 + }; 551 + 552 + &ohci0 { 553 + dr_mode = "otg"; 554 + status = "okay"; 555 + }; 556 + 557 + &pcie_bus_clk { 558 + clock-frequency = <100000000>; 559 + }; 560 + 561 + &pciec0 { 562 + status = "okay"; 563 + }; 564 + 565 + &pfc { 566 + avb_pins: avb { 567 + groups = "avb_link", "avb_mii"; 568 + function = "avb"; 569 + }; 570 + 571 + canfd0_pins: canfd0 { 572 + groups = "canfd0_data"; 573 + function = "canfd0"; 574 + }; 575 + 576 + du_pins: du { 577 + groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 578 + function = "du"; 579 + }; 580 + 581 + irq0_pins: irq0 { 582 + groups = "intc_ex_irq0"; 583 + function = "intc_ex"; 584 + }; 585 + 586 + keys_pins: keys { 587 + pins = "GP_5_10", "GP_5_11", "GP_5_12", "GP_5_13"; 588 + bias-pull-up; 589 + }; 590 + 591 + pwm3_pins: pwm3 { 592 + groups = "pwm3_b"; 593 + function = "pwm3"; 594 + }; 595 + 596 + pwm5_pins: pwm5 { 597 + groups = "pwm5_a"; 598 + function = "pwm5"; 599 + }; 600 + 601 + scif2_pins: scif2 { 602 + groups = "scif2_data_a"; 603 + function = "scif2"; 604 + }; 605 + 606 + sdhi0_pins: sd0 { 607 + groups = "sdhi0_data4", "sdhi0_ctrl"; 608 + function = "sdhi0"; 609 + power-source = <3300>; 610 + }; 611 + 612 + sdhi0_pins_uhs: sd0_uhs { 613 + groups = "sdhi0_data4", "sdhi0_ctrl"; 614 + function = "sdhi0"; 615 + power-source = <1800>; 616 + }; 617 + 618 + sdhi1_pins: sd1 { 619 + groups = "sdhi1_data4", "sdhi1_ctrl"; 620 + function = "sdhi1"; 621 + power-source = <3300>; 622 + }; 623 + 624 + sdhi1_pins_uhs: sd1_uhs { 625 + groups = "sdhi1_data4", "sdhi1_ctrl"; 626 + function = "sdhi1"; 627 + power-source = <1800>; 628 + }; 629 + 630 + sdhi3_pins: sd3 { 631 + groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; 632 + function = "sdhi3"; 633 + power-source = <1800>; 634 + }; 635 + 636 + sound_clk_pins: sound_clk { 637 + groups = "audio_clk_a", "audio_clk_b_a", "audio_clk_c_a", 638 + "audio_clkout_a", "audio_clkout1_a"; 639 + function = "audio_clk"; 640 + }; 641 + 642 + sound_pins: sound { 643 + groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data"; 644 + function = "ssi"; 645 + }; 646 + 647 + usb0_pins: usb { 648 + groups = "usb0_b", "usb0_id"; 649 + function = "usb0"; 650 + }; 651 + 652 + usb30_pins: usb30 { 653 + groups = "usb30"; 654 + function = "usb30"; 655 + }; 656 + }; 657 + 658 + &pwm3 { 659 + pinctrl-0 = <&pwm3_pins>; 660 + pinctrl-names = "default"; 661 + 662 + status = "okay"; 663 + }; 664 + 665 + &pwm5 { 666 + pinctrl-0 = <&pwm5_pins>; 667 + pinctrl-names = "default"; 668 + 669 + status = "okay"; 670 + }; 671 + 672 + &rcar_sound { 673 + pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 674 + pinctrl-names = "default"; 675 + 676 + /* Single DAI */ 677 + #sound-dai-cells = <0>; 678 + 679 + /* audio_clkout0/1/2/3 */ 680 + #clock-cells = <1>; 681 + clock-frequency = <12288000 11289600>; 682 + 683 + status = "okay"; 684 + 685 + /* update <audio_clk_b> to <cs2000> */ 686 + clocks = <&cpg CPG_MOD 1005>, 687 + <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 688 + <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 689 + <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 690 + <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 691 + <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 692 + <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 693 + <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 694 + <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 695 + <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 696 + <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 697 + <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 698 + <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 699 + <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 700 + <&audio_clk_a>, <&cs2000>, <&audio_clk_c>, 701 + <&cpg CPG_CORE R8A77990_CLK_ZA2>; 702 + 703 + rcar_sound,dai { 704 + dai0 { 705 + playback = <&ssi0>, <&src0>, <&dvc0>; 706 + capture = <&ssi1>, <&src1>, <&dvc1>; 707 + }; 708 + }; 709 + 710 + }; 711 + 712 + &rwdt { 713 + timeout-sec = <60>; 714 + status = "okay"; 715 + }; 716 + 717 + &scif2 { 718 + pinctrl-0 = <&scif2_pins>; 719 + pinctrl-names = "default"; 720 + 721 + status = "okay"; 722 + }; 723 + 724 + &sdhi0 { 725 + pinctrl-0 = <&sdhi0_pins>; 726 + pinctrl-1 = <&sdhi0_pins_uhs>; 727 + pinctrl-names = "default", "state_uhs"; 728 + 729 + vmmc-supply = <&vcc_sdhi0>; 730 + vqmmc-supply = <&vccq_sdhi0>; 731 + cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 732 + wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 733 + bus-width = <4>; 734 + sd-uhs-sdr50; 735 + sd-uhs-sdr104; 736 + status = "okay"; 737 + }; 738 + 739 + &sdhi1 { 740 + pinctrl-0 = <&sdhi1_pins>; 741 + pinctrl-1 = <&sdhi1_pins_uhs>; 742 + pinctrl-names = "default", "state_uhs"; 743 + 744 + vmmc-supply = <&vcc_sdhi1>; 745 + vqmmc-supply = <&vccq_sdhi1>; 746 + cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>; 747 + bus-width = <4>; 748 + sd-uhs-sdr50; 749 + sd-uhs-sdr104; 750 + status = "okay"; 751 + }; 752 + 753 + &sdhi3 { 754 + /* used for on-board 8bit eMMC */ 755 + pinctrl-0 = <&sdhi3_pins>; 756 + pinctrl-1 = <&sdhi3_pins>; 757 + pinctrl-names = "default", "state_uhs"; 758 + 759 + vmmc-supply = <&reg_3p3v>; 760 + vqmmc-supply = <&reg_1p8v>; 761 + mmc-hs200-1_8v; 762 + mmc-hs400-1_8v; 763 + bus-width = <8>; 764 + no-sd; 765 + no-sdio; 766 + non-removable; 767 + full-pwr-cycle-in-suspend; 768 + status = "okay"; 769 + }; 770 + 771 + &ssi1 { 772 + shared-pin; 773 + }; 774 + 775 + &usb2_phy0 { 776 + pinctrl-0 = <&usb0_pins>; 777 + pinctrl-names = "default"; 778 + 779 + vbus-supply = <&vbus0_usb2>; 780 + status = "okay"; 781 + }; 782 + 783 + &usb3_peri0 { 784 + companion = <&xhci0>; 785 + status = "okay"; 786 + }; 787 + 788 + &vin4 { 789 + status = "okay"; 790 + }; 791 + 792 + &vin5 { 793 + status = "okay"; 794 + }; 795 + 796 + &xhci0 { 797 + pinctrl-0 = <&usb30_pins>; 798 + pinctrl-names = "default"; 799 + 800 + status = "okay"; 801 + };
+2
arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi
··· 24 24 status = "okay"; 25 25 26 26 phy0: ethernet-phy@0 { 27 + compatible = "ethernet-phy-id001c.c915", 28 + "ethernet-phy-ieee802.3-c22"; 27 29 reg = <0>; 28 30 interrupt-parent = <&gpio2>; 29 31 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+11
arch/arm64/boot/dts/renesas/r8a77961.dtsi
··· 1392 1392 status = "disabled"; 1393 1393 }; 1394 1394 1395 + tpu: pwm@e6e80000 { 1396 + compatible = "renesas,tpu-r8a77961", "renesas,tpu"; 1397 + reg = <0 0xe6e80000 0 0x148>; 1398 + interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 1399 + clocks = <&cpg CPG_MOD 304>; 1400 + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 1401 + resets = <&cpg 304>; 1402 + #pwm-cells = <3>; 1403 + status = "disabled"; 1404 + }; 1405 + 1395 1406 msiof0: spi@e6e90000 { 1396 1407 compatible = "renesas,msiof-r8a77961", 1397 1408 "renesas,rcar-gen3-msiof";
+4
arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
··· 8 8 9 9 /dts-v1/; 10 10 #include "r8a77970.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 11 12 12 13 / { 13 14 model = "Renesas Eagle board based on r8a77970"; ··· 93 92 status = "okay"; 94 93 95 94 phy0: ethernet-phy@0 { 95 + compatible = "ethernet-phy-id0022.1622", 96 + "ethernet-phy-ieee802.3-c22"; 96 97 rxc-skew-ps = <1500>; 97 98 reg = <0>; 98 99 interrupt-parent = <&gpio1>; 99 100 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 101 + reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; 100 102 }; 101 103 }; 102 104
+4
arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts
··· 8 8 9 9 /dts-v1/; 10 10 #include "r8a77970.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 11 12 12 13 / { 13 14 model = "Renesas V3M Starter Kit board"; ··· 108 107 status = "okay"; 109 108 110 109 phy0: ethernet-phy@0 { 110 + compatible = "ethernet-phy-id0022.1622", 111 + "ethernet-phy-ieee802.3-c22"; 111 112 rxc-skew-ps = <1500>; 112 113 reg = <0>; 113 114 interrupt-parent = <&gpio1>; 114 115 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 116 + reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; 115 117 }; 116 118 }; 117 119
+4
arch/arm64/boot/dts/renesas/r8a77980-condor.dts
··· 8 8 9 9 /dts-v1/; 10 10 #include "r8a77980.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 11 12 12 13 / { 13 14 model = "Renesas Condor board based on r8a77980"; ··· 133 132 status = "okay"; 134 133 135 134 phy0: ethernet-phy@0 { 135 + compatible = "ethernet-phy-id0022.1622", 136 + "ethernet-phy-ieee802.3-c22"; 136 137 rxc-skew-ps = <1500>; 137 138 reg = <0>; 138 139 interrupt-parent = <&gpio4>; 139 140 interrupts = <23 IRQ_TYPE_LEVEL_LOW>; 141 + reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 140 142 }; 141 143 }; 142 144
+4
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts
··· 8 8 9 9 /dts-v1/; 10 10 #include "r8a77980.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 11 12 12 13 / { 13 14 model = "Renesas V3H Starter Kit board"; ··· 114 113 status = "okay"; 115 114 116 115 phy0: ethernet-phy@0 { 116 + compatible = "ethernet-phy-id0022.1622", 117 + "ethernet-phy-ieee802.3-c22"; 117 118 reg = <0>; 118 119 interrupt-parent = <&gpio4>; 119 120 interrupts = <23 IRQ_TYPE_LEVEL_LOW>; 121 + reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 120 122 }; 121 123 }; 122 124
+1 -787
arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
··· 7 7 8 8 /dts-v1/; 9 9 #include "r8a77990.dtsi" 10 - #include <dt-bindings/gpio/gpio.h> 11 - #include <dt-bindings/input/input.h> 10 + #include "ebisu.dtsi" 12 11 13 12 / { 14 13 model = "Renesas Ebisu board based on r8a77990"; 15 14 compatible = "renesas,ebisu", "renesas,r8a77990"; 16 - 17 - aliases { 18 - serial0 = &scif2; 19 - ethernet0 = &avb; 20 - mmc0 = &sdhi3; 21 - mmc1 = &sdhi0; 22 - mmc2 = &sdhi1; 23 - }; 24 - 25 - chosen { 26 - bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 27 - stdout-path = "serial0:115200n8"; 28 - }; 29 - 30 - audio_clkout: audio-clkout { 31 - /* 32 - * This is same as <&rcar_sound 0> 33 - * but needed to avoid cs2000/rcar_sound probe dead-lock 34 - */ 35 - compatible = "fixed-clock"; 36 - #clock-cells = <0>; 37 - clock-frequency = <11289600>; 38 - }; 39 - 40 - backlight: backlight { 41 - compatible = "pwm-backlight"; 42 - pwms = <&pwm3 0 50000>; 43 - 44 - brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 45 - default-brightness-level = <10>; 46 - 47 - power-supply = <&reg_12p0v>; 48 - }; 49 - 50 - cvbs-in { 51 - compatible = "composite-video-connector"; 52 - label = "CVBS IN"; 53 - 54 - port { 55 - cvbs_con: endpoint { 56 - remote-endpoint = <&adv7482_ain7>; 57 - }; 58 - }; 59 - }; 60 - 61 - hdmi-in { 62 - compatible = "hdmi-connector"; 63 - label = "HDMI IN"; 64 - type = "a"; 65 - 66 - port { 67 - hdmi_in_con: endpoint { 68 - remote-endpoint = <&adv7482_hdmi>; 69 - }; 70 - }; 71 - }; 72 - 73 - hdmi-out { 74 - compatible = "hdmi-connector"; 75 - type = "a"; 76 - 77 - port { 78 - hdmi_con_out: endpoint { 79 - remote-endpoint = <&adv7511_out>; 80 - }; 81 - }; 82 - }; 83 - 84 - keys { 85 - compatible = "gpio-keys"; 86 - 87 - pinctrl-0 = <&keys_pins>; 88 - pinctrl-names = "default"; 89 - 90 - key-1 { 91 - gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; 92 - linux,code = <KEY_1>; 93 - label = "SW4-1"; 94 - wakeup-source; 95 - debounce-interval = <20>; 96 - }; 97 - key-2 { 98 - gpios = <&gpio5 11 GPIO_ACTIVE_LOW>; 99 - linux,code = <KEY_2>; 100 - label = "SW4-2"; 101 - wakeup-source; 102 - debounce-interval = <20>; 103 - }; 104 - key-3 { 105 - gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 106 - linux,code = <KEY_3>; 107 - label = "SW4-3"; 108 - wakeup-source; 109 - debounce-interval = <20>; 110 - }; 111 - key-4 { 112 - gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 113 - linux,code = <KEY_4>; 114 - label = "SW4-4"; 115 - wakeup-source; 116 - debounce-interval = <20>; 117 - }; 118 - }; 119 - 120 - lvds-decoder { 121 - compatible = "thine,thc63lvd1024"; 122 - vcc-supply = <&reg_3p3v>; 123 - 124 - ports { 125 - #address-cells = <1>; 126 - #size-cells = <0>; 127 - 128 - port@0 { 129 - reg = <0>; 130 - thc63lvd1024_in: endpoint { 131 - remote-endpoint = <&lvds0_out>; 132 - }; 133 - }; 134 - 135 - port@2 { 136 - reg = <2>; 137 - thc63lvd1024_out: endpoint { 138 - remote-endpoint = <&adv7511_in>; 139 - }; 140 - }; 141 - }; 142 - }; 143 - 144 - memory@48000000 { 145 - device_type = "memory"; 146 - /* first 128MB is reserved for secure area. */ 147 - reg = <0x0 0x48000000 0x0 0x38000000>; 148 - }; 149 - 150 - reg_1p8v: regulator0 { 151 - compatible = "regulator-fixed"; 152 - regulator-name = "fixed-1.8V"; 153 - regulator-min-microvolt = <1800000>; 154 - regulator-max-microvolt = <1800000>; 155 - regulator-boot-on; 156 - regulator-always-on; 157 - }; 158 - 159 - reg_3p3v: regulator1 { 160 - compatible = "regulator-fixed"; 161 - regulator-name = "fixed-3.3V"; 162 - regulator-min-microvolt = <3300000>; 163 - regulator-max-microvolt = <3300000>; 164 - regulator-boot-on; 165 - regulator-always-on; 166 - }; 167 - 168 - reg_12p0v: regulator2 { 169 - compatible = "regulator-fixed"; 170 - regulator-name = "D12.0V"; 171 - regulator-min-microvolt = <12000000>; 172 - regulator-max-microvolt = <12000000>; 173 - regulator-boot-on; 174 - regulator-always-on; 175 - }; 176 - 177 - rsnd_ak4613: sound { 178 - compatible = "simple-audio-card"; 179 - 180 - simple-audio-card,name = "rsnd-ak4613"; 181 - simple-audio-card,format = "left_j"; 182 - simple-audio-card,bitclock-master = <&sndcpu>; 183 - simple-audio-card,frame-master = <&sndcpu>; 184 - 185 - sndcodec: simple-audio-card,codec { 186 - sound-dai = <&ak4613>; 187 - }; 188 - 189 - sndcpu: simple-audio-card,cpu { 190 - sound-dai = <&rcar_sound>; 191 - }; 192 - }; 193 - 194 - vbus0_usb2: regulator-vbus0-usb2 { 195 - compatible = "regulator-fixed"; 196 - 197 - regulator-name = "USB20_VBUS_CN"; 198 - regulator-min-microvolt = <5000000>; 199 - regulator-max-microvolt = <5000000>; 200 - 201 - gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; 202 - enable-active-high; 203 - }; 204 - 205 - vcc_sdhi0: regulator-vcc-sdhi0 { 206 - compatible = "regulator-fixed"; 207 - 208 - regulator-name = "SDHI0 Vcc"; 209 - regulator-min-microvolt = <3300000>; 210 - regulator-max-microvolt = <3300000>; 211 - 212 - gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>; 213 - enable-active-high; 214 - }; 215 - 216 - vccq_sdhi0: regulator-vccq-sdhi0 { 217 - compatible = "regulator-gpio"; 218 - 219 - regulator-name = "SDHI0 VccQ"; 220 - regulator-min-microvolt = <1800000>; 221 - regulator-max-microvolt = <3300000>; 222 - 223 - gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; 224 - gpios-states = <1>; 225 - states = <3300000 1>, <1800000 0>; 226 - }; 227 - 228 - vcc_sdhi1: regulator-vcc-sdhi1 { 229 - compatible = "regulator-fixed"; 230 - 231 - regulator-name = "SDHI1 Vcc"; 232 - regulator-min-microvolt = <3300000>; 233 - regulator-max-microvolt = <3300000>; 234 - 235 - gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 236 - enable-active-high; 237 - }; 238 - 239 - vccq_sdhi1: regulator-vccq-sdhi1 { 240 - compatible = "regulator-gpio"; 241 - 242 - regulator-name = "SDHI1 VccQ"; 243 - regulator-min-microvolt = <1800000>; 244 - regulator-max-microvolt = <3300000>; 245 - 246 - gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 247 - gpios-states = <1>; 248 - states = <3300000 1>, <1800000 0>; 249 - }; 250 - 251 - vga { 252 - compatible = "vga-connector"; 253 - 254 - port { 255 - vga_in: endpoint { 256 - remote-endpoint = <&adv7123_out>; 257 - }; 258 - }; 259 - }; 260 - 261 - vga-encoder { 262 - compatible = "adi,adv7123"; 263 - 264 - ports { 265 - #address-cells = <1>; 266 - #size-cells = <0>; 267 - 268 - port@0 { 269 - reg = <0>; 270 - adv7123_in: endpoint { 271 - remote-endpoint = <&du_out_rgb>; 272 - }; 273 - }; 274 - port@1 { 275 - reg = <1>; 276 - adv7123_out: endpoint { 277 - remote-endpoint = <&vga_in>; 278 - }; 279 - }; 280 - }; 281 - }; 282 - 283 - x12_clk: x12 { 284 - compatible = "fixed-clock"; 285 - #clock-cells = <0>; 286 - clock-frequency = <24576000>; 287 - }; 288 - 289 - x13_clk: x13 { 290 - compatible = "fixed-clock"; 291 - #clock-cells = <0>; 292 - clock-frequency = <74250000>; 293 - }; 294 - }; 295 - 296 - &audio_clk_a { 297 - clock-frequency = <22579200>; 298 - }; 299 - 300 - &avb { 301 - pinctrl-0 = <&avb_pins>; 302 - pinctrl-names = "default"; 303 - phy-handle = <&phy0>; 304 - status = "okay"; 305 - 306 - phy0: ethernet-phy@0 { 307 - rxc-skew-ps = <1500>; 308 - reg = <0>; 309 - interrupt-parent = <&gpio2>; 310 - interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 311 - reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; 312 - /* 313 - * TX clock internal delay mode is required for reliable 314 - * 1Gbps communication using the KSZ9031RNX phy present on 315 - * the Ebisu board, however, TX clock internal delay mode 316 - * isn't supported on r8a77990. Thus, limit speed to 317 - * 100Mbps for reliable communication. 318 - */ 319 - max-speed = <100>; 320 - }; 321 - }; 322 - 323 - &canfd { 324 - pinctrl-0 = <&canfd0_pins>; 325 - pinctrl-names = "default"; 326 - status = "okay"; 327 - 328 - channel0 { 329 - status = "okay"; 330 - }; 331 - }; 332 - 333 - &csi40 { 334 - status = "okay"; 335 - 336 - ports { 337 - port@0 { 338 - csi40_in: endpoint { 339 - clock-lanes = <0>; 340 - data-lanes = <1 2>; 341 - remote-endpoint = <&adv7482_txa>; 342 - }; 343 - }; 344 - }; 345 - }; 346 - 347 - &du { 348 - pinctrl-0 = <&du_pins>; 349 - pinctrl-names = "default"; 350 - status = "okay"; 351 - 352 - clocks = <&cpg CPG_MOD 724>, 353 - <&cpg CPG_MOD 723>, 354 - <&x13_clk>; 355 - clock-names = "du.0", "du.1", "dclkin.0"; 356 - 357 - ports { 358 - port@0 { 359 - endpoint { 360 - remote-endpoint = <&adv7123_in>; 361 - }; 362 - }; 363 - }; 364 - }; 365 - 366 - &ehci0 { 367 - dr_mode = "otg"; 368 - status = "okay"; 369 - }; 370 - 371 - &extal_clk { 372 - clock-frequency = <48000000>; 373 - }; 374 - 375 - &hsusb { 376 - dr_mode = "otg"; 377 - status = "okay"; 378 - }; 379 - 380 - &i2c0 { 381 - status = "okay"; 382 - 383 - io_expander: gpio@20 { 384 - compatible = "onnn,pca9654"; 385 - reg = <0x20>; 386 - gpio-controller; 387 - #gpio-cells = <2>; 388 - interrupt-parent = <&gpio2>; 389 - interrupts = <22 IRQ_TYPE_LEVEL_LOW>; 390 - }; 391 - 392 - hdmi-encoder@39 { 393 - compatible = "adi,adv7511w"; 394 - reg = <0x39>; 395 - interrupt-parent = <&gpio1>; 396 - interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 397 - 398 - adi,input-depth = <8>; 399 - adi,input-colorspace = "rgb"; 400 - adi,input-clock = "1x"; 401 - 402 - ports { 403 - #address-cells = <1>; 404 - #size-cells = <0>; 405 - 406 - port@0 { 407 - reg = <0>; 408 - adv7511_in: endpoint { 409 - remote-endpoint = <&thc63lvd1024_out>; 410 - }; 411 - }; 412 - 413 - port@1 { 414 - reg = <1>; 415 - adv7511_out: endpoint { 416 - remote-endpoint = <&hdmi_con_out>; 417 - }; 418 - }; 419 - }; 420 - }; 421 - 422 - video-receiver@70 { 423 - compatible = "adi,adv7482"; 424 - reg = <0x70>; 425 - 426 - #address-cells = <1>; 427 - #size-cells = <0>; 428 - 429 - interrupt-parent = <&gpio0>; 430 - interrupt-names = "intrq1", "intrq2"; 431 - interrupts = <7 IRQ_TYPE_LEVEL_LOW>, 432 - <17 IRQ_TYPE_LEVEL_LOW>; 433 - 434 - port@7 { 435 - reg = <7>; 436 - 437 - adv7482_ain7: endpoint { 438 - remote-endpoint = <&cvbs_con>; 439 - }; 440 - }; 441 - 442 - port@8 { 443 - reg = <8>; 444 - 445 - adv7482_hdmi: endpoint { 446 - remote-endpoint = <&hdmi_in_con>; 447 - }; 448 - }; 449 - 450 - port@a { 451 - reg = <10>; 452 - 453 - adv7482_txa: endpoint { 454 - clock-lanes = <0>; 455 - data-lanes = <1 2>; 456 - remote-endpoint = <&csi40_in>; 457 - }; 458 - }; 459 - }; 460 - }; 461 - 462 - &i2c3 { 463 - status = "okay"; 464 - 465 - ak4613: codec@10 { 466 - compatible = "asahi-kasei,ak4613"; 467 - #sound-dai-cells = <0>; 468 - reg = <0x10>; 469 - clocks = <&rcar_sound 3>; 470 - 471 - asahi-kasei,in1-single-end; 472 - asahi-kasei,in2-single-end; 473 - asahi-kasei,out1-single-end; 474 - asahi-kasei,out2-single-end; 475 - asahi-kasei,out3-single-end; 476 - asahi-kasei,out4-single-end; 477 - asahi-kasei,out5-single-end; 478 - asahi-kasei,out6-single-end; 479 - }; 480 - 481 - cs2000: clk-multiplier@4f { 482 - #clock-cells = <0>; 483 - compatible = "cirrus,cs2000-cp"; 484 - reg = <0x4f>; 485 - clocks = <&audio_clkout>, <&x12_clk>; 486 - clock-names = "clk_in", "ref_clk"; 487 - 488 - assigned-clocks = <&cs2000>; 489 - assigned-clock-rates = <24576000>; /* 1/1 divide */ 490 - }; 491 - }; 492 - 493 - &i2c_dvfs { 494 - status = "okay"; 495 - 496 - clock-frequency = <400000>; 497 - 498 - pmic: pmic@30 { 499 - pinctrl-0 = <&irq0_pins>; 500 - pinctrl-names = "default"; 501 - 502 - compatible = "rohm,bd9571mwv"; 503 - reg = <0x30>; 504 - interrupt-parent = <&intc_ex>; 505 - interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 506 - interrupt-controller; 507 - #interrupt-cells = <2>; 508 - gpio-controller; 509 - #gpio-cells = <2>; 510 - rohm,ddr-backup-power = <0x1>; 511 - rohm,rstbmode-level; 512 - }; 513 - 514 - eeprom@50 { 515 - compatible = "rohm,br24t01", "atmel,24c01"; 516 - reg = <0x50>; 517 - pagesize = <8>; 518 - }; 519 - }; 520 - 521 - &lvds0 { 522 - status = "okay"; 523 - 524 - clocks = <&cpg CPG_MOD 727>, 525 - <&x13_clk>, 526 - <&extal_clk>; 527 - clock-names = "fck", "dclkin.0", "extal"; 528 - 529 - ports { 530 - port@1 { 531 - lvds0_out: endpoint { 532 - remote-endpoint = <&thc63lvd1024_in>; 533 - }; 534 - }; 535 - }; 536 - }; 537 - 538 - &lvds1 { 539 - /* 540 - * Even though the LVDS1 output is not connected, the encoder must be 541 - * enabled to supply a pixel clock to the DU for the DPAD output when 542 - * LVDS0 is in use. 543 - */ 544 - status = "okay"; 545 - 546 - clocks = <&cpg CPG_MOD 727>, 547 - <&x13_clk>, 548 - <&extal_clk>; 549 - clock-names = "fck", "dclkin.0", "extal"; 550 - }; 551 - 552 - &ohci0 { 553 - dr_mode = "otg"; 554 - status = "okay"; 555 - }; 556 - 557 - &pcie_bus_clk { 558 - clock-frequency = <100000000>; 559 - }; 560 - 561 - &pciec0 { 562 - status = "okay"; 563 - }; 564 - 565 - &pfc { 566 - avb_pins: avb { 567 - groups = "avb_link", "avb_mii"; 568 - function = "avb"; 569 - }; 570 - 571 - canfd0_pins: canfd0 { 572 - groups = "canfd0_data"; 573 - function = "canfd0"; 574 - }; 575 - 576 - du_pins: du { 577 - groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 578 - function = "du"; 579 - }; 580 - 581 - irq0_pins: irq0 { 582 - groups = "intc_ex_irq0"; 583 - function = "intc_ex"; 584 - }; 585 - 586 - keys_pins: keys { 587 - pins = "GP_5_10", "GP_5_11", "GP_5_12", "GP_5_13"; 588 - bias-pull-up; 589 - }; 590 - 591 - pwm3_pins: pwm3 { 592 - groups = "pwm3_b"; 593 - function = "pwm3"; 594 - }; 595 - 596 - pwm5_pins: pwm5 { 597 - groups = "pwm5_a"; 598 - function = "pwm5"; 599 - }; 600 - 601 - scif2_pins: scif2 { 602 - groups = "scif2_data_a"; 603 - function = "scif2"; 604 - }; 605 - 606 - sdhi0_pins: sd0 { 607 - groups = "sdhi0_data4", "sdhi0_ctrl"; 608 - function = "sdhi0"; 609 - power-source = <3300>; 610 - }; 611 - 612 - sdhi0_pins_uhs: sd0_uhs { 613 - groups = "sdhi0_data4", "sdhi0_ctrl"; 614 - function = "sdhi0"; 615 - power-source = <1800>; 616 - }; 617 - 618 - sdhi1_pins: sd1 { 619 - groups = "sdhi1_data4", "sdhi1_ctrl"; 620 - function = "sdhi1"; 621 - power-source = <3300>; 622 - }; 623 - 624 - sdhi1_pins_uhs: sd1_uhs { 625 - groups = "sdhi1_data4", "sdhi1_ctrl"; 626 - function = "sdhi1"; 627 - power-source = <1800>; 628 - }; 629 - 630 - sdhi3_pins: sd3 { 631 - groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; 632 - function = "sdhi3"; 633 - power-source = <1800>; 634 - }; 635 - 636 - sound_clk_pins: sound_clk { 637 - groups = "audio_clk_a", "audio_clk_b_a", "audio_clk_c_a", 638 - "audio_clkout_a", "audio_clkout1_a"; 639 - function = "audio_clk"; 640 - }; 641 - 642 - sound_pins: sound { 643 - groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data"; 644 - function = "ssi"; 645 - }; 646 - 647 - usb0_pins: usb { 648 - groups = "usb0_b", "usb0_id"; 649 - function = "usb0"; 650 - }; 651 - 652 - usb30_pins: usb30 { 653 - groups = "usb30"; 654 - function = "usb30"; 655 - }; 656 - }; 657 - 658 - &pwm3 { 659 - pinctrl-0 = <&pwm3_pins>; 660 - pinctrl-names = "default"; 661 - 662 - status = "okay"; 663 - }; 664 - 665 - &pwm5 { 666 - pinctrl-0 = <&pwm5_pins>; 667 - pinctrl-names = "default"; 668 - 669 - status = "okay"; 670 - }; 671 - 672 - &rcar_sound { 673 - pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 674 - pinctrl-names = "default"; 675 - 676 - /* Single DAI */ 677 - #sound-dai-cells = <0>; 678 - 679 - /* audio_clkout0/1/2/3 */ 680 - #clock-cells = <1>; 681 - clock-frequency = <12288000 11289600>; 682 - 683 - status = "okay"; 684 - 685 - /* update <audio_clk_b> to <cs2000> */ 686 - clocks = <&cpg CPG_MOD 1005>, 687 - <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 688 - <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 689 - <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 690 - <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 691 - <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 692 - <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 693 - <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 694 - <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 695 - <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 696 - <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 697 - <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 698 - <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 699 - <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 700 - <&audio_clk_a>, <&cs2000>, <&audio_clk_c>, 701 - <&cpg CPG_CORE R8A77990_CLK_ZA2>; 702 - 703 - rcar_sound,dai { 704 - dai0 { 705 - playback = <&ssi0>, <&src0>, <&dvc0>; 706 - capture = <&ssi1>, <&src1>, <&dvc1>; 707 - }; 708 - }; 709 - 710 - }; 711 - 712 - &rwdt { 713 - timeout-sec = <60>; 714 - status = "okay"; 715 - }; 716 - 717 - &scif2 { 718 - pinctrl-0 = <&scif2_pins>; 719 - pinctrl-names = "default"; 720 - 721 - status = "okay"; 722 - }; 723 - 724 - &sdhi0 { 725 - pinctrl-0 = <&sdhi0_pins>; 726 - pinctrl-1 = <&sdhi0_pins_uhs>; 727 - pinctrl-names = "default", "state_uhs"; 728 - 729 - vmmc-supply = <&vcc_sdhi0>; 730 - vqmmc-supply = <&vccq_sdhi0>; 731 - cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 732 - wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 733 - bus-width = <4>; 734 - sd-uhs-sdr50; 735 - sd-uhs-sdr104; 736 - status = "okay"; 737 - }; 738 - 739 - &sdhi1 { 740 - pinctrl-0 = <&sdhi1_pins>; 741 - pinctrl-1 = <&sdhi1_pins_uhs>; 742 - pinctrl-names = "default", "state_uhs"; 743 - 744 - vmmc-supply = <&vcc_sdhi1>; 745 - vqmmc-supply = <&vccq_sdhi1>; 746 - cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>; 747 - bus-width = <4>; 748 - sd-uhs-sdr50; 749 - sd-uhs-sdr104; 750 - status = "okay"; 751 - }; 752 - 753 - &sdhi3 { 754 - /* used for on-board 8bit eMMC */ 755 - pinctrl-0 = <&sdhi3_pins>; 756 - pinctrl-1 = <&sdhi3_pins>; 757 - pinctrl-names = "default", "state_uhs"; 758 - 759 - vmmc-supply = <&reg_3p3v>; 760 - vqmmc-supply = <&reg_1p8v>; 761 - mmc-hs200-1_8v; 762 - mmc-hs400-1_8v; 763 - bus-width = <8>; 764 - no-sd; 765 - no-sdio; 766 - non-removable; 767 - full-pwr-cycle-in-suspend; 768 - status = "okay"; 769 - }; 770 - 771 - &ssi1 { 772 - shared-pin; 773 - }; 774 - 775 - &usb2_phy0 { 776 - pinctrl-0 = <&usb0_pins>; 777 - pinctrl-names = "default"; 778 - 779 - vbus-supply = <&vbus0_usb2>; 780 - status = "okay"; 781 - }; 782 - 783 - &usb3_peri0 { 784 - companion = <&xhci0>; 785 - status = "okay"; 786 - }; 787 - 788 - &vin4 { 789 - status = "okay"; 790 - }; 791 - 792 - &vin5 { 793 - status = "okay"; 794 - }; 795 - 796 - &xhci0 { 797 - pinctrl-0 = <&usb30_pins>; 798 - pinctrl-names = "default"; 799 - 800 - status = "okay"; 801 15 };
+1 -670
arch/arm64/boot/dts/renesas/r8a77995-draak.dts
··· 8 8 9 9 /dts-v1/; 10 10 #include "r8a77995.dtsi" 11 - #include <dt-bindings/gpio/gpio.h> 12 - #include <dt-bindings/input/input.h> 11 + #include "draak.dtsi" 13 12 14 13 / { 15 14 model = "Renesas Draak board based on r8a77995"; 16 15 compatible = "renesas,draak", "renesas,r8a77995"; 17 - 18 - aliases { 19 - serial0 = &scif2; 20 - ethernet0 = &avb; 21 - }; 22 - 23 - audio_clkout: audio-clkout { 24 - /* 25 - * This is same as <&rcar_sound 0> 26 - * but needed to avoid cs2000/rcar_sound probe dead-lock 27 - */ 28 - compatible = "fixed-clock"; 29 - #clock-cells = <0>; 30 - clock-frequency = <12288000>; 31 - }; 32 - 33 - backlight: backlight { 34 - compatible = "pwm-backlight"; 35 - pwms = <&pwm1 0 50000>; 36 - 37 - brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 38 - default-brightness-level = <10>; 39 - 40 - power-supply = <&reg_12p0v>; 41 - enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>; 42 - }; 43 - 44 - chosen { 45 - bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 46 - stdout-path = "serial0:115200n8"; 47 - }; 48 - 49 - composite-in { 50 - compatible = "composite-video-connector"; 51 - 52 - port { 53 - composite_con_in: endpoint { 54 - remote-endpoint = <&adv7180_in>; 55 - }; 56 - }; 57 - }; 58 - 59 - hdmi-in { 60 - compatible = "hdmi-connector"; 61 - type = "a"; 62 - 63 - port { 64 - hdmi_con_in: endpoint { 65 - remote-endpoint = <&adv7612_in>; 66 - }; 67 - }; 68 - }; 69 - 70 - hdmi-out { 71 - compatible = "hdmi-connector"; 72 - type = "a"; 73 - 74 - port { 75 - hdmi_con_out: endpoint { 76 - remote-endpoint = <&adv7511_out>; 77 - }; 78 - }; 79 - }; 80 - 81 - keys { 82 - compatible = "gpio-keys"; 83 - 84 - pinctrl-0 = <&keys_pins>; 85 - pinctrl-names = "default"; 86 - 87 - key-1 { 88 - gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; 89 - linux,code = <KEY_1>; 90 - label = "SW56-1"; 91 - wakeup-source; 92 - debounce-interval = <20>; 93 - }; 94 - key-2 { 95 - gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 96 - linux,code = <KEY_2>; 97 - label = "SW56-2"; 98 - wakeup-source; 99 - debounce-interval = <20>; 100 - }; 101 - key-3 { 102 - gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; 103 - linux,code = <KEY_3>; 104 - label = "SW56-3"; 105 - wakeup-source; 106 - debounce-interval = <20>; 107 - }; 108 - key-4 { 109 - gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 110 - linux,code = <KEY_4>; 111 - label = "SW56-4"; 112 - wakeup-source; 113 - debounce-interval = <20>; 114 - }; 115 - }; 116 - 117 - lvds-decoder { 118 - compatible = "thine,thc63lvd1024"; 119 - vcc-supply = <&reg_3p3v>; 120 - 121 - ports { 122 - #address-cells = <1>; 123 - #size-cells = <0>; 124 - 125 - port@0 { 126 - reg = <0>; 127 - thc63lvd1024_in: endpoint { 128 - remote-endpoint = <&lvds0_out>; 129 - }; 130 - }; 131 - 132 - port@2 { 133 - reg = <2>; 134 - thc63lvd1024_out: endpoint { 135 - remote-endpoint = <&adv7511_in>; 136 - }; 137 - }; 138 - }; 139 - }; 140 - 141 - memory@48000000 { 142 - device_type = "memory"; 143 - /* first 128MB is reserved for secure area. */ 144 - reg = <0x0 0x48000000 0x0 0x18000000>; 145 - }; 146 - 147 - reg_1p8v: regulator-1p8v { 148 - compatible = "regulator-fixed"; 149 - regulator-name = "fixed-1.8V"; 150 - regulator-min-microvolt = <1800000>; 151 - regulator-max-microvolt = <1800000>; 152 - regulator-boot-on; 153 - regulator-always-on; 154 - }; 155 - 156 - reg_3p3v: regulator-3p3v { 157 - compatible = "regulator-fixed"; 158 - regulator-name = "fixed-3.3V"; 159 - regulator-min-microvolt = <3300000>; 160 - regulator-max-microvolt = <3300000>; 161 - regulator-boot-on; 162 - regulator-always-on; 163 - }; 164 - 165 - reg_12p0v: regulator-12p0v { 166 - compatible = "regulator-fixed"; 167 - regulator-name = "D12.0V"; 168 - regulator-min-microvolt = <12000000>; 169 - regulator-max-microvolt = <12000000>; 170 - regulator-boot-on; 171 - regulator-always-on; 172 - }; 173 - 174 - sound_card: sound { 175 - compatible = "audio-graph-card"; 176 - 177 - dais = <&rsnd_port0 /* ak4613 */ 178 - /* HDMI is not yet supported */ 179 - >; 180 - }; 181 - 182 - vga { 183 - compatible = "vga-connector"; 184 - 185 - port { 186 - vga_in: endpoint { 187 - remote-endpoint = <&adv7123_out>; 188 - }; 189 - }; 190 - }; 191 - 192 - vga-encoder { 193 - compatible = "adi,adv7123"; 194 - 195 - ports { 196 - #address-cells = <1>; 197 - #size-cells = <0>; 198 - 199 - port@0 { 200 - reg = <0>; 201 - adv7123_in: endpoint { 202 - remote-endpoint = <&du_out_rgb>; 203 - }; 204 - }; 205 - port@1 { 206 - reg = <1>; 207 - adv7123_out: endpoint { 208 - remote-endpoint = <&vga_in>; 209 - }; 210 - }; 211 - }; 212 - }; 213 - 214 - x12_clk: x12 { 215 - compatible = "fixed-clock"; 216 - #clock-cells = <0>; 217 - clock-frequency = <74250000>; 218 - }; 219 - 220 - x19_clk: x19 { 221 - compatible = "fixed-clock"; 222 - #clock-cells = <0>; 223 - clock-frequency = <24576000>; 224 - }; 225 - }; 226 - 227 - &audio_clk_b { 228 - /* 229 - * X11 is connected to VI4_FIELD/SCIF_CLK/AUDIO_CLKB, 230 - * and R-Car Sound uses AUDIO_CLKB. 231 - * Note is that schematic indicates VI4_FIELD conection only 232 - * not AUDIO_CLKB at SoC page. 233 - * And this VI4_FIELD/SCIF_CLK/AUDIO_CLKB is connected to SW60. 234 - * SW60 should be 1-2. 235 - */ 236 - 237 - clock-frequency = <22579200>; 238 - }; 239 - 240 - &avb { 241 - pinctrl-0 = <&avb0_pins>; 242 - pinctrl-names = "default"; 243 - renesas,no-ether-link; 244 - phy-handle = <&phy0>; 245 - status = "okay"; 246 - 247 - phy0: ethernet-phy@0 { 248 - rxc-skew-ps = <1500>; 249 - reg = <0>; 250 - interrupt-parent = <&gpio5>; 251 - interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 252 - /* 253 - * TX clock internal delay mode is required for reliable 254 - * 1Gbps communication using the KSZ9031RNX phy present on 255 - * the Draak board, however, TX clock internal delay mode 256 - * isn't supported on r8a77995. Thus, limit speed to 257 - * 100Mbps for reliable communication. 258 - */ 259 - max-speed = <100>; 260 - }; 261 - }; 262 - 263 - &can0 { 264 - pinctrl-0 = <&can0_pins>; 265 - pinctrl-names = "default"; 266 - status = "okay"; 267 - }; 268 - 269 - &can1 { 270 - pinctrl-0 = <&can1_pins>; 271 - pinctrl-names = "default"; 272 - status = "okay"; 273 - }; 274 - 275 - &du { 276 - pinctrl-0 = <&du_pins>; 277 - pinctrl-names = "default"; 278 - status = "okay"; 279 - 280 - clocks = <&cpg CPG_MOD 724>, 281 - <&cpg CPG_MOD 723>, 282 - <&x12_clk>; 283 - clock-names = "du.0", "du.1", "dclkin.0"; 284 - 285 - ports { 286 - port@0 { 287 - endpoint { 288 - remote-endpoint = <&adv7123_in>; 289 - }; 290 - }; 291 - }; 292 - }; 293 - 294 - &ehci0 { 295 - dr_mode = "host"; 296 - status = "okay"; 297 - }; 298 - 299 - &extal_clk { 300 - clock-frequency = <48000000>; 301 - }; 302 - 303 - &hsusb { 304 - dr_mode = "host"; 305 - status = "okay"; 306 - }; 307 - 308 - &i2c0 { 309 - pinctrl-0 = <&i2c0_pins>; 310 - pinctrl-names = "default"; 311 - status = "okay"; 312 - 313 - ak4613: codec@10 { 314 - compatible = "asahi-kasei,ak4613"; 315 - #sound-dai-cells = <0>; 316 - reg = <0x10>; 317 - clocks = <&rcar_sound 0>; /* audio_clkout */ 318 - 319 - asahi-kasei,in1-single-end; 320 - asahi-kasei,in2-single-end; 321 - asahi-kasei,out1-single-end; 322 - asahi-kasei,out2-single-end; 323 - asahi-kasei,out3-single-end; 324 - asahi-kasei,out4-single-end; 325 - asahi-kasei,out5-single-end; 326 - asahi-kasei,out6-single-end; 327 - 328 - port { 329 - ak4613_endpoint: endpoint { 330 - remote-endpoint = <&rsnd_for_ak4613>; 331 - }; 332 - }; 333 - }; 334 - 335 - composite-in@20 { 336 - compatible = "adi,adv7180cp"; 337 - reg = <0x20>; 338 - 339 - ports { 340 - #address-cells = <1>; 341 - #size-cells = <0>; 342 - 343 - port@0 { 344 - reg = <0>; 345 - adv7180_in: endpoint { 346 - remote-endpoint = <&composite_con_in>; 347 - }; 348 - }; 349 - 350 - port@3 { 351 - reg = <3>; 352 - 353 - /* 354 - * The VIN4 video input path is shared between 355 - * CVBS and HDMI inputs through SW[49-53] 356 - * switches. 357 - * 358 - * CVBS is the default selection, link it to 359 - * VIN4 here. 360 - */ 361 - adv7180_out: endpoint { 362 - remote-endpoint = <&vin4_in>; 363 - }; 364 - }; 365 - }; 366 - 367 - }; 368 - 369 - hdmi-encoder@39 { 370 - compatible = "adi,adv7511w"; 371 - reg = <0x39>, <0x3f>, <0x3c>, <0x38>; 372 - reg-names = "main", "edid", "cec", "packet"; 373 - interrupt-parent = <&gpio1>; 374 - interrupts = <28 IRQ_TYPE_LEVEL_LOW>; 375 - 376 - adi,input-depth = <8>; 377 - adi,input-colorspace = "rgb"; 378 - adi,input-clock = "1x"; 379 - 380 - ports { 381 - #address-cells = <1>; 382 - #size-cells = <0>; 383 - 384 - port@0 { 385 - reg = <0>; 386 - adv7511_in: endpoint { 387 - remote-endpoint = <&thc63lvd1024_out>; 388 - }; 389 - }; 390 - 391 - port@1 { 392 - reg = <1>; 393 - adv7511_out: endpoint { 394 - remote-endpoint = <&hdmi_con_out>; 395 - }; 396 - }; 397 - }; 398 - }; 399 - 400 - hdmi-decoder@4c { 401 - compatible = "adi,adv7612"; 402 - reg = <0x4c>; 403 - default-input = <0>; 404 - 405 - ports { 406 - #address-cells = <1>; 407 - #size-cells = <0>; 408 - 409 - port@0 { 410 - reg = <0>; 411 - 412 - adv7612_in: endpoint { 413 - remote-endpoint = <&hdmi_con_in>; 414 - }; 415 - }; 416 - 417 - port@2 { 418 - reg = <2>; 419 - 420 - /* 421 - * The VIN4 video input path is shared between 422 - * CVBS and HDMI inputs through SW[49-53] 423 - * switches. 424 - * 425 - * CVBS is the default selection, leave HDMI 426 - * not connected here. 427 - */ 428 - adv7612_out: endpoint { 429 - pclk-sample = <0>; 430 - hsync-active = <0>; 431 - vsync-active = <0>; 432 - }; 433 - }; 434 - }; 435 - }; 436 - 437 - cs2000: clk-multiplier@4f { 438 - #clock-cells = <0>; 439 - compatible = "cirrus,cs2000-cp"; 440 - reg = <0x4f>; 441 - clocks = <&audio_clkout>, <&x19_clk>; /* audio_clkout_1, x19 */ 442 - clock-names = "clk_in", "ref_clk"; 443 - 444 - assigned-clocks = <&cs2000>; 445 - assigned-clock-rates = <24576000>; /* 1/1 divide */ 446 - }; 447 - 448 - eeprom@50 { 449 - compatible = "rohm,br24t01", "atmel,24c01"; 450 - reg = <0x50>; 451 - pagesize = <8>; 452 - }; 453 - }; 454 - 455 - &i2c1 { 456 - pinctrl-0 = <&i2c1_pins>; 457 - pinctrl-names = "default"; 458 - status = "okay"; 459 - }; 460 - 461 - &lvds0 { 462 - status = "okay"; 463 - 464 - clocks = <&cpg CPG_MOD 727>, 465 - <&x12_clk>, 466 - <&extal_clk>; 467 - clock-names = "fck", "dclkin.0", "extal"; 468 - 469 - ports { 470 - port@1 { 471 - lvds0_out: endpoint { 472 - remote-endpoint = <&thc63lvd1024_in>; 473 - }; 474 - }; 475 - }; 476 - }; 477 - 478 - &lvds1 { 479 - /* 480 - * Even though the LVDS1 output is not connected, the encoder must be 481 - * enabled to supply a pixel clock to the DU for the DPAD output when 482 - * LVDS0 is in use. 483 - */ 484 - status = "okay"; 485 - 486 - clocks = <&cpg CPG_MOD 727>, 487 - <&x12_clk>, 488 - <&extal_clk>; 489 - clock-names = "fck", "dclkin.0", "extal"; 490 - }; 491 - 492 - &ohci0 { 493 - dr_mode = "host"; 494 - status = "okay"; 495 - }; 496 - 497 - &pfc { 498 - avb0_pins: avb { 499 - groups = "avb0_link", "avb0_mdio", "avb0_mii"; 500 - function = "avb0"; 501 - }; 502 - 503 - can0_pins: can0 { 504 - groups = "can0_data_a"; 505 - function = "can0"; 506 - }; 507 - 508 - can1_pins: can1 { 509 - groups = "can1_data_a"; 510 - function = "can1"; 511 - }; 512 - 513 - du_pins: du { 514 - groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 515 - function = "du"; 516 - }; 517 - 518 - i2c0_pins: i2c0 { 519 - groups = "i2c0"; 520 - function = "i2c0"; 521 - }; 522 - 523 - i2c1_pins: i2c1 { 524 - groups = "i2c1"; 525 - function = "i2c1"; 526 - }; 527 - 528 - keys_pins: keys { 529 - pins = "GP_4_12", "GP_4_13", "GP_4_14", "GP_4_15"; 530 - bias-pull-up; 531 - }; 532 - 533 - pwm0_pins: pwm0 { 534 - groups = "pwm0_c"; 535 - function = "pwm0"; 536 - }; 537 - 538 - pwm1_pins: pwm1 { 539 - groups = "pwm1_c"; 540 - function = "pwm1"; 541 - }; 542 - 543 - scif2_pins: scif2 { 544 - groups = "scif2_data"; 545 - function = "scif2"; 546 - }; 547 - 548 - sdhi2_pins: sd2 { 549 - groups = "mmc_data8", "mmc_ctrl"; 550 - function = "mmc"; 551 - power-source = <1800>; 552 - }; 553 - 554 - sdhi2_pins_uhs: sd2_uhs { 555 - groups = "mmc_data8", "mmc_ctrl"; 556 - function = "mmc"; 557 - power-source = <1800>; 558 - }; 559 - 560 - sound_pins: sound { 561 - groups = "ssi34_ctrl", "ssi3_data", "ssi4_data_a"; 562 - function = "ssi"; 563 - }; 564 - 565 - sound_clk_pins: sound-clk { 566 - groups = "audio_clk_a", "audio_clk_b", 567 - "audio_clkout", "audio_clkout1"; 568 - function = "audio_clk"; 569 - }; 570 - 571 - usb0_pins: usb0 { 572 - groups = "usb0"; 573 - function = "usb0"; 574 - }; 575 - 576 - vin4_pins_cvbs: vin4 { 577 - groups = "vin4_data8", "vin4_sync", "vin4_clk"; 578 - function = "vin4"; 579 - }; 580 - }; 581 - 582 - &pwm0 { 583 - pinctrl-0 = <&pwm0_pins>; 584 - pinctrl-names = "default"; 585 - 586 - status = "okay"; 587 - }; 588 - 589 - &pwm1 { 590 - pinctrl-0 = <&pwm1_pins>; 591 - pinctrl-names = "default"; 592 - 593 - status = "okay"; 594 - }; 595 - 596 - &rcar_sound { 597 - pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 598 - pinctrl-names = "default"; 599 - 600 - /* Single DAI */ 601 - #sound-dai-cells = <0>; 602 - 603 - /* audio_clkout0/1 */ 604 - #clock-cells = <1>; 605 - clock-frequency = <12288000 11289600>; 606 - 607 - status = "okay"; 608 - 609 - clocks = <&cpg CPG_MOD 1005>, 610 - <&cpg CPG_MOD 1011>, <&cpg CPG_MOD 1012>, 611 - <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>, 612 - <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 613 - <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 614 - <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 615 - <&cs2000>, <&audio_clk_b>, 616 - <&cpg CPG_CORE R8A77995_CLK_ZA2>; 617 - 618 - ports { 619 - rsnd_port0: port { 620 - rsnd_for_ak4613: endpoint { 621 - remote-endpoint = <&ak4613_endpoint>; 622 - dai-format = "left_j"; 623 - bitclock-master = <&rsnd_for_ak4613>; 624 - frame-master = <&rsnd_for_ak4613>; 625 - playback = <&ssi3>, <&src5>, <&dvc0>; 626 - capture = <&ssi4>, <&src6>, <&dvc1>; 627 - }; 628 - }; 629 - }; 630 - }; 631 - 632 - &rwdt { 633 - timeout-sec = <60>; 634 - status = "okay"; 635 - }; 636 - 637 - &scif2 { 638 - pinctrl-0 = <&scif2_pins>; 639 - pinctrl-names = "default"; 640 - 641 - status = "okay"; 642 - }; 643 - 644 - &sdhi2 { 645 - /* used for on-board eMMC */ 646 - pinctrl-0 = <&sdhi2_pins>; 647 - pinctrl-1 = <&sdhi2_pins_uhs>; 648 - pinctrl-names = "default", "state_uhs"; 649 - 650 - vmmc-supply = <&reg_3p3v>; 651 - vqmmc-supply = <&reg_1p8v>; 652 - bus-width = <8>; 653 - mmc-hs200-1_8v; 654 - no-sd; 655 - no-sdio; 656 - non-removable; 657 - status = "okay"; 658 - }; 659 - 660 - &ssi4 { 661 - shared-pin; 662 - }; 663 - 664 - &usb2_phy0 { 665 - pinctrl-0 = <&usb0_pins>; 666 - pinctrl-names = "default"; 667 - 668 - renesas,no-otg-pins; 669 - status = "okay"; 670 - }; 671 - 672 - &vin4 { 673 - pinctrl-0 = <&vin4_pins_cvbs>; 674 - pinctrl-names = "default"; 675 - 676 - status = "okay"; 677 - 678 - ports { 679 - port { 680 - vin4_in: endpoint { 681 - remote-endpoint = <&adv7180_out>; 682 - }; 683 - }; 684 - }; 685 16 };
+37
arch/arm64/boot/dts/renesas/r8a779a0-falcon-cpu.dtsi
··· 6 6 */ 7 7 8 8 #include <dt-bindings/gpio/gpio.h> 9 + #include <dt-bindings/input/input.h> 9 10 #include <dt-bindings/leds/common.h> 10 11 11 12 #include "r8a779a0.dtsi" ··· 21 20 22 21 chosen { 23 22 stdout-path = "serial0:115200n8"; 23 + }; 24 + 25 + keys { 26 + compatible = "gpio-keys"; 27 + 28 + pinctrl-0 = <&keys_pins>; 29 + pinctrl-names = "default"; 30 + 31 + key-1 { 32 + gpios = <&gpio6 18 GPIO_ACTIVE_LOW>; 33 + linux,code = <KEY_1>; 34 + label = "SW47"; 35 + wakeup-source; 36 + debounce-interval = <20>; 37 + }; 38 + 39 + key-2 { 40 + gpios = <&gpio6 19 GPIO_ACTIVE_LOW>; 41 + linux,code = <KEY_2>; 42 + label = "SW48"; 43 + wakeup-source; 44 + debounce-interval = <20>; 45 + }; 46 + 47 + key-3 { 48 + gpios = <&gpio6 20 GPIO_ACTIVE_LOW>; 49 + linux,code = <KEY_3>; 50 + label = "SW49"; 51 + wakeup-source; 52 + debounce-interval = <20>; 53 + }; 24 54 }; 25 55 26 56 leds { ··· 190 158 i2c6_pins: i2c6 { 191 159 groups = "i2c6"; 192 160 function = "i2c6"; 161 + }; 162 + 163 + keys_pins: keys { 164 + pins = "GP_6_18", "GP_6_19", "GP_6_20"; 165 + bias-pull-up; 193 166 }; 194 167 195 168 mmc_pins: mmc {
+2
arch/arm64/boot/dts/renesas/r8a779a0-falcon.dts
··· 27 27 status = "okay"; 28 28 29 29 phy0: ethernet-phy@0 { 30 + compatible = "ethernet-phy-id0022.1622", 31 + "ethernet-phy-ieee802.3-c22"; 30 32 rxc-skew-ps = <1500>; 31 33 reg = <0>; 32 34 interrupt-parent = <&gpio4>;
+109
arch/arm64/boot/dts/renesas/r8a779a0.dtsi
··· 933 933 status = "disabled"; 934 934 }; 935 935 936 + tpu: pwm@e6e80000 { 937 + compatible = "renesas,tpu-r8a779a0", "renesas,tpu"; 938 + reg = <0 0xe6e80000 0 0x148>; 939 + interrupts = <GIC_SPI 515 IRQ_TYPE_LEVEL_HIGH>; 940 + clocks = <&cpg CPG_MOD 718>; 941 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 942 + resets = <&cpg 718>; 943 + #pwm-cells = <3>; 944 + status = "disabled"; 945 + }; 946 + 936 947 msiof0: spi@e6e90000 { 937 948 compatible = "renesas,msiof-r8a779a0", 938 949 "renesas,rcar-gen3-msiof"; ··· 1101 1090 power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1102 1091 resets = <&cpg 706>; 1103 1092 max-frequency = <200000000>; 1093 + iommus = <&ipmmu_ds0 32>; 1104 1094 status = "disabled"; 1095 + }; 1096 + 1097 + ipmmu_rt0: iommu@ee480000 { 1098 + compatible = "renesas,ipmmu-r8a779a0"; 1099 + reg = <0 0xee480000 0 0x20000>; 1100 + renesas,ipmmu-main = <&ipmmu_mm 10>; 1101 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1102 + #iommu-cells = <1>; 1103 + }; 1104 + 1105 + ipmmu_rt1: iommu@ee4c0000 { 1106 + compatible = "renesas,ipmmu-r8a779a0"; 1107 + reg = <0 0xee4c0000 0 0x20000>; 1108 + renesas,ipmmu-main = <&ipmmu_mm 19>; 1109 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1110 + #iommu-cells = <1>; 1111 + }; 1112 + 1113 + ipmmu_ds0: iommu@eed00000 { 1114 + compatible = "renesas,ipmmu-r8a779a0"; 1115 + reg = <0 0xeed00000 0 0x20000>; 1116 + renesas,ipmmu-main = <&ipmmu_mm 0>; 1117 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1118 + #iommu-cells = <1>; 1119 + }; 1120 + 1121 + ipmmu_ds1: iommu@eed40000 { 1122 + compatible = "renesas,ipmmu-r8a779a0"; 1123 + reg = <0 0xeed40000 0 0x20000>; 1124 + renesas,ipmmu-main = <&ipmmu_mm 1>; 1125 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1126 + #iommu-cells = <1>; 1127 + }; 1128 + 1129 + ipmmu_ir: iommu@eed80000 { 1130 + compatible = "renesas,ipmmu-r8a779a0"; 1131 + reg = <0 0xeed80000 0 0x20000>; 1132 + renesas,ipmmu-main = <&ipmmu_mm 3>; 1133 + power-domains = <&sysc R8A779A0_PD_A3IR>; 1134 + #iommu-cells = <1>; 1135 + }; 1136 + 1137 + ipmmu_vc0: iommu@eedc0000 { 1138 + compatible = "renesas,ipmmu-r8a779a0"; 1139 + reg = <0 0xeedc0000 0 0x20000>; 1140 + renesas,ipmmu-main = <&ipmmu_mm 12>; 1141 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1142 + #iommu-cells = <1>; 1143 + }; 1144 + 1145 + ipmmu_vi0: iommu@eee80000 { 1146 + compatible = "renesas,ipmmu-r8a779a0"; 1147 + reg = <0 0xeee80000 0 0x20000>; 1148 + renesas,ipmmu-main = <&ipmmu_mm 14>; 1149 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1150 + #iommu-cells = <1>; 1151 + }; 1152 + 1153 + ipmmu_vi1: iommu@eeec0000 { 1154 + compatible = "renesas,ipmmu-r8a779a0"; 1155 + reg = <0 0xeeec0000 0 0x20000>; 1156 + renesas,ipmmu-main = <&ipmmu_mm 15>; 1157 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1158 + #iommu-cells = <1>; 1159 + }; 1160 + 1161 + ipmmu_3dg: iommu@eee00000 { 1162 + compatible = "renesas,ipmmu-r8a779a0"; 1163 + reg = <0 0xeee00000 0 0x20000>; 1164 + renesas,ipmmu-main = <&ipmmu_mm 6>; 1165 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1166 + #iommu-cells = <1>; 1167 + }; 1168 + 1169 + ipmmu_vip0: iommu@eef00000 { 1170 + compatible = "renesas,ipmmu-r8a779a0"; 1171 + reg = <0 0xeef00000 0 0x20000>; 1172 + renesas,ipmmu-main = <&ipmmu_mm 5>; 1173 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1174 + #iommu-cells = <1>; 1175 + }; 1176 + 1177 + ipmmu_vip1: iommu@eef40000 { 1178 + compatible = "renesas,ipmmu-r8a779a0"; 1179 + reg = <0 0xeef40000 0 0x20000>; 1180 + renesas,ipmmu-main = <&ipmmu_mm 11>; 1181 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1182 + #iommu-cells = <1>; 1183 + }; 1184 + 1185 + ipmmu_mm: iommu@eefc0000 { 1186 + compatible = "renesas,ipmmu-r8a779a0"; 1187 + reg = <0 0xeefc0000 0 0x20000>; 1188 + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 1189 + <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 1190 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 1191 + #iommu-cells = <1>; 1105 1192 }; 1106 1193 1107 1194 gic: interrupt-controller@f1000000 {
+12
arch/arm64/boot/dts/renesas/r8a779m0.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car H3e (R8A779M0) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77951.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m0", "renesas,r8a7795"; 12 + };
+12
arch/arm64/boot/dts/renesas/r8a779m2.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car M3e (R8A779M2) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77961.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m2", "renesas,r8a77961"; 12 + };
+12
arch/arm64/boot/dts/renesas/r8a779m4.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car M3Ne (R8A779M4) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77965.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m4", "renesas,r8a77965"; 12 + };
+36
arch/arm64/boot/dts/renesas/r8a779m5-salvator-xs.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the Salvator-X 2nd version board with R-Car M3Ne-2G 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + * 7 + * Based on r8a77965-salvator-xs.dts 8 + * Copyright (C) 2017 Renesas Electronics Corp. 9 + */ 10 + 11 + /dts-v1/; 12 + #include "r8a779m5.dtsi" 13 + #include "salvator-xs.dtsi" 14 + 15 + / { 16 + model = "Renesas Salvator-X 2nd version board based on r8a779m5"; 17 + compatible = "renesas,salvator-xs", "renesas,r8a779m5", 18 + "renesas,r8a77965"; 19 + 20 + memory@48000000 { 21 + device_type = "memory"; 22 + /* first 128MB is reserved for secure area. */ 23 + reg = <0x0 0x48000000 0x0 0x78000000>; 24 + }; 25 + }; 26 + 27 + &du { 28 + clocks = <&cpg CPG_MOD 724>, 29 + <&cpg CPG_MOD 723>, 30 + <&cpg CPG_MOD 721>, 31 + <&versaclock6 1>, 32 + <&x21_clk>, 33 + <&versaclock6 2>; 34 + clock-names = "du.0", "du.1", "du.3", 35 + "dclkin.0", "dclkin.1", "dclkin.3"; 36 + };
+12
arch/arm64/boot/dts/renesas/r8a779m5.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car M3Ne-2G (R8A779M5) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77965.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m5", "renesas,r8a77965"; 12 + };
+12
arch/arm64/boot/dts/renesas/r8a779m6.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car E3e (R8A779M6) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77990.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m6", "renesas,r8a77990"; 12 + };
+12
arch/arm64/boot/dts/renesas/r8a779m7.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car D3e (R8A779M7) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77995.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m7", "renesas,r8a77995"; 12 + };
+12
arch/arm64/boot/dts/renesas/r8a779m8.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car H3Ne (R8A779M8) SoC 4 + * 5 + * Copyright (C) 2021 Glider bv 6 + */ 7 + 8 + #include "r8a77951.dtsi" 9 + 10 + / { 11 + compatible = "renesas,r8a779m8", "renesas,r8a7795"; 12 + };
+248
arch/arm64/boot/dts/renesas/r9a07g044.dtsi
··· 13 13 #address-cells = <2>; 14 14 #size-cells = <2>; 15 15 16 + audio_clk1: audio_clk1 { 17 + compatible = "fixed-clock"; 18 + #clock-cells = <0>; 19 + /* This value must be overridden by boards that provide it */ 20 + clock-frequency = <0>; 21 + }; 22 + 23 + audio_clk2: audio_clk2 { 24 + compatible = "fixed-clock"; 25 + #clock-cells = <0>; 26 + /* This value must be overridden by boards that provide it */ 27 + clock-frequency = <0>; 28 + }; 29 + 16 30 /* External CAN clock - to be overridden by boards that provide it */ 17 31 can_clk: can { 18 32 compatible = "fixed-clock"; ··· 91 77 #address-cells = <2>; 92 78 #size-cells = <2>; 93 79 ranges; 80 + 81 + ssi0: ssi@10049c00 { 82 + compatible = "renesas,r9a07g044-ssi", 83 + "renesas,rz-ssi"; 84 + reg = <0 0x10049c00 0 0x400>; 85 + interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, 86 + <GIC_SPI 327 IRQ_TYPE_EDGE_RISING>, 87 + <GIC_SPI 328 IRQ_TYPE_EDGE_RISING>, 88 + <GIC_SPI 329 IRQ_TYPE_EDGE_RISING>; 89 + interrupt-names = "int_req", "dma_rx", "dma_tx", "dma_rt"; 90 + clocks = <&cpg CPG_MOD R9A07G044_SSI0_PCLK2>, 91 + <&cpg CPG_MOD R9A07G044_SSI0_PCLK_SFR>, 92 + <&audio_clk1>, <&audio_clk2>; 93 + clock-names = "ssi", "ssi_sfr", "audio_clk1", "audio_clk2"; 94 + resets = <&cpg R9A07G044_SSI0_RST_M2_REG>; 95 + dmas = <&dmac 0x2655>, <&dmac 0x2656>; 96 + dma-names = "tx", "rx"; 97 + power-domains = <&cpg>; 98 + #sound-dai-cells = <0>; 99 + status = "disabled"; 100 + }; 101 + 102 + ssi1: ssi@1004a000 { 103 + compatible = "renesas,r9a07g044-ssi", 104 + "renesas,rz-ssi"; 105 + reg = <0 0x1004a000 0 0x400>; 106 + interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, 107 + <GIC_SPI 331 IRQ_TYPE_EDGE_RISING>, 108 + <GIC_SPI 332 IRQ_TYPE_EDGE_RISING>, 109 + <GIC_SPI 333 IRQ_TYPE_EDGE_RISING>; 110 + interrupt-names = "int_req", "dma_rx", "dma_tx", "dma_rt"; 111 + clocks = <&cpg CPG_MOD R9A07G044_SSI1_PCLK2>, 112 + <&cpg CPG_MOD R9A07G044_SSI1_PCLK_SFR>, 113 + <&audio_clk1>, <&audio_clk2>; 114 + clock-names = "ssi", "ssi_sfr", "audio_clk1", "audio_clk2"; 115 + resets = <&cpg R9A07G044_SSI1_RST_M2_REG>; 116 + dmas = <&dmac 0x2659>, <&dmac 0x265a>; 117 + dma-names = "tx", "rx"; 118 + power-domains = <&cpg>; 119 + #sound-dai-cells = <0>; 120 + status = "disabled"; 121 + }; 122 + 123 + ssi2: ssi@1004a400 { 124 + compatible = "renesas,r9a07g044-ssi", 125 + "renesas,rz-ssi"; 126 + reg = <0 0x1004a400 0 0x400>; 127 + interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, 128 + <GIC_SPI 335 IRQ_TYPE_EDGE_RISING>, 129 + <GIC_SPI 336 IRQ_TYPE_EDGE_RISING>, 130 + <GIC_SPI 337 IRQ_TYPE_EDGE_RISING>; 131 + interrupt-names = "int_req", "dma_rx", "dma_tx", "dma_rt"; 132 + clocks = <&cpg CPG_MOD R9A07G044_SSI2_PCLK2>, 133 + <&cpg CPG_MOD R9A07G044_SSI2_PCLK_SFR>, 134 + <&audio_clk1>, <&audio_clk2>; 135 + clock-names = "ssi", "ssi_sfr", "audio_clk1", "audio_clk2"; 136 + resets = <&cpg R9A07G044_SSI2_RST_M2_REG>; 137 + dmas = <&dmac 0x265f>; 138 + dma-names = "rt"; 139 + power-domains = <&cpg>; 140 + #sound-dai-cells = <0>; 141 + status = "disabled"; 142 + }; 143 + 144 + ssi3: ssi@1004a800 { 145 + compatible = "renesas,r9a07g044-ssi", 146 + "renesas,rz-ssi"; 147 + reg = <0 0x1004a800 0 0x400>; 148 + interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 149 + <GIC_SPI 339 IRQ_TYPE_EDGE_RISING>, 150 + <GIC_SPI 340 IRQ_TYPE_EDGE_RISING>, 151 + <GIC_SPI 341 IRQ_TYPE_EDGE_RISING>; 152 + interrupt-names = "int_req", "dma_rx", "dma_tx", "dma_rt"; 153 + clocks = <&cpg CPG_MOD R9A07G044_SSI3_PCLK2>, 154 + <&cpg CPG_MOD R9A07G044_SSI3_PCLK_SFR>, 155 + <&audio_clk1>, <&audio_clk2>; 156 + clock-names = "ssi", "ssi_sfr", "audio_clk1", "audio_clk2"; 157 + resets = <&cpg R9A07G044_SSI3_RST_M2_REG>; 158 + dmas = <&dmac 0x2661>, <&dmac 0x2662>; 159 + dma-names = "tx", "rx"; 160 + power-domains = <&cpg>; 161 + #sound-dai-cells = <0>; 162 + status = "disabled"; 163 + }; 94 164 95 165 scif0: serial@1004b800 { 96 166 compatible = "renesas,scif-r9a07g044"; ··· 393 295 <&cpg R9A07G044_GPIO_SPARE_RESETN>; 394 296 }; 395 297 298 + dmac: dma-controller@11820000 { 299 + compatible = "renesas,r9a07g044-dmac", 300 + "renesas,rz-dmac"; 301 + reg = <0 0x11820000 0 0x10000>, 302 + <0 0x11830000 0 0x10000>; 303 + interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>, 304 + <GIC_SPI 125 IRQ_TYPE_EDGE_RISING>, 305 + <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>, 306 + <GIC_SPI 127 IRQ_TYPE_EDGE_RISING>, 307 + <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>, 308 + <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>, 309 + <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>, 310 + <GIC_SPI 131 IRQ_TYPE_EDGE_RISING>, 311 + <GIC_SPI 132 IRQ_TYPE_EDGE_RISING>, 312 + <GIC_SPI 133 IRQ_TYPE_EDGE_RISING>, 313 + <GIC_SPI 134 IRQ_TYPE_EDGE_RISING>, 314 + <GIC_SPI 135 IRQ_TYPE_EDGE_RISING>, 315 + <GIC_SPI 136 IRQ_TYPE_EDGE_RISING>, 316 + <GIC_SPI 137 IRQ_TYPE_EDGE_RISING>, 317 + <GIC_SPI 138 IRQ_TYPE_EDGE_RISING>, 318 + <GIC_SPI 139 IRQ_TYPE_EDGE_RISING>, 319 + <GIC_SPI 140 IRQ_TYPE_EDGE_RISING>; 320 + interrupt-names = "error", 321 + "ch0", "ch1", "ch2", "ch3", 322 + "ch4", "ch5", "ch6", "ch7", 323 + "ch8", "ch9", "ch10", "ch11", 324 + "ch12", "ch13", "ch14", "ch15"; 325 + clocks = <&cpg CPG_MOD R9A07G044_DMAC_ACLK>, 326 + <&cpg CPG_MOD R9A07G044_DMAC_PCLK>; 327 + power-domains = <&cpg>; 328 + resets = <&cpg R9A07G044_DMAC_ARESETN>, 329 + <&cpg R9A07G044_DMAC_RST_ASYNC>; 330 + #dma-cells = <1>; 331 + dma-channels = <16>; 332 + }; 333 + 396 334 gic: interrupt-controller@11900000 { 397 335 compatible = "arm,gic-v3"; 398 336 #interrupt-cells = <3>; ··· 437 303 reg = <0x0 0x11900000 0 0x40000>, 438 304 <0x0 0x11940000 0 0x60000>; 439 305 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>; 306 + }; 307 + 308 + phyrst: usbphy-ctrl@11c40000 { 309 + compatible = "renesas,r9a07g044-usbphy-ctrl", 310 + "renesas,rzg2l-usbphy-ctrl"; 311 + reg = <0 0x11c40000 0 0x10000>; 312 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>; 313 + resets = <&cpg R9A07G044_USB_PRESETN>; 314 + power-domains = <&cpg>; 315 + #reset-cells = <1>; 316 + status = "disabled"; 317 + }; 318 + 319 + ohci0: usb@11c50000 { 320 + compatible = "generic-ohci"; 321 + reg = <0 0x11c50000 0 0x100>; 322 + interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 323 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 324 + <&cpg CPG_MOD R9A07G044_USB_U2H0_HCLK>; 325 + resets = <&phyrst 0>, 326 + <&cpg R9A07G044_USB_U2H0_HRESETN>; 327 + phys = <&usb2_phy0 1>; 328 + phy-names = "usb"; 329 + power-domains = <&cpg>; 330 + status = "disabled"; 331 + }; 332 + 333 + ohci1: usb@11c70000 { 334 + compatible = "generic-ohci"; 335 + reg = <0 0x11c70000 0 0x100>; 336 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 337 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 338 + <&cpg CPG_MOD R9A07G044_USB_U2H1_HCLK>; 339 + resets = <&phyrst 1>, 340 + <&cpg R9A07G044_USB_U2H1_HRESETN>; 341 + phys = <&usb2_phy1 1>; 342 + phy-names = "usb"; 343 + power-domains = <&cpg>; 344 + status = "disabled"; 345 + }; 346 + 347 + ehci0: usb@11c50100 { 348 + compatible = "generic-ehci"; 349 + reg = <0 0x11c50100 0 0x100>; 350 + interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 351 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 352 + <&cpg CPG_MOD R9A07G044_USB_U2H0_HCLK>; 353 + resets = <&phyrst 0>, 354 + <&cpg R9A07G044_USB_U2H0_HRESETN>; 355 + phys = <&usb2_phy0 2>; 356 + phy-names = "usb"; 357 + companion = <&ohci0>; 358 + power-domains = <&cpg>; 359 + status = "disabled"; 360 + }; 361 + 362 + ehci1: usb@11c70100 { 363 + compatible = "generic-ehci"; 364 + reg = <0 0x11c70100 0 0x100>; 365 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 366 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 367 + <&cpg CPG_MOD R9A07G044_USB_U2H1_HCLK>; 368 + resets = <&phyrst 1>, 369 + <&cpg R9A07G044_USB_U2H1_HRESETN>; 370 + phys = <&usb2_phy1 2>; 371 + phy-names = "usb"; 372 + companion = <&ohci1>; 373 + power-domains = <&cpg>; 374 + status = "disabled"; 375 + }; 376 + 377 + usb2_phy0: usb-phy@11c50200 { 378 + compatible = "renesas,usb2-phy-r9a07g044", 379 + "renesas,rzg2l-usb2-phy"; 380 + reg = <0 0x11c50200 0 0x700>; 381 + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 382 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 383 + <&cpg CPG_MOD R9A07G044_USB_U2H0_HCLK>; 384 + resets = <&phyrst 0>; 385 + #phy-cells = <1>; 386 + power-domains = <&cpg>; 387 + status = "disabled"; 388 + }; 389 + 390 + usb2_phy1: usb-phy@11c70200 { 391 + compatible = "renesas,usb2-phy-r9a07g044", 392 + "renesas,rzg2l-usb2-phy"; 393 + reg = <0 0x11c70200 0 0x700>; 394 + interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 395 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 396 + <&cpg CPG_MOD R9A07G044_USB_U2H1_HCLK>; 397 + resets = <&phyrst 1>; 398 + #phy-cells = <1>; 399 + power-domains = <&cpg>; 400 + status = "disabled"; 401 + }; 402 + 403 + hsusb: usb@11c60000 { 404 + compatible = "renesas,usbhs-r9a07g044", 405 + "renesas,rza2-usbhs"; 406 + reg = <0 0x11c60000 0 0x10000>; 407 + interrupts = <GIC_SPI 100 IRQ_TYPE_EDGE_RISING>, 408 + <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 409 + <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 410 + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 411 + clocks = <&cpg CPG_MOD R9A07G044_USB_PCLK>, 412 + <&cpg CPG_MOD R9A07G044_USB_U2P_EXR_CPUCLK>; 413 + resets = <&phyrst 0>, 414 + <&cpg R9A07G044_USB_U2P_EXL_SYSRST>; 415 + renesas,buswait = <7>; 416 + phys = <&usb2_phy0 3>; 417 + phy-names = "usb"; 418 + power-domains = <&cpg>; 419 + status = "disabled"; 440 420 }; 441 421 }; 442 422
+1 -6
arch/arm64/boot/dts/renesas/r9a07g044l2-smarc.dts
··· 7 7 8 8 /dts-v1/; 9 9 #include "r9a07g044l2.dtsi" 10 + #include "rzg2l-smarc-som.dtsi" 10 11 #include "rzg2l-smarc.dtsi" 11 12 12 13 / { 13 14 model = "Renesas SMARC EVK based on r9a07g044l2"; 14 15 compatible = "renesas,smarc-evk", "renesas,r9a07g044l2", "renesas,r9a07g044"; 15 - 16 - memory@48000000 { 17 - device_type = "memory"; 18 - /* first 128MB is reserved for secure area. */ 19 - reg = <0x0 0x48000000 0x0 0x78000000>; 20 - }; 21 16 };
+35
arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + /* 3 + * Device Tree Source for the RZ/G2L SMARC SOM common parts 4 + * 5 + * Copyright (C) 2021 Renesas Electronics Corp. 6 + */ 7 + 8 + #include <dt-bindings/pinctrl/rzg2l-pinctrl.h> 9 + 10 + / { 11 + memory@48000000 { 12 + device_type = "memory"; 13 + /* first 128MB is reserved for secure area. */ 14 + reg = <0x0 0x48000000 0x0 0x78000000>; 15 + }; 16 + }; 17 + 18 + &adc { 19 + pinctrl-0 = <&adc_pins>; 20 + pinctrl-names = "default"; 21 + status = "okay"; 22 + 23 + /delete-node/ channel@6; 24 + /delete-node/ channel@7; 25 + }; 26 + 27 + &extal_clk { 28 + clock-frequency = <24000000>; 29 + }; 30 + 31 + &pinctrl { 32 + adc_pins: adc { 33 + pinmux = <RZG2L_PORT_PINMUX(9, 0, 2)>; /* ADC_TRG */ 34 + }; 35 + };
+227 -2
arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
··· 6 6 */ 7 7 8 8 #include <dt-bindings/gpio/gpio.h> 9 + #include <dt-bindings/pinctrl/rzg2l-pinctrl.h> 10 + 11 + /* 12 + * SSI-WM8978 13 + * 14 + * This command is required when Playback/Capture 15 + * 16 + * amixer cset name='Left Input Mixer L2 Switch' on 17 + * amixer cset name='Right Input Mixer R2 Switch' on 18 + * amixer cset name='Headphone Playback Volume' 100 19 + * amixer cset name='PCM Volume' 100% 20 + * amixer cset name='Input PGA Volume' 25 21 + * 22 + */ 9 23 10 24 / { 11 25 aliases { 12 26 serial0 = &scif0; 27 + i2c0 = &i2c0; 28 + i2c1 = &i2c1; 29 + i2c3 = &i2c3; 13 30 }; 14 31 15 32 chosen { 16 33 bootargs = "ignore_loglevel"; 17 34 stdout-path = "serial0:115200n8"; 18 35 }; 36 + 37 + audio_mclock: audio_mclock { 38 + compatible = "fixed-clock"; 39 + #clock-cells = <0>; 40 + clock-frequency = <11289600>; 41 + }; 42 + 43 + snd_rzg2l: sound { 44 + compatible = "simple-audio-card"; 45 + simple-audio-card,format = "i2s"; 46 + simple-audio-card,bitclock-master = <&cpu_dai>; 47 + simple-audio-card,frame-master = <&cpu_dai>; 48 + simple-audio-card,mclk-fs = <256>; 49 + 50 + simple-audio-card,widgets = "Microphone", "Microphone Jack"; 51 + simple-audio-card,routing = 52 + "L2", "Mic Bias", 53 + "R2", "Mic Bias", 54 + "Mic Bias", "Microphone Jack"; 55 + 56 + cpu_dai: simple-audio-card,cpu { 57 + sound-dai = <&ssi0>; 58 + }; 59 + 60 + codec_dai: simple-audio-card,codec { 61 + clocks = <&audio_mclock>; 62 + sound-dai = <&wm8978>; 63 + }; 64 + }; 65 + 66 + usb0_vbus_otg: regulator-usb0-vbus-otg { 67 + compatible = "regulator-fixed"; 68 + 69 + regulator-name = "USB0_VBUS_OTG"; 70 + regulator-min-microvolt = <5000000>; 71 + regulator-max-microvolt = <5000000>; 72 + }; 19 73 }; 20 74 21 - &extal_clk { 22 - clock-frequency = <24000000>; 75 + &audio_clk1{ 76 + clock-frequency = <11289600>; 77 + }; 78 + 79 + &audio_clk2{ 80 + clock-frequency = <12288000>; 81 + }; 82 + 83 + &canfd { 84 + pinctrl-0 = <&can0_pins &can1_pins>; 85 + pinctrl-names = "default"; 86 + status = "okay"; 87 + 88 + channel0 { 89 + status = "okay"; 90 + }; 91 + 92 + channel1 { 93 + status = "okay"; 94 + }; 95 + }; 96 + 97 + &ehci0 { 98 + dr_mode = "otg"; 99 + status = "okay"; 100 + }; 101 + 102 + &ehci1 { 103 + status = "okay"; 104 + }; 105 + 106 + &hsusb { 107 + dr_mode = "otg"; 108 + status = "okay"; 109 + }; 110 + 111 + &i2c0 { 112 + pinctrl-0 = <&i2c0_pins>; 113 + pinctrl-names = "default"; 114 + 115 + status = "okay"; 116 + }; 117 + 118 + &i2c1 { 119 + pinctrl-0 = <&i2c1_pins>; 120 + pinctrl-names = "default"; 121 + 122 + status = "okay"; 123 + }; 124 + 125 + &i2c3 { 126 + pinctrl-0 = <&i2c3_pins>; 127 + pinctrl-names = "default"; 128 + clock-frequency = <400000>; 129 + 130 + status = "okay"; 131 + 132 + wm8978: codec@1a { 133 + compatible = "wlf,wm8978"; 134 + #sound-dai-cells = <0>; 135 + reg = <0x1a>; 136 + }; 137 + }; 138 + 139 + &ohci0 { 140 + dr_mode = "otg"; 141 + status = "okay"; 142 + }; 143 + 144 + &ohci1 { 145 + status = "okay"; 146 + }; 147 + 148 + &phyrst { 149 + status = "okay"; 150 + }; 151 + 152 + &pinctrl { 153 + pinctrl-0 = <&sound_clk_pins>; 154 + pinctrl-names = "default"; 155 + 156 + can0_pins: can0 { 157 + pinmux = <RZG2L_PORT_PINMUX(10, 1, 2)>, /* TX */ 158 + <RZG2L_PORT_PINMUX(11, 0, 2)>; /* RX */ 159 + }; 160 + 161 + /* SW7 should be at position 2->3 so that GPIO8_CAN0_STB line is activated */ 162 + can0-stb { 163 + gpio-hog; 164 + gpios = <RZG2L_GPIO(42, 2) GPIO_ACTIVE_HIGH>; 165 + output-low; 166 + line-name = "can0_stb"; 167 + }; 168 + 169 + can1_pins: can1 { 170 + pinmux = <RZG2L_PORT_PINMUX(12, 1, 2)>, /* TX */ 171 + <RZG2L_PORT_PINMUX(13, 0, 2)>; /* RX */ 172 + }; 173 + 174 + /* SW8 should be at position 2->3 so that GPIO9_CAN1_STB line is activated */ 175 + can1-stb { 176 + gpio-hog; 177 + gpios = <RZG2L_GPIO(42, 3) GPIO_ACTIVE_HIGH>; 178 + output-low; 179 + line-name = "can1_stb"; 180 + }; 181 + 182 + i2c0_pins: i2c0 { 183 + pins = "RIIC0_SDA", "RIIC0_SCL"; 184 + input-enable; 185 + }; 186 + 187 + i2c1_pins: i2c1 { 188 + pins = "RIIC1_SDA", "RIIC1_SCL"; 189 + input-enable; 190 + }; 191 + 192 + i2c3_pins: i2c3 { 193 + pinmux = <RZG2L_PORT_PINMUX(18, 0, 3)>, /* SDA */ 194 + <RZG2L_PORT_PINMUX(18, 1, 3)>; /* SCL */ 195 + }; 196 + 197 + scif0_pins: scif0 { 198 + pinmux = <RZG2L_PORT_PINMUX(38, 0, 1)>, /* TxD */ 199 + <RZG2L_PORT_PINMUX(38, 1, 1)>; /* RxD */ 200 + }; 201 + 202 + sound_clk_pins: sound_clk { 203 + pins = "AUDIO_CLK1", "AUDIO_CLK2"; 204 + input-enable; 205 + }; 206 + 207 + ssi0_pins: ssi0 { 208 + pinmux = <RZG2L_PORT_PINMUX(45, 0, 1)>, /* BCK */ 209 + <RZG2L_PORT_PINMUX(45, 1, 1)>, /* RCK */ 210 + <RZG2L_PORT_PINMUX(45, 2, 1)>, /* TXD */ 211 + <RZG2L_PORT_PINMUX(45, 3, 1)>; /* RXD */ 212 + }; 213 + 214 + usb0_pins: usb0 { 215 + pinmux = <RZG2L_PORT_PINMUX(4, 0, 1)>, /* VBUS */ 216 + <RZG2L_PORT_PINMUX(5, 0, 1)>, /* OVC */ 217 + <RZG2L_PORT_PINMUX(5, 1, 1)>; /* OTG_ID */ 218 + }; 219 + 220 + usb1_pins: usb1 { 221 + pinmux = <RZG2L_PORT_PINMUX(42, 0, 1)>, /* VBUS */ 222 + <RZG2L_PORT_PINMUX(42, 1, 1)>; /* OVC */ 223 + }; 23 224 }; 24 225 25 226 &scif0 { 227 + pinctrl-0 = <&scif0_pins>; 228 + pinctrl-names = "default"; 229 + status = "okay"; 230 + }; 231 + 232 + &ssi0 { 233 + pinctrl-0 = <&ssi0_pins>; 234 + pinctrl-names = "default"; 235 + 236 + status = "okay"; 237 + }; 238 + 239 + &usb2_phy0 { 240 + pinctrl-0 = <&usb0_pins>; 241 + pinctrl-names = "default"; 242 + 243 + vbus-supply = <&usb0_vbus_otg>; 244 + status = "okay"; 245 + }; 246 + 247 + &usb2_phy1 { 248 + pinctrl-0 = <&usb1_pins>; 249 + pinctrl-names = "default"; 250 + 26 251 status = "okay"; 27 252 };
+2
arch/arm64/boot/dts/renesas/salvator-common.dtsi
··· 340 340 status = "okay"; 341 341 342 342 phy0: ethernet-phy@0 { 343 + compatible = "ethernet-phy-id0022.1622", 344 + "ethernet-phy-ieee802.3-c22"; 343 345 rxc-skew-ps = <1500>; 344 346 reg = <0>; 345 347 interrupt-parent = <&gpio2>;
+2
arch/arm64/boot/dts/renesas/ulcb.dtsi
··· 154 154 status = "okay"; 155 155 156 156 phy0: ethernet-phy@0 { 157 + compatible = "ethernet-phy-id0022.1622", 158 + "ethernet-phy-ieee802.3-c22"; 157 159 rxc-skew-ps = <1500>; 158 160 reg = <0>; 159 161 interrupt-parent = <&gpio2>;