// SPDX-License-Identifier: GPL-2.0 /* * Device Tree Source for the iWave-RZ/G1H Qseven board * * Copyright (C) 2020 Renesas Electronics Corp. */ /* * SSI-SGTL5000 * * This command is required when Playback/Capture * * amixer set "DVC Out" 100% * amixer set "DVC In" 100% * * You can use Mute * * amixer set "DVC Out Mute" on * amixer set "DVC In Mute" on * * You can use Volume Ramp * * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" * amixer set "DVC Out Ramp" on * aplay xxx.wav & * amixer set "DVC Out" 80% // Volume Down * amixer set "DVC Out" 100% // Volume Up */ /dts-v1/; #include "r8a7742-iwg21m.dtsi" #include <dt-bindings/pwm/pwm.h> / { model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H"; compatible = "iwave,g21d", "iwave,g21m", "renesas,r8a7742"; aliases { serial2 = &scifa2; serial4 = &scifb2; ethernet0 = &avb; }; chosen { bootargs = "ignore_loglevel root=/dev/mmcblk0p1 rw rootwait"; stdout-path = "serial2:115200n8"; }; audio_clock: audio_clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; }; lcd_backlight: backlight { compatible = "pwm-backlight"; pwms = <&tpu 2 5000000 0>; brightness-levels = <0 4 8 16 32 64 128 255>; pinctrl-0 = <&backlight_pins>; pinctrl-names = "default"; default-brightness-level = <7>; enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>; }; leds { compatible = "gpio-leds"; sdhi2_led { label = "sdio-led"; gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc1"; }; }; lvds-receiver { compatible = "ti,ds90cf384a", "lvds-decoder"; power-supply = <&vcc_3v3_tft1>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; lvds_receiver_in: endpoint { remote-endpoint = <&lvds0_out>; }; }; port@1 { reg = <1>; lvds_receiver_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; }; panel { compatible = "edt,etm0700g0dh6"; backlight = <&lcd_backlight>; power-supply = <&vcc_3v3_tft1>; port { panel_in: endpoint { remote-endpoint = <&lvds_receiver_out>; }; }; }; reg_1p5v: 1p5v { compatible = "regulator-fixed"; regulator-name = "1P5V"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-always-on; }; rsnd_sgtl5000: sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&sndcodec>; simple-audio-card,frame-master = <&sndcodec>; sndcpu: simple-audio-card,cpu { sound-dai = <&rcar_sound>; }; sndcodec: simple-audio-card,codec { sound-dai = <&sgtl5000>; }; }; vcc_3v3_tft1: regulator-panel { compatible = "regulator-fixed"; regulator-name = "vcc-3v3-tft1"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; startup-delay-us = <500>; gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>; }; vcc_sdhi2: regulator-vcc-sdhi2 { compatible = "regulator-fixed"; regulator-name = "SDHI2 Vcc"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio1 27 GPIO_ACTIVE_LOW>; }; vccq_sdhi2: regulator-vccq-sdhi2 { compatible = "regulator-gpio"; regulator-name = "SDHI2 VccQ"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; gpios-states = <1>; states = <3300000 1>, <1800000 0>; }; }; &avb { pinctrl-0 = <&avb_pins>; pinctrl-names = "default"; phy-handle = <&phy3>; phy-mode = "gmii"; renesas,no-ether-link; status = "okay"; phy3: ethernet-phy@3 { compatible = "ethernet-phy-id0022.1622", "ethernet-phy-ieee802.3-c22"; reg = <3>; micrel,led-mode = <1>; }; }; &i2c2 { pinctrl-0 = <&i2c2_pins>; pinctrl-names = "default"; status = "okay"; clock-frequency = <400000>; sgtl5000: codec@a { compatible = "fsl,sgtl5000"; #sound-dai-cells = <0>; reg = <0x0a>; clocks = <&audio_clock>; VDDA-supply = <®_3p3v>; VDDIO-supply = <®_3p3v>; VDDD-supply = <®_1p5v>; }; touch: touchpanel@38 { compatible = "edt,edt-ft5406"; reg = <0x38>; interrupt-parent = <&gpio0>; interrupts = <24 IRQ_TYPE_EDGE_FALLING>; /* GP1_29 is also shared with audio codec reset pin */ reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; vcc-supply = <&vcc_3v3_tft1>; }; }; &can1 { pinctrl-0 = <&can1_pins>; pinctrl-names = "default"; status = "okay"; }; &cmt0 { status = "okay"; }; &du { status = "okay"; }; &gpio0 { touch-interrupt-hog { gpio-hog; gpios = <24 GPIO_ACTIVE_LOW>; input; }; }; &gpio1 { can-trx-en-hog { gpio-hog; gpios = <28 GPIO_ACTIVE_HIGH>; output-low; line-name = "can-trx-en-gpio"; }; }; &hsusb { pinctrl-0 = <&usb0_pins>; pinctrl-names = "default"; status = "okay"; }; &lvds0 { status = "okay"; ports { port@1 { lvds0_out: endpoint { remote-endpoint = <&lvds_receiver_in>; }; }; }; }; &msiof0 { pinctrl-0 = <&msiof0_pins>; pinctrl-names = "default"; cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; status = "okay"; flash1: flash@0 { compatible = "sst,sst25vf016b", "jedec,spi-nor"; reg = <0>; spi-max-frequency = <50000000>; m25p,fast-read; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "user"; reg = <0x00000000 0x00200000>; }; }; }; }; &pci0 { pinctrl-0 = <&usb0_pins>; pinctrl-names = "default"; /* Disable hsusb to enable USB2.0 host mode support on J2 */ /* status = "okay"; */ }; &pci1 { pinctrl-0 = <&usb1_pins>; pinctrl-names = "default"; status = "okay"; }; &pci2 { /* Disable xhci to enable USB2.0 host mode support on J23 bottom port */ /* status = "okay"; */ }; &pcie_bus_clk { clock-frequency = <100000000>; }; &pciec { /* SW2[6] determines which connector is activated * ON = PCIe X4 (connector-J7) * OFF = mini-PCIe (connector-J26) */ status = "okay"; }; &pfc { avb_pins: avb { groups = "avb_mdio", "avb_gmii"; function = "avb"; }; backlight_pins: backlight { groups = "tpu0_to2"; function = "tpu0"; }; can1_pins: can1 { groups = "can1_data_b"; function = "can1"; }; i2c2_pins: i2c2 { groups = "i2c2_b"; function = "i2c2"; }; msiof0_pins: msiof0 { groups = "msiof0_clk", "msiof0_sync", "msiof0_tx", "msiof0_rx"; function = "msiof0"; }; scifa2_pins: scifa2 { groups = "scifa2_data_c"; function = "scifa2"; }; scifb2_pins: scifb2 { groups = "scifb2_data", "scifb2_ctrl"; function = "scifb2"; }; sdhi2_pins: sd2 { groups = "sdhi2_data4", "sdhi2_ctrl"; function = "sdhi2"; power-source = <3300>; }; sdhi2_pins_uhs: sd2_uhs { groups = "sdhi2_data4", "sdhi2_ctrl"; function = "sdhi2"; power-source = <1800>; }; sound_pins: sound { groups = "ssi34_ctrl", "ssi3_data", "ssi4_data"; function = "ssi"; }; usb0_pins: usb0 { groups = "usb0"; function = "usb0"; }; usb1_pins: usb1 { groups = "usb1_pwen"; function = "usb1"; }; }; &rcar_sound { pinctrl-0 = <&sound_pins>; pinctrl-names = "default"; status = "okay"; /* Single DAI */ #sound-dai-cells = <0>; rcar_sound,dai { dai0 { playback = <&ssi4>, <&src4>, <&dvc1>; capture = <&ssi3>, <&src3>, <&dvc0>; }; }; }; &rwdt { timeout-sec = <60>; status = "okay"; }; &scifa2 { pinctrl-0 = <&scifa2_pins>; pinctrl-names = "default"; status = "okay"; }; &scifb2 { pinctrl-0 = <&scifb2_pins>; pinctrl-names = "default"; uart-has-rtscts; status = "okay"; }; &sdhi2 { pinctrl-0 = <&sdhi2_pins>; pinctrl-1 = <&sdhi2_pins_uhs>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <&vcc_sdhi2>; vqmmc-supply = <&vccq_sdhi2>; cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>; wp-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; sd-uhs-sdr50; status = "okay"; }; &ssi4 { shared-pin; }; &tpu { status = "okay"; }; &usbphy { status = "okay"; }; &xhci { status = "okay"; };