162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree Source for the Draak board 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2016-2018 Renesas Electronics Corp. 662306a36Sopenharmony_ci * Copyright (C) 2017 Glider bvba 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci model = "Renesas Draak board"; 1462306a36Sopenharmony_ci compatible = "renesas,draak"; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci aliases { 1762306a36Sopenharmony_ci serial0 = &scif2; 1862306a36Sopenharmony_ci ethernet0 = &avb; 1962306a36Sopenharmony_ci }; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci audio_clkout: audio-clkout { 2262306a36Sopenharmony_ci /* 2362306a36Sopenharmony_ci * This is same as <&rcar_sound 0> 2462306a36Sopenharmony_ci * but needed to avoid cs2000/rcar_sound probe dead-lock 2562306a36Sopenharmony_ci */ 2662306a36Sopenharmony_ci compatible = "fixed-clock"; 2762306a36Sopenharmony_ci #clock-cells = <0>; 2862306a36Sopenharmony_ci clock-frequency = <12288000>; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci backlight: backlight { 3262306a36Sopenharmony_ci compatible = "pwm-backlight"; 3362306a36Sopenharmony_ci pwms = <&pwm1 0 50000>; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 3662306a36Sopenharmony_ci default-brightness-level = <10>; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci power-supply = <®_12p0v>; 3962306a36Sopenharmony_ci enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci chosen { 4362306a36Sopenharmony_ci bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 4462306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci composite-in { 4862306a36Sopenharmony_ci compatible = "composite-video-connector"; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci port { 5162306a36Sopenharmony_ci composite_con_in: endpoint { 5262306a36Sopenharmony_ci remote-endpoint = <&adv7180_in>; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci hdmi-in { 5862306a36Sopenharmony_ci compatible = "hdmi-connector"; 5962306a36Sopenharmony_ci type = "a"; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci port { 6262306a36Sopenharmony_ci hdmi_con_in: endpoint { 6362306a36Sopenharmony_ci remote-endpoint = <&adv7612_in>; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci hdmi-out { 6962306a36Sopenharmony_ci compatible = "hdmi-connector"; 7062306a36Sopenharmony_ci type = "a"; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci port { 7362306a36Sopenharmony_ci hdmi_con_out: endpoint { 7462306a36Sopenharmony_ci remote-endpoint = <&adv7511_out>; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci keys { 8062306a36Sopenharmony_ci compatible = "gpio-keys"; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci pinctrl-0 = <&keys_pins>; 8362306a36Sopenharmony_ci pinctrl-names = "default"; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci key-1 { 8662306a36Sopenharmony_ci gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; 8762306a36Sopenharmony_ci linux,code = <KEY_1>; 8862306a36Sopenharmony_ci label = "SW56-1"; 8962306a36Sopenharmony_ci wakeup-source; 9062306a36Sopenharmony_ci debounce-interval = <20>; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci key-2 { 9362306a36Sopenharmony_ci gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 9462306a36Sopenharmony_ci linux,code = <KEY_2>; 9562306a36Sopenharmony_ci label = "SW56-2"; 9662306a36Sopenharmony_ci wakeup-source; 9762306a36Sopenharmony_ci debounce-interval = <20>; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci key-3 { 10062306a36Sopenharmony_ci gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; 10162306a36Sopenharmony_ci linux,code = <KEY_3>; 10262306a36Sopenharmony_ci label = "SW56-3"; 10362306a36Sopenharmony_ci wakeup-source; 10462306a36Sopenharmony_ci debounce-interval = <20>; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci key-4 { 10762306a36Sopenharmony_ci gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 10862306a36Sopenharmony_ci linux,code = <KEY_4>; 10962306a36Sopenharmony_ci label = "SW56-4"; 11062306a36Sopenharmony_ci wakeup-source; 11162306a36Sopenharmony_ci debounce-interval = <20>; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci lvds-decoder { 11662306a36Sopenharmony_ci compatible = "thine,thc63lvd1024"; 11762306a36Sopenharmony_ci vcc-supply = <®_3p3v>; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci ports { 12062306a36Sopenharmony_ci #address-cells = <1>; 12162306a36Sopenharmony_ci #size-cells = <0>; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci port@0 { 12462306a36Sopenharmony_ci reg = <0>; 12562306a36Sopenharmony_ci thc63lvd1024_in: endpoint { 12662306a36Sopenharmony_ci remote-endpoint = <&lvds0_out>; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci port@2 { 13162306a36Sopenharmony_ci reg = <2>; 13262306a36Sopenharmony_ci thc63lvd1024_out: endpoint { 13362306a36Sopenharmony_ci remote-endpoint = <&adv7511_in>; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci memory@48000000 { 14062306a36Sopenharmony_ci device_type = "memory"; 14162306a36Sopenharmony_ci /* first 128MB is reserved for secure area. */ 14262306a36Sopenharmony_ci reg = <0x0 0x48000000 0x0 0x18000000>; 14362306a36Sopenharmony_ci }; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci reg_1p8v: regulator-1p8v { 14662306a36Sopenharmony_ci compatible = "regulator-fixed"; 14762306a36Sopenharmony_ci regulator-name = "fixed-1.8V"; 14862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 14962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 15062306a36Sopenharmony_ci regulator-boot-on; 15162306a36Sopenharmony_ci regulator-always-on; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci reg_3p3v: regulator-3p3v { 15562306a36Sopenharmony_ci compatible = "regulator-fixed"; 15662306a36Sopenharmony_ci regulator-name = "fixed-3.3V"; 15762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 15862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 15962306a36Sopenharmony_ci regulator-boot-on; 16062306a36Sopenharmony_ci regulator-always-on; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci reg_12p0v: regulator-12p0v { 16462306a36Sopenharmony_ci compatible = "regulator-fixed"; 16562306a36Sopenharmony_ci regulator-name = "D12.0V"; 16662306a36Sopenharmony_ci regulator-min-microvolt = <12000000>; 16762306a36Sopenharmony_ci regulator-max-microvolt = <12000000>; 16862306a36Sopenharmony_ci regulator-boot-on; 16962306a36Sopenharmony_ci regulator-always-on; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci sound_card: sound { 17362306a36Sopenharmony_ci compatible = "audio-graph-card"; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci dais = <&rsnd_port0 /* ak4613 */ 17662306a36Sopenharmony_ci /* HDMI is not yet supported */ 17762306a36Sopenharmony_ci >; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci vga { 18162306a36Sopenharmony_ci compatible = "vga-connector"; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci port { 18462306a36Sopenharmony_ci vga_in: endpoint { 18562306a36Sopenharmony_ci remote-endpoint = <&adv7123_out>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci vga-encoder { 19162306a36Sopenharmony_ci compatible = "adi,adv7123"; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci ports { 19462306a36Sopenharmony_ci #address-cells = <1>; 19562306a36Sopenharmony_ci #size-cells = <0>; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci port@0 { 19862306a36Sopenharmony_ci reg = <0>; 19962306a36Sopenharmony_ci adv7123_in: endpoint { 20062306a36Sopenharmony_ci remote-endpoint = <&du_out_rgb>; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci }; 20362306a36Sopenharmony_ci port@1 { 20462306a36Sopenharmony_ci reg = <1>; 20562306a36Sopenharmony_ci adv7123_out: endpoint { 20662306a36Sopenharmony_ci remote-endpoint = <&vga_in>; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci x12_clk: x12 { 21362306a36Sopenharmony_ci compatible = "fixed-clock"; 21462306a36Sopenharmony_ci #clock-cells = <0>; 21562306a36Sopenharmony_ci clock-frequency = <74250000>; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci x19_clk: x19 { 21962306a36Sopenharmony_ci compatible = "fixed-clock"; 22062306a36Sopenharmony_ci #clock-cells = <0>; 22162306a36Sopenharmony_ci clock-frequency = <24576000>; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci}; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci&audio_clk_b { 22662306a36Sopenharmony_ci /* 22762306a36Sopenharmony_ci * X11 is connected to VI4_FIELD/SCIF_CLK/AUDIO_CLKB, 22862306a36Sopenharmony_ci * and R-Car Sound uses AUDIO_CLKB. 22962306a36Sopenharmony_ci * Note is that schematic indicates VI4_FIELD conection only 23062306a36Sopenharmony_ci * not AUDIO_CLKB at SoC page. 23162306a36Sopenharmony_ci * And this VI4_FIELD/SCIF_CLK/AUDIO_CLKB is connected to SW60. 23262306a36Sopenharmony_ci * SW60 should be 1-2. 23362306a36Sopenharmony_ci */ 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci clock-frequency = <22579200>; 23662306a36Sopenharmony_ci}; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci&avb { 23962306a36Sopenharmony_ci pinctrl-0 = <&avb0_pins>; 24062306a36Sopenharmony_ci pinctrl-names = "default"; 24162306a36Sopenharmony_ci renesas,no-ether-link; 24262306a36Sopenharmony_ci phy-handle = <&phy0>; 24362306a36Sopenharmony_ci status = "okay"; 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci phy0: ethernet-phy@0 { 24662306a36Sopenharmony_ci compatible = "ethernet-phy-id0022.1622", 24762306a36Sopenharmony_ci "ethernet-phy-ieee802.3-c22"; 24862306a36Sopenharmony_ci rxc-skew-ps = <1500>; 24962306a36Sopenharmony_ci reg = <0>; 25062306a36Sopenharmony_ci interrupt-parent = <&gpio5>; 25162306a36Sopenharmony_ci interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 25262306a36Sopenharmony_ci reset-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>; 25362306a36Sopenharmony_ci /* 25462306a36Sopenharmony_ci * TX clock internal delay mode is required for reliable 25562306a36Sopenharmony_ci * 1Gbps communication using the KSZ9031RNX phy present on 25662306a36Sopenharmony_ci * the Draak board, however, TX clock internal delay mode 25762306a36Sopenharmony_ci * isn't supported on R-Car D3(e). Thus, limit speed to 25862306a36Sopenharmony_ci * 100Mbps for reliable communication. 25962306a36Sopenharmony_ci */ 26062306a36Sopenharmony_ci max-speed = <100>; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci}; 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci&can0 { 26562306a36Sopenharmony_ci pinctrl-0 = <&can0_pins>; 26662306a36Sopenharmony_ci pinctrl-names = "default"; 26762306a36Sopenharmony_ci status = "okay"; 26862306a36Sopenharmony_ci}; 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci&can1 { 27162306a36Sopenharmony_ci pinctrl-0 = <&can1_pins>; 27262306a36Sopenharmony_ci pinctrl-names = "default"; 27362306a36Sopenharmony_ci status = "okay"; 27462306a36Sopenharmony_ci}; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci&du { 27762306a36Sopenharmony_ci pinctrl-0 = <&du_pins>; 27862306a36Sopenharmony_ci pinctrl-names = "default"; 27962306a36Sopenharmony_ci status = "okay"; 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci clocks = <&cpg CPG_MOD 724>, 28262306a36Sopenharmony_ci <&cpg CPG_MOD 723>, 28362306a36Sopenharmony_ci <&x12_clk>; 28462306a36Sopenharmony_ci clock-names = "du.0", "du.1", "dclkin.0"; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci ports { 28762306a36Sopenharmony_ci port@0 { 28862306a36Sopenharmony_ci du_out_rgb: endpoint { 28962306a36Sopenharmony_ci remote-endpoint = <&adv7123_in>; 29062306a36Sopenharmony_ci }; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci }; 29362306a36Sopenharmony_ci}; 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci&ehci0 { 29662306a36Sopenharmony_ci dr_mode = "host"; 29762306a36Sopenharmony_ci status = "okay"; 29862306a36Sopenharmony_ci}; 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci&extal_clk { 30162306a36Sopenharmony_ci clock-frequency = <48000000>; 30262306a36Sopenharmony_ci}; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci&hsusb { 30562306a36Sopenharmony_ci dr_mode = "host"; 30662306a36Sopenharmony_ci status = "okay"; 30762306a36Sopenharmony_ci}; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci&i2c0 { 31062306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 31162306a36Sopenharmony_ci pinctrl-names = "default"; 31262306a36Sopenharmony_ci status = "okay"; 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ci ak4613: codec@10 { 31562306a36Sopenharmony_ci compatible = "asahi-kasei,ak4613"; 31662306a36Sopenharmony_ci #sound-dai-cells = <0>; 31762306a36Sopenharmony_ci reg = <0x10>; 31862306a36Sopenharmony_ci clocks = <&rcar_sound 0>; /* audio_clkout */ 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ci asahi-kasei,in1-single-end; 32162306a36Sopenharmony_ci asahi-kasei,in2-single-end; 32262306a36Sopenharmony_ci asahi-kasei,out1-single-end; 32362306a36Sopenharmony_ci asahi-kasei,out2-single-end; 32462306a36Sopenharmony_ci asahi-kasei,out3-single-end; 32562306a36Sopenharmony_ci asahi-kasei,out4-single-end; 32662306a36Sopenharmony_ci asahi-kasei,out5-single-end; 32762306a36Sopenharmony_ci asahi-kasei,out6-single-end; 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ci port { 33062306a36Sopenharmony_ci ak4613_endpoint: endpoint { 33162306a36Sopenharmony_ci remote-endpoint = <&rsnd_for_ak4613>; 33262306a36Sopenharmony_ci }; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci composite-in@20 { 33762306a36Sopenharmony_ci compatible = "adi,adv7180cp"; 33862306a36Sopenharmony_ci reg = <0x20>; 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci ports { 34162306a36Sopenharmony_ci #address-cells = <1>; 34262306a36Sopenharmony_ci #size-cells = <0>; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci port@0 { 34562306a36Sopenharmony_ci reg = <0>; 34662306a36Sopenharmony_ci adv7180_in: endpoint { 34762306a36Sopenharmony_ci remote-endpoint = <&composite_con_in>; 34862306a36Sopenharmony_ci }; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci port@3 { 35262306a36Sopenharmony_ci reg = <3>; 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci /* 35562306a36Sopenharmony_ci * The VIN4 video input path is shared between 35662306a36Sopenharmony_ci * CVBS and HDMI inputs through SW[49-53] 35762306a36Sopenharmony_ci * switches. 35862306a36Sopenharmony_ci * 35962306a36Sopenharmony_ci * CVBS is the default selection, link it to 36062306a36Sopenharmony_ci * VIN4 here. 36162306a36Sopenharmony_ci */ 36262306a36Sopenharmony_ci adv7180_out: endpoint { 36362306a36Sopenharmony_ci remote-endpoint = <&vin4_in>; 36462306a36Sopenharmony_ci }; 36562306a36Sopenharmony_ci }; 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci }; 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_ci hdmi-encoder@39 { 37162306a36Sopenharmony_ci compatible = "adi,adv7511w"; 37262306a36Sopenharmony_ci reg = <0x39>, <0x3f>, <0x3c>, <0x38>; 37362306a36Sopenharmony_ci reg-names = "main", "edid", "cec", "packet"; 37462306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 37562306a36Sopenharmony_ci interrupts = <28 IRQ_TYPE_LEVEL_LOW>; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci adi,input-depth = <8>; 37862306a36Sopenharmony_ci adi,input-colorspace = "rgb"; 37962306a36Sopenharmony_ci adi,input-clock = "1x"; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci ports { 38262306a36Sopenharmony_ci #address-cells = <1>; 38362306a36Sopenharmony_ci #size-cells = <0>; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci port@0 { 38662306a36Sopenharmony_ci reg = <0>; 38762306a36Sopenharmony_ci adv7511_in: endpoint { 38862306a36Sopenharmony_ci remote-endpoint = <&thc63lvd1024_out>; 38962306a36Sopenharmony_ci }; 39062306a36Sopenharmony_ci }; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci port@1 { 39362306a36Sopenharmony_ci reg = <1>; 39462306a36Sopenharmony_ci adv7511_out: endpoint { 39562306a36Sopenharmony_ci remote-endpoint = <&hdmi_con_out>; 39662306a36Sopenharmony_ci }; 39762306a36Sopenharmony_ci }; 39862306a36Sopenharmony_ci }; 39962306a36Sopenharmony_ci }; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci hdmi-decoder@4c { 40262306a36Sopenharmony_ci compatible = "adi,adv7612"; 40362306a36Sopenharmony_ci reg = <0x4c>; 40462306a36Sopenharmony_ci default-input = <0>; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci ports { 40762306a36Sopenharmony_ci #address-cells = <1>; 40862306a36Sopenharmony_ci #size-cells = <0>; 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci port@0 { 41162306a36Sopenharmony_ci reg = <0>; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci adv7612_in: endpoint { 41462306a36Sopenharmony_ci remote-endpoint = <&hdmi_con_in>; 41562306a36Sopenharmony_ci }; 41662306a36Sopenharmony_ci }; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci port@2 { 41962306a36Sopenharmony_ci reg = <2>; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci /* 42262306a36Sopenharmony_ci * The VIN4 video input path is shared between 42362306a36Sopenharmony_ci * CVBS and HDMI inputs through SW[49-53] 42462306a36Sopenharmony_ci * switches. 42562306a36Sopenharmony_ci * 42662306a36Sopenharmony_ci * CVBS is the default selection, leave HDMI 42762306a36Sopenharmony_ci * not connected here. 42862306a36Sopenharmony_ci */ 42962306a36Sopenharmony_ci adv7612_out: endpoint { 43062306a36Sopenharmony_ci pclk-sample = <0>; 43162306a36Sopenharmony_ci hsync-active = <0>; 43262306a36Sopenharmony_ci vsync-active = <0>; 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci }; 43562306a36Sopenharmony_ci }; 43662306a36Sopenharmony_ci }; 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_ci cs2000: clk-multiplier@4f { 43962306a36Sopenharmony_ci #clock-cells = <0>; 44062306a36Sopenharmony_ci compatible = "cirrus,cs2000-cp"; 44162306a36Sopenharmony_ci reg = <0x4f>; 44262306a36Sopenharmony_ci clocks = <&audio_clkout>, <&x19_clk>; /* audio_clkout_1, x19 */ 44362306a36Sopenharmony_ci clock-names = "clk_in", "ref_clk"; 44462306a36Sopenharmony_ci 44562306a36Sopenharmony_ci assigned-clocks = <&cs2000>; 44662306a36Sopenharmony_ci assigned-clock-rates = <24576000>; /* 1/1 divide */ 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci eeprom@50 { 45062306a36Sopenharmony_ci compatible = "rohm,br24t01", "atmel,24c01"; 45162306a36Sopenharmony_ci reg = <0x50>; 45262306a36Sopenharmony_ci pagesize = <8>; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci}; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci&i2c1 { 45762306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 45862306a36Sopenharmony_ci pinctrl-names = "default"; 45962306a36Sopenharmony_ci status = "okay"; 46062306a36Sopenharmony_ci}; 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci&lvds0 { 46362306a36Sopenharmony_ci status = "okay"; 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci clocks = <&cpg CPG_MOD 727>, 46662306a36Sopenharmony_ci <&x12_clk>, 46762306a36Sopenharmony_ci <&extal_clk>; 46862306a36Sopenharmony_ci clock-names = "fck", "dclkin.0", "extal"; 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ci ports { 47162306a36Sopenharmony_ci port@1 { 47262306a36Sopenharmony_ci lvds0_out: endpoint { 47362306a36Sopenharmony_ci remote-endpoint = <&thc63lvd1024_in>; 47462306a36Sopenharmony_ci }; 47562306a36Sopenharmony_ci }; 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci}; 47862306a36Sopenharmony_ci 47962306a36Sopenharmony_ci&lvds1 { 48062306a36Sopenharmony_ci /* 48162306a36Sopenharmony_ci * Even though the LVDS1 output is not connected, the encoder must be 48262306a36Sopenharmony_ci * enabled to supply a pixel clock to the DU for the DPAD output when 48362306a36Sopenharmony_ci * LVDS0 is in use. 48462306a36Sopenharmony_ci */ 48562306a36Sopenharmony_ci status = "okay"; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci clocks = <&cpg CPG_MOD 727>, 48862306a36Sopenharmony_ci <&x12_clk>, 48962306a36Sopenharmony_ci <&extal_clk>; 49062306a36Sopenharmony_ci clock-names = "fck", "dclkin.0", "extal"; 49162306a36Sopenharmony_ci}; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci&ohci0 { 49462306a36Sopenharmony_ci dr_mode = "host"; 49562306a36Sopenharmony_ci status = "okay"; 49662306a36Sopenharmony_ci}; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci&pfc { 49962306a36Sopenharmony_ci avb0_pins: avb { 50062306a36Sopenharmony_ci groups = "avb0_link", "avb0_mdio", "avb0_mii"; 50162306a36Sopenharmony_ci function = "avb0"; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci can0_pins: can0 { 50562306a36Sopenharmony_ci groups = "can0_data_a"; 50662306a36Sopenharmony_ci function = "can0"; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci can1_pins: can1 { 51062306a36Sopenharmony_ci groups = "can1_data_a"; 51162306a36Sopenharmony_ci function = "can1"; 51262306a36Sopenharmony_ci }; 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci du_pins: du { 51562306a36Sopenharmony_ci groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 51662306a36Sopenharmony_ci function = "du"; 51762306a36Sopenharmony_ci }; 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_ci i2c0_pins: i2c0 { 52062306a36Sopenharmony_ci groups = "i2c0"; 52162306a36Sopenharmony_ci function = "i2c0"; 52262306a36Sopenharmony_ci }; 52362306a36Sopenharmony_ci 52462306a36Sopenharmony_ci i2c1_pins: i2c1 { 52562306a36Sopenharmony_ci groups = "i2c1"; 52662306a36Sopenharmony_ci function = "i2c1"; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci keys_pins: keys { 53062306a36Sopenharmony_ci pins = "GP_4_12", "GP_4_13", "GP_4_14", "GP_4_15"; 53162306a36Sopenharmony_ci bias-pull-up; 53262306a36Sopenharmony_ci }; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci pwm0_pins: pwm0 { 53562306a36Sopenharmony_ci groups = "pwm0_c"; 53662306a36Sopenharmony_ci function = "pwm0"; 53762306a36Sopenharmony_ci }; 53862306a36Sopenharmony_ci 53962306a36Sopenharmony_ci pwm1_pins: pwm1 { 54062306a36Sopenharmony_ci groups = "pwm1_c"; 54162306a36Sopenharmony_ci function = "pwm1"; 54262306a36Sopenharmony_ci }; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci rpc_pins: rpc { 54562306a36Sopenharmony_ci groups = "rpc_clk2", "rpc_ctrl", "rpc_data", "rpc_reset", 54662306a36Sopenharmony_ci "rpc_int"; 54762306a36Sopenharmony_ci function = "rpc"; 54862306a36Sopenharmony_ci }; 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ci scif2_pins: scif2 { 55162306a36Sopenharmony_ci groups = "scif2_data"; 55262306a36Sopenharmony_ci function = "scif2"; 55362306a36Sopenharmony_ci }; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci sdhi2_pins: sd2 { 55662306a36Sopenharmony_ci groups = "mmc_data8", "mmc_ctrl"; 55762306a36Sopenharmony_ci function = "mmc"; 55862306a36Sopenharmony_ci power-source = <1800>; 55962306a36Sopenharmony_ci }; 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci sdhi2_pins_uhs: sd2_uhs { 56262306a36Sopenharmony_ci groups = "mmc_data8", "mmc_ctrl"; 56362306a36Sopenharmony_ci function = "mmc"; 56462306a36Sopenharmony_ci power-source = <1800>; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci sound_pins: sound { 56862306a36Sopenharmony_ci groups = "ssi34_ctrl", "ssi3_data", "ssi4_data_a"; 56962306a36Sopenharmony_ci function = "ssi"; 57062306a36Sopenharmony_ci }; 57162306a36Sopenharmony_ci 57262306a36Sopenharmony_ci sound_clk_pins: sound-clk { 57362306a36Sopenharmony_ci groups = "audio_clk_a", "audio_clk_b", 57462306a36Sopenharmony_ci "audio_clkout", "audio_clkout1"; 57562306a36Sopenharmony_ci function = "audio_clk"; 57662306a36Sopenharmony_ci }; 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ci usb0_pins: usb0 { 57962306a36Sopenharmony_ci groups = "usb0"; 58062306a36Sopenharmony_ci function = "usb0"; 58162306a36Sopenharmony_ci }; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci vin4_pins_cvbs: vin4 { 58462306a36Sopenharmony_ci groups = "vin4_data8", "vin4_sync", "vin4_clk"; 58562306a36Sopenharmony_ci function = "vin4"; 58662306a36Sopenharmony_ci }; 58762306a36Sopenharmony_ci}; 58862306a36Sopenharmony_ci 58962306a36Sopenharmony_ci&pwm0 { 59062306a36Sopenharmony_ci pinctrl-0 = <&pwm0_pins>; 59162306a36Sopenharmony_ci pinctrl-names = "default"; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci status = "okay"; 59462306a36Sopenharmony_ci}; 59562306a36Sopenharmony_ci 59662306a36Sopenharmony_ci&pwm1 { 59762306a36Sopenharmony_ci pinctrl-0 = <&pwm1_pins>; 59862306a36Sopenharmony_ci pinctrl-names = "default"; 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_ci status = "okay"; 60162306a36Sopenharmony_ci}; 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_ci&rcar_sound { 60462306a36Sopenharmony_ci pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 60562306a36Sopenharmony_ci pinctrl-names = "default"; 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_ci /* Single DAI */ 60862306a36Sopenharmony_ci #sound-dai-cells = <0>; 60962306a36Sopenharmony_ci 61062306a36Sopenharmony_ci /* audio_clkout0/1 */ 61162306a36Sopenharmony_ci #clock-cells = <1>; 61262306a36Sopenharmony_ci clock-frequency = <12288000 11289600>; 61362306a36Sopenharmony_ci 61462306a36Sopenharmony_ci status = "okay"; 61562306a36Sopenharmony_ci 61662306a36Sopenharmony_ci clocks = <&cpg CPG_MOD 1005>, 61762306a36Sopenharmony_ci <&cpg CPG_MOD 1011>, <&cpg CPG_MOD 1012>, 61862306a36Sopenharmony_ci <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>, 61962306a36Sopenharmony_ci <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 62062306a36Sopenharmony_ci <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 62162306a36Sopenharmony_ci <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 62262306a36Sopenharmony_ci <&cs2000>, <&audio_clk_b>, 62362306a36Sopenharmony_ci <&cpg CPG_CORE R8A77995_CLK_ZA2>; 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci ports { 62662306a36Sopenharmony_ci rsnd_port0: port { 62762306a36Sopenharmony_ci rsnd_for_ak4613: endpoint { 62862306a36Sopenharmony_ci remote-endpoint = <&ak4613_endpoint>; 62962306a36Sopenharmony_ci dai-format = "left_j"; 63062306a36Sopenharmony_ci bitclock-master = <&rsnd_for_ak4613>; 63162306a36Sopenharmony_ci frame-master = <&rsnd_for_ak4613>; 63262306a36Sopenharmony_ci playback = <&ssi3>, <&src5>, <&dvc0>; 63362306a36Sopenharmony_ci capture = <&ssi4>, <&src6>, <&dvc1>; 63462306a36Sopenharmony_ci }; 63562306a36Sopenharmony_ci }; 63662306a36Sopenharmony_ci }; 63762306a36Sopenharmony_ci}; 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_ci&rpc { 64062306a36Sopenharmony_ci pinctrl-0 = <&rpc_pins>; 64162306a36Sopenharmony_ci pinctrl-names = "default"; 64262306a36Sopenharmony_ci 64362306a36Sopenharmony_ci /* Left disabled. To be enabled by firmware when unlocked. */ 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_ci flash@0 { 64662306a36Sopenharmony_ci compatible = "cypress,hyperflash", "cfi-flash"; 64762306a36Sopenharmony_ci reg = <0>; 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_ci partitions { 65062306a36Sopenharmony_ci compatible = "fixed-partitions"; 65162306a36Sopenharmony_ci #address-cells = <1>; 65262306a36Sopenharmony_ci #size-cells = <1>; 65362306a36Sopenharmony_ci 65462306a36Sopenharmony_ci bootparam@0 { 65562306a36Sopenharmony_ci reg = <0x00000000 0x040000>; 65662306a36Sopenharmony_ci read-only; 65762306a36Sopenharmony_ci }; 65862306a36Sopenharmony_ci bl2@40000 { 65962306a36Sopenharmony_ci reg = <0x00040000 0x140000>; 66062306a36Sopenharmony_ci read-only; 66162306a36Sopenharmony_ci }; 66262306a36Sopenharmony_ci cert_header_sa6@180000 { 66362306a36Sopenharmony_ci reg = <0x00180000 0x040000>; 66462306a36Sopenharmony_ci read-only; 66562306a36Sopenharmony_ci }; 66662306a36Sopenharmony_ci bl31@1c0000 { 66762306a36Sopenharmony_ci reg = <0x001c0000 0x040000>; 66862306a36Sopenharmony_ci read-only; 66962306a36Sopenharmony_ci }; 67062306a36Sopenharmony_ci tee@200000 { 67162306a36Sopenharmony_ci reg = <0x00200000 0x440000>; 67262306a36Sopenharmony_ci read-only; 67362306a36Sopenharmony_ci }; 67462306a36Sopenharmony_ci uboot@640000 { 67562306a36Sopenharmony_ci reg = <0x00640000 0x100000>; 67662306a36Sopenharmony_ci read-only; 67762306a36Sopenharmony_ci }; 67862306a36Sopenharmony_ci dtb@740000 { 67962306a36Sopenharmony_ci reg = <0x00740000 0x080000>; 68062306a36Sopenharmony_ci }; 68162306a36Sopenharmony_ci kernel@7c0000 { 68262306a36Sopenharmony_ci reg = <0x007c0000 0x1400000>; 68362306a36Sopenharmony_ci }; 68462306a36Sopenharmony_ci user@1bc0000 { 68562306a36Sopenharmony_ci reg = <0x01bc0000 0x2440000>; 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci }; 68862306a36Sopenharmony_ci }; 68962306a36Sopenharmony_ci}; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ci&rwdt { 69262306a36Sopenharmony_ci timeout-sec = <60>; 69362306a36Sopenharmony_ci status = "okay"; 69462306a36Sopenharmony_ci}; 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci&scif2 { 69762306a36Sopenharmony_ci pinctrl-0 = <&scif2_pins>; 69862306a36Sopenharmony_ci pinctrl-names = "default"; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci status = "okay"; 70162306a36Sopenharmony_ci}; 70262306a36Sopenharmony_ci 70362306a36Sopenharmony_ci&sdhi2 { 70462306a36Sopenharmony_ci /* used for on-board eMMC */ 70562306a36Sopenharmony_ci pinctrl-0 = <&sdhi2_pins>; 70662306a36Sopenharmony_ci pinctrl-1 = <&sdhi2_pins_uhs>; 70762306a36Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_ci vmmc-supply = <®_3p3v>; 71062306a36Sopenharmony_ci vqmmc-supply = <®_1p8v>; 71162306a36Sopenharmony_ci bus-width = <8>; 71262306a36Sopenharmony_ci mmc-hs200-1_8v; 71362306a36Sopenharmony_ci no-sd; 71462306a36Sopenharmony_ci no-sdio; 71562306a36Sopenharmony_ci non-removable; 71662306a36Sopenharmony_ci status = "okay"; 71762306a36Sopenharmony_ci}; 71862306a36Sopenharmony_ci 71962306a36Sopenharmony_ci&ssi4 { 72062306a36Sopenharmony_ci shared-pin; 72162306a36Sopenharmony_ci}; 72262306a36Sopenharmony_ci 72362306a36Sopenharmony_ci&usb2_phy0 { 72462306a36Sopenharmony_ci pinctrl-0 = <&usb0_pins>; 72562306a36Sopenharmony_ci pinctrl-names = "default"; 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_ci renesas,no-otg-pins; 72862306a36Sopenharmony_ci status = "okay"; 72962306a36Sopenharmony_ci}; 73062306a36Sopenharmony_ci 73162306a36Sopenharmony_ci&vin4 { 73262306a36Sopenharmony_ci pinctrl-0 = <&vin4_pins_cvbs>; 73362306a36Sopenharmony_ci pinctrl-names = "default"; 73462306a36Sopenharmony_ci 73562306a36Sopenharmony_ci status = "okay"; 73662306a36Sopenharmony_ci 73762306a36Sopenharmony_ci ports { 73862306a36Sopenharmony_ci port { 73962306a36Sopenharmony_ci vin4_in: endpoint { 74062306a36Sopenharmony_ci remote-endpoint = <&adv7180_out>; 74162306a36Sopenharmony_ci }; 74262306a36Sopenharmony_ci }; 74362306a36Sopenharmony_ci }; 74462306a36Sopenharmony_ci}; 745