forked from Minki/linux
740f5c805f
Name the Pin Function Controller subnode for QSPI after its device name, instead of after the spi interface alias. This avoids conflicts when enabling support for more spi interfaces later, either here or in a DT overlay. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
561 lines
11 KiB
Plaintext
561 lines
11 KiB
Plaintext
/*
|
|
* Device Tree Source for the Gose board
|
|
*
|
|
* Copyright (C) 2014-2015 Renesas Electronics Corporation
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public License
|
|
* version 2. This program is licensed "as is" without any warranty of any
|
|
* kind, whether express or implied.
|
|
*/
|
|
|
|
/*
|
|
* SSI-AK4643
|
|
*
|
|
* SW1: 1: AK4643
|
|
* 2: CN22
|
|
* 3: ADV7511
|
|
*
|
|
* This command is required when Playback/Capture
|
|
*
|
|
* amixer set "LINEOUT Mixer DACL" on
|
|
* 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 "r8a7793.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Gose";
|
|
compatible = "renesas,gose", "renesas,r8a7793";
|
|
|
|
aliases {
|
|
serial0 = &scif0;
|
|
serial1 = &scif1;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
memory@40000000 {
|
|
device_type = "memory";
|
|
reg = <0 0x40000000 0 0x40000000>;
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
key-1 {
|
|
gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_1>;
|
|
label = "SW2-1";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-2 {
|
|
gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_2>;
|
|
label = "SW2-2";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-3 {
|
|
gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_3>;
|
|
label = "SW2-3";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-4 {
|
|
gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_4>;
|
|
label = "SW2-4";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-a {
|
|
gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_A>;
|
|
label = "SW30";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-b {
|
|
gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_B>;
|
|
label = "SW31";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-c {
|
|
gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_C>;
|
|
label = "SW32";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-d {
|
|
gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_D>;
|
|
label = "SW33";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-e {
|
|
gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_E>;
|
|
label = "SW34";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-f {
|
|
gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_F>;
|
|
label = "SW35";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-g {
|
|
gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_G>;
|
|
label = "SW36";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
led6 {
|
|
gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
|
|
label = "LED6";
|
|
};
|
|
led7 {
|
|
gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
|
|
label = "LED7";
|
|
};
|
|
led8 {
|
|
gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
|
|
label = "LED8";
|
|
};
|
|
};
|
|
|
|
vcc_sdhi0: regulator-vcc-sdhi0 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI0 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi0: regulator-vccq-sdhi0 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI0 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
vcc_sdhi1: regulator-vcc-sdhi1 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI1 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi1: regulator-vccq-sdhi1 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI1 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
vcc_sdhi2: regulator-vcc-sdhi2 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI2 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi2: regulator-vccq-sdhi2 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI2 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
audio_clock: audio_clock {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <11289600>;
|
|
};
|
|
|
|
rsnd_ak4643: sound {
|
|
compatible = "simple-audio-card";
|
|
|
|
simple-audio-card,format = "left_j";
|
|
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 = <&ak4643>;
|
|
clocks = <&audio_clock>;
|
|
};
|
|
};
|
|
|
|
hdmi-out {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi_con: endpoint {
|
|
remote-endpoint = <&adv7511_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
x2_clk: x2-clock {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <74250000>;
|
|
};
|
|
|
|
x13_clk: x13-clock {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <148500000>;
|
|
};
|
|
};
|
|
|
|
&du {
|
|
pinctrl-0 = <&du_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
clocks = <&mstp7_clks R8A7793_CLK_DU0>,
|
|
<&mstp7_clks R8A7793_CLK_DU1>,
|
|
<&mstp7_clks R8A7793_CLK_LVDS0>,
|
|
<&x13_clk>, <&x2_clk>;
|
|
clock-names = "du.0", "du.1", "lvds.0",
|
|
"dclkin.0", "dclkin.1";
|
|
|
|
ports {
|
|
port@0 {
|
|
endpoint {
|
|
remote-endpoint = <&adv7511_in>;
|
|
};
|
|
};
|
|
port@1 {
|
|
lvds_connector: endpoint {
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&extal_clk {
|
|
clock-frequency = <20000000>;
|
|
};
|
|
|
|
&pfc {
|
|
pinctrl-0 = <&scif_clk_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
i2c2_pins: i2c2 {
|
|
groups = "i2c2";
|
|
function = "i2c2";
|
|
};
|
|
|
|
du_pins: du {
|
|
groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
|
|
function = "du";
|
|
};
|
|
|
|
scif0_pins: scif0 {
|
|
groups = "scif0_data_d";
|
|
function = "scif0";
|
|
};
|
|
|
|
scif1_pins: scif1 {
|
|
groups = "scif1_data_d";
|
|
function = "scif1";
|
|
};
|
|
|
|
scif_clk_pins: scif_clk {
|
|
groups = "scif_clk";
|
|
function = "scif_clk";
|
|
};
|
|
|
|
ether_pins: ether {
|
|
groups = "eth_link", "eth_mdio", "eth_rmii";
|
|
function = "eth";
|
|
};
|
|
|
|
phy1_pins: phy1 {
|
|
groups = "intc_irq0";
|
|
function = "intc";
|
|
};
|
|
|
|
sdhi0_pins: sd0 {
|
|
renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
|
|
renesas,function = "sdhi0";
|
|
};
|
|
|
|
sdhi1_pins: sd1 {
|
|
renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
|
|
renesas,function = "sdhi1";
|
|
};
|
|
|
|
sdhi2_pins: sd2 {
|
|
renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
|
|
renesas,function = "sdhi2";
|
|
};
|
|
|
|
qspi_pins: qspi {
|
|
groups = "qspi_ctrl", "qspi_data4";
|
|
function = "qspi";
|
|
};
|
|
|
|
sound_pins: sound {
|
|
groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
|
|
function = "ssi";
|
|
};
|
|
|
|
sound_clk_pins: sound_clk {
|
|
groups = "audio_clk_a";
|
|
function = "audio_clk";
|
|
};
|
|
};
|
|
|
|
ðer {
|
|
pinctrl-0 = <ðer_pins &phy1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
phy-handle = <&phy1>;
|
|
renesas,ether-link-active-low;
|
|
status = "okay";
|
|
|
|
phy1: ethernet-phy@1 {
|
|
reg = <1>;
|
|
interrupt-parent = <&irqc0>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
micrel,led-mode = <1>;
|
|
};
|
|
};
|
|
|
|
&cmt0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&scif0 {
|
|
pinctrl-0 = <&scif0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&scif1 {
|
|
pinctrl-0 = <&scif1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&scif_clk {
|
|
clock-frequency = <14745600>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi0 {
|
|
pinctrl-0 = <&sdhi0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
vmmc-supply = <&vcc_sdhi0>;
|
|
vqmmc-supply = <&vccq_sdhi0>;
|
|
cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
|
|
wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi1 {
|
|
pinctrl-0 = <&sdhi1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
vmmc-supply = <&vcc_sdhi1>;
|
|
vqmmc-supply = <&vccq_sdhi1>;
|
|
cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
|
|
wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi2 {
|
|
pinctrl-0 = <&sdhi2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
vmmc-supply = <&vcc_sdhi2>;
|
|
vqmmc-supply = <&vccq_sdhi2>;
|
|
cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
|
|
status = "okay";
|
|
};
|
|
|
|
&qspi {
|
|
pinctrl-0 = <&qspi_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "spansion,s25fl512s", "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <30000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-cpol;
|
|
spi-cpha;
|
|
m25p,fast-read;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "loader";
|
|
reg = <0x00000000 0x00040000>;
|
|
read-only;
|
|
};
|
|
partition@40000 {
|
|
label = "user";
|
|
reg = <0x00040000 0x00400000>;
|
|
read-only;
|
|
};
|
|
partition@440000 {
|
|
label = "flash";
|
|
reg = <0x00440000 0x03bc0000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
|
|
ak4643: codec@12 {
|
|
compatible = "asahi-kasei,ak4643";
|
|
#sound-dai-cells = <0>;
|
|
reg = <0x12>;
|
|
};
|
|
|
|
hdmi@39 {
|
|
compatible = "adi,adv7511w";
|
|
reg = <0x39>;
|
|
interrupt-parent = <&gpio3>;
|
|
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
adi,input-depth = <8>;
|
|
adi,input-colorspace = "rgb";
|
|
adi,input-clock = "1x";
|
|
adi,input-style = <1>;
|
|
adi,input-justification = "evenly";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
adv7511_in: endpoint {
|
|
remote-endpoint = <&du_out_rgb>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
adv7511_out: endpoint {
|
|
remote-endpoint = <&hdmi_con>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
eeprom@50 {
|
|
compatible = "renesas,r1ex24002", "atmel,24c02";
|
|
reg = <0x50>;
|
|
pagesize = <16>;
|
|
};
|
|
};
|
|
|
|
&rcar_sound {
|
|
pinctrl-0 = <&sound_pins &sound_clk_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
/* Single DAI */
|
|
#sound-dai-cells = <0>;
|
|
|
|
status = "okay";
|
|
|
|
rcar_sound,dai {
|
|
dai0 {
|
|
playback = <&ssi0 &src2 &dvc0>;
|
|
capture = <&ssi1 &src3 &dvc1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&ssi1 {
|
|
shared-pin;
|
|
};
|