// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) /* * Device Tree Source for the RZ/G2L SMARC EVK common parts * * Copyright (C) 2021 Renesas Electronics Corp. */ #include #include /* * SSI-WM8978 * * This command is required when Playback/Capture * * amixer cset name='Left Input Mixer L2 Switch' on * amixer cset name='Right Input Mixer R2 Switch' on * amixer cset name='Headphone Playback Volume' 100 * amixer cset name='PCM Volume' 100% * amixer cset name='Input PGA Volume' 25 * */ / { aliases { serial0 = &scif0; i2c0 = &i2c0; i2c1 = &i2c1; i2c3 = &i2c3; }; chosen { bootargs = "ignore_loglevel"; stdout-path = "serial0:115200n8"; }; audio_mclock: audio_mclock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <11289600>; }; snd_rzg2l: sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&cpu_dai>; simple-audio-card,frame-master = <&cpu_dai>; simple-audio-card,mclk-fs = <256>; simple-audio-card,widgets = "Microphone", "Microphone Jack"; simple-audio-card,routing = "L2", "Mic Bias", "R2", "Mic Bias", "Mic Bias", "Microphone Jack"; cpu_dai: simple-audio-card,cpu { sound-dai = <&ssi0>; }; codec_dai: simple-audio-card,codec { clocks = <&audio_mclock>; sound-dai = <&wm8978>; }; }; usb0_vbus_otg: regulator-usb0-vbus-otg { compatible = "regulator-fixed"; regulator-name = "USB0_VBUS_OTG"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; }; &audio_clk1{ clock-frequency = <11289600>; }; &audio_clk2{ clock-frequency = <12288000>; }; &ehci0 { dr_mode = "otg"; status = "okay"; }; &ehci1 { status = "okay"; }; &hsusb { dr_mode = "otg"; status = "okay"; }; &i2c0 { pinctrl-0 = <&i2c0_pins>; pinctrl-names = "default"; status = "okay"; }; &i2c1 { pinctrl-0 = <&i2c1_pins>; pinctrl-names = "default"; status = "okay"; }; &i2c3 { pinctrl-0 = <&i2c3_pins>; pinctrl-names = "default"; clock-frequency = <400000>; status = "okay"; wm8978: codec@1a { compatible = "wlf,wm8978"; #sound-dai-cells = <0>; reg = <0x1a>; }; }; &ohci0 { dr_mode = "otg"; status = "okay"; }; &ohci1 { status = "okay"; }; &phyrst { status = "okay"; }; &pinctrl { pinctrl-0 = <&sound_clk_pins>; pinctrl-names = "default"; i2c0_pins: i2c0 { pins = "RIIC0_SDA", "RIIC0_SCL"; input-enable; }; i2c1_pins: i2c1 { pins = "RIIC1_SDA", "RIIC1_SCL"; input-enable; }; i2c3_pins: i2c3 { pinmux = , /* SDA */ ; /* SCL */ }; scif0_pins: scif0 { pinmux = , /* TxD */ ; /* RxD */ }; sound_clk_pins: sound_clk { pins = "AUDIO_CLK1", "AUDIO_CLK2"; input-enable; }; ssi0_pins: ssi0 { pinmux = , /* BCK */ , /* RCK */ , /* TXD */ ; /* RXD */ }; usb0_pins: usb0 { pinmux = , /* VBUS */ , /* OVC */ ; /* OTG_ID */ }; usb1_pins: usb1 { pinmux = , /* VBUS */ ; /* OVC */ }; }; &scif0 { pinctrl-0 = <&scif0_pins>; pinctrl-names = "default"; status = "okay"; }; &ssi0 { pinctrl-0 = <&ssi0_pins>; pinctrl-names = "default"; status = "okay"; }; &usb2_phy0 { pinctrl-0 = <&usb0_pins>; pinctrl-names = "default"; vbus-supply = <&usb0_vbus_otg>; status = "okay"; }; &usb2_phy1 { pinctrl-0 = <&usb1_pins>; pinctrl-names = "default"; status = "okay"; };