0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for the Blanche board
0004 *
0005 * Copyright (C) 2014 Renesas Electronics Corporation
0006 * Copyright (C) 2016 Cogent Embedded, Inc.
0007 */
0008
0009 /dts-v1/;
0010 #include "r8a7792.dtsi"
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include <dt-bindings/input/input.h>
0013
0014 / {
0015 model = "Blanche";
0016 compatible = "renesas,blanche", "renesas,r8a7792";
0017
0018 aliases {
0019 serial0 = &scif0;
0020 serial1 = &scif3;
0021 };
0022
0023 chosen {
0024 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
0025 stdout-path = "serial0:115200n8";
0026 };
0027
0028 memory@40000000 {
0029 device_type = "memory";
0030 reg = <0 0x40000000 0 0x40000000>;
0031 };
0032
0033 d3_3v: regulator-3v3 {
0034 compatible = "regulator-fixed";
0035 regulator-name = "D3.3V";
0036 regulator-min-microvolt = <3300000>;
0037 regulator-max-microvolt = <3300000>;
0038 regulator-boot-on;
0039 regulator-always-on;
0040 };
0041
0042 ethernet@18000000 {
0043 compatible = "smsc,lan89218", "smsc,lan9115";
0044 reg = <0 0x18000000 0 0x100>;
0045 phy-mode = "mii";
0046 interrupt-parent = <&irqc>;
0047 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
0048 smsc,irq-push-pull;
0049 reg-io-width = <4>;
0050 vddvario-supply = <&d3_3v>;
0051 vdd33a-supply = <&d3_3v>;
0052
0053 pinctrl-0 = <&lan89218_pins>;
0054 pinctrl-names = "default";
0055 };
0056
0057 vga-encoder {
0058 compatible = "adi,adv7123";
0059
0060 ports {
0061 #address-cells = <1>;
0062 #size-cells = <0>;
0063
0064 port@0 {
0065 reg = <0>;
0066 adv7123_in: endpoint {
0067 remote-endpoint = <&du_out_rgb1>;
0068 };
0069 };
0070 port@1 {
0071 reg = <1>;
0072 adv7123_out: endpoint {
0073 remote-endpoint = <&vga_in>;
0074 };
0075 };
0076 };
0077 };
0078
0079 hdmi-out {
0080 compatible = "hdmi-connector";
0081 type = "a";
0082
0083 port {
0084 hdmi_con: endpoint {
0085 remote-endpoint = <&adv7511_out>;
0086 };
0087 };
0088 };
0089
0090 vga {
0091 compatible = "vga-connector";
0092
0093 port {
0094 vga_in: endpoint {
0095 remote-endpoint = <&adv7123_out>;
0096 };
0097 };
0098 };
0099
0100 x1_clk: x1 {
0101 compatible = "fixed-clock";
0102 #clock-cells = <0>;
0103 clock-frequency = <74250000>;
0104 };
0105
0106 x2_clk: x2 {
0107 compatible = "fixed-clock";
0108 #clock-cells = <0>;
0109 clock-frequency = <65000000>;
0110 };
0111
0112 keyboard {
0113 compatible = "gpio-keys";
0114
0115 pinctrl-0 = <&keyboard_pins>;
0116 pinctrl-names = "default";
0117
0118 key-1 {
0119 linux,code = <KEY_1>;
0120 label = "SW2-1";
0121 wakeup-source;
0122 debounce-interval = <20>;
0123 gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
0124 };
0125 key-2 {
0126 linux,code = <KEY_2>;
0127 label = "SW2-2";
0128 wakeup-source;
0129 debounce-interval = <20>;
0130 gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
0131 };
0132 key-3 {
0133 linux,code = <KEY_3>;
0134 label = "SW2-3";
0135 wakeup-source;
0136 debounce-interval = <20>;
0137 gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
0138 };
0139 key-4 {
0140 linux,code = <KEY_4>;
0141 label = "SW2-4";
0142 wakeup-source;
0143 debounce-interval = <20>;
0144 gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
0145 };
0146 key-a {
0147 linux,code = <KEY_A>;
0148 label = "SW24";
0149 wakeup-source;
0150 debounce-interval = <20>;
0151 gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
0152 };
0153 key-b {
0154 linux,code = <KEY_B>;
0155 label = "SW25";
0156 wakeup-source;
0157 debounce-interval = <20>;
0158 gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
0159 };
0160 };
0161
0162 leds {
0163 compatible = "gpio-leds";
0164
0165 led17 {
0166 gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>;
0167 };
0168 led18 {
0169 gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>;
0170 };
0171 led19 {
0172 gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>;
0173 };
0174 led20 {
0175 gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>;
0176 };
0177 };
0178
0179 vcc_sdhi0: regulator-vcc-sdhi0 {
0180 compatible = "regulator-fixed";
0181
0182 regulator-name = "SDHI0 Vcc";
0183 regulator-min-microvolt = <3300000>;
0184 regulator-max-microvolt = <3300000>;
0185
0186 gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
0187 enable-active-high;
0188 };
0189 };
0190
0191 &extal_clk {
0192 clock-frequency = <20000000>;
0193 };
0194
0195 &can_clk {
0196 clock-frequency = <48000000>;
0197 };
0198
0199 &pfc {
0200 scif0_pins: scif0 {
0201 groups = "scif0_data";
0202 function = "scif0";
0203 };
0204
0205 scif3_pins: scif3 {
0206 groups = "scif3_data";
0207 function = "scif3";
0208 };
0209
0210 lan89218_pins: lan89218 {
0211 intc {
0212 groups = "intc_irq0";
0213 function = "intc";
0214 };
0215 lbsc {
0216 groups = "lbsc_ex_cs0";
0217 function = "lbsc";
0218 };
0219 };
0220
0221 can0_pins: can0 {
0222 groups = "can0_data", "can_clk";
0223 function = "can0";
0224 };
0225
0226 sdhi0_pins: sdhi0 {
0227 groups = "sdhi0_data4", "sdhi0_ctrl";
0228 function = "sdhi0";
0229 };
0230
0231 du0_pins: du0 {
0232 groups = "du0_rgb888", "du0_sync", "du0_disp";
0233 function = "du0";
0234 };
0235
0236 du1_pins: du1 {
0237 groups = "du1_rgb666", "du1_sync", "du1_disp";
0238 function = "du1";
0239 };
0240
0241 keyboard_pins: keyboard {
0242 pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_02";
0243 bias-pull-up;
0244 };
0245
0246 pmic_irq_pins: pmicirq {
0247 groups = "intc_irq2";
0248 function = "intc";
0249 };
0250 };
0251
0252 &rwdt {
0253 timeout-sec = <60>;
0254 status = "okay";
0255 };
0256
0257 &scif0 {
0258 pinctrl-0 = <&scif0_pins>;
0259 pinctrl-names = "default";
0260
0261 status = "okay";
0262 };
0263
0264 &scif3 {
0265 pinctrl-0 = <&scif3_pins>;
0266 pinctrl-names = "default";
0267
0268 status = "okay";
0269 };
0270
0271 &can0 {
0272 pinctrl-0 = <&can0_pins>;
0273 pinctrl-names = "default";
0274
0275 status = "okay";
0276 };
0277
0278 &sdhi0 {
0279 pinctrl-0 = <&sdhi0_pins>;
0280 pinctrl-names = "default";
0281
0282 vmmc-supply = <&vcc_sdhi0>;
0283 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
0284 status = "okay";
0285 };
0286
0287 &i2c1 {
0288 status = "okay";
0289 clock-frequency = <400000>;
0290
0291 hdmi@39 {
0292 compatible = "adi,adv7511w";
0293 reg = <0x39>;
0294 interrupt-parent = <&irqc>;
0295 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
0296
0297 adi,input-depth = <8>;
0298 adi,input-colorspace = "rgb";
0299 adi,input-clock = "1x";
0300
0301 ports {
0302 #address-cells = <1>;
0303 #size-cells = <0>;
0304
0305 port@0 {
0306 reg = <0>;
0307 adv7511_in: endpoint {
0308 remote-endpoint = <&du_out_rgb0>;
0309 };
0310 };
0311
0312 port@1 {
0313 reg = <1>;
0314 adv7511_out: endpoint {
0315 remote-endpoint = <&hdmi_con>;
0316 };
0317 };
0318 };
0319 };
0320 };
0321
0322 &iic3 {
0323 status = "okay";
0324
0325 pmic@58 {
0326 compatible = "dlg,da9063";
0327 reg = <0x58>;
0328 pinctrl-names = "default";
0329 pinctrl-0 = <&pmic_irq_pins>;
0330 interrupt-parent = <&irqc>;
0331 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
0332 interrupt-controller;
0333
0334 rtc {
0335 compatible = "dlg,da9063-rtc";
0336 };
0337
0338 watchdog {
0339 compatible = "dlg,da9063-watchdog";
0340 };
0341 };
0342 };
0343
0344 &du {
0345 pinctrl-0 = <&du0_pins>, <&du1_pins>;
0346 pinctrl-names = "default";
0347
0348 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
0349 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
0350 status = "okay";
0351
0352 ports {
0353 port@0 {
0354 endpoint {
0355 remote-endpoint = <&adv7511_in>;
0356 };
0357 };
0358 port@1 {
0359 endpoint {
0360 remote-endpoint = <&adv7123_in>;
0361 };
0362 };
0363 };
0364 };