123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- // SPDX-License-Identifier: GPL-2.0
- /*
- * Device Tree Source for the iWave-RZG1E SODIMM carrier board
- *
- * Copyright (C) 2017 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 "r8a7745-iwg22m.dtsi"
- #include <dt-bindings/pwm/pwm.h>
- / {
- model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
- compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
- aliases {
- ethernet0 = &avb;
- serial3 = &scif4;
- serial5 = &hscif1;
- };
- chosen {
- bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
- stdout-path = "serial3:115200n8";
- };
- audio_clock: audio_clock {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <26000000>;
- };
- backlight_lcd: backlight {
- compatible = "pwm-backlight";
- pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>;
- brightness-levels = <0 4 8 16 32 64 128 255>;
- default-brightness-level = <7>;
- };
- lcd_panel: lcd {
- compatible = "edt,etm043080dh6gp";
- power-supply = <&vccq_panel>;
- backlight = <&backlight_lcd>;
- port {
- lcd_in: endpoint {
- remote-endpoint = <&du_out_rgb0>;
- };
- };
- };
- vccq_panel: regulator-vccq-panel {
- compatible = "regulator-fixed";
- regulator-name = "Panel VccQ";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
- enable-active-high;
- };
- vccq_sdhi0: regulator-vccq-sdhi0 {
- compatible = "regulator-gpio";
- regulator-name = "SDHI0 VccQ";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
- gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
- gpios-states = <1>;
- states = <3300000 1>, <1800000 0>;
- };
- 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>;
- };
- };
- };
- &avb {
- pinctrl-0 = <&avb_pins>;
- pinctrl-names = "default";
- phy-handle = <&phy3>;
- phy-mode = "gmii";
- renesas,no-ether-link;
- status = "okay";
- phy3: ethernet-phy@3 {
- /*
- * On some older versions of the platform (before R4.0) the phy address
- * may be 1 or 3. The address is fixed to 3 for R4.0 onwards.
- */
- compatible = "ethernet-phy-id0022.1622",
- "ethernet-phy-ieee802.3-c22";
- reg = <3>;
- micrel,led-mode = <1>;
- };
- };
- &can0 {
- pinctrl-0 = <&can0_pins>;
- pinctrl-names = "default";
- status = "okay";
- };
- &du {
- pinctrl-0 = <&du0_pins>;
- pinctrl-names = "default";
- status = "okay";
- ports {
- port@0 {
- endpoint {
- remote-endpoint = <&lcd_in>;
- };
- };
- };
- };
- &hscif1 {
- pinctrl-0 = <&hscif1_pins>;
- pinctrl-names = "default";
- uart-has-rtscts;
- status = "okay";
- };
- &hsusb {
- status = "okay";
- pinctrl-0 = <&usb0_pins>;
- pinctrl-names = "default";
- };
- &i2c5 {
- pinctrl-0 = <&i2c5_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>;
- };
- stmpe811@44 {
- compatible = "st,stmpe811";
- reg = <0x44>;
- interrupt-parent = <&gpio4>;
- interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
- /* 3.25 MHz ADC clock speed */
- st,adc-freq = <1>;
- /* ADC conversion time: 80 clocks */
- st,sample-time = <4>;
- /* 12-bit ADC */
- st,mod-12b = <1>;
- /* internal ADC reference */
- st,ref-sel = <0>;
- stmpe_touchscreen {
- compatible = "st,stmpe-ts";
- /* 8 sample average control */
- st,ave-ctrl = <3>;
- /* 7 length fractional part in z */
- st,fraction-z = <7>;
- /*
- * 50 mA typical 80 mA max touchscreen drivers
- * current limit value
- */
- st,i-drive = <1>;
- /* 1 ms panel driver settling time */
- st,settling = <3>;
- /* 5 ms touch detect interrupt delay */
- st,touch-det-delay = <5>;
- };
- };
- };
- &pci1 {
- status = "okay";
- pinctrl-0 = <&usb1_pins>;
- pinctrl-names = "default";
- };
- &pfc {
- avb_pins: avb {
- groups = "avb_mdio", "avb_gmii";
- function = "avb";
- };
- backlight_pins: backlight {
- groups = "tpu_to3_c";
- function = "tpu";
- };
- can0_pins: can0 {
- groups = "can0_data";
- function = "can0";
- };
- du0_pins: du0 {
- groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out";
- function = "du0";
- };
- hscif1_pins: hscif1 {
- groups = "hscif1_data", "hscif1_ctrl";
- function = "hscif1";
- };
- i2c5_pins: i2c5 {
- groups = "i2c5_b";
- function = "i2c5";
- };
- scif4_pins: scif4 {
- groups = "scif4_data_b";
- function = "scif4";
- };
- sdhi0_pins: sd0 {
- groups = "sdhi0_data4", "sdhi0_ctrl";
- function = "sdhi0";
- power-source = <3300>;
- };
- sound_pins: sound {
- groups = "ssi34_ctrl", "ssi3_data", "ssi4_data";
- function = "ssi";
- };
- usb0_pins: usb0 {
- groups = "usb0";
- function = "usb0";
- };
- usb1_pins: usb1 {
- groups = "usb1";
- function = "usb1";
- };
- };
- &rcar_sound {
- pinctrl-0 = <&sound_pins>;
- pinctrl-names = "default";
- status = "okay";
- /* Single DAI */
- #sound-dai-cells = <0>;
- rcar_sound,dai {
- dai0 {
- playback = <&ssi3>, <&src3>, <&dvc0>;
- capture = <&ssi4>, <&src4>, <&dvc1>;
- };
- };
- };
- &scif4 {
- pinctrl-0 = <&scif4_pins>;
- pinctrl-names = "default";
- status = "okay";
- };
- &sdhi0 {
- pinctrl-0 = <&sdhi0_pins>;
- pinctrl-names = "default";
- vmmc-supply = <®_3p3v>;
- vqmmc-supply = <&vccq_sdhi0>;
- cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
- status = "okay";
- };
- &ssi4 {
- shared-pin;
- };
- &tpu {
- pinctrl-0 = <&backlight_pins>;
- pinctrl-names = "default";
- status = "okay";
- };
- &usbphy {
- status = "okay";
- };
|