From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6276C188713 for ; Wed, 29 Apr 2026 14:08:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777471684; cv=none; b=SojzNwLDTqAHAZyndwOQB9LR+PTilZSMLW9djkFPV8aCErZCti7cMeBAky2S0MXThosFpAVVV0Guban9N/Bud5hlczhACWDOBXnax74thNJkOn8xr3048befXfRaHKVFOGvGIW/AVnTPjz8jx/VxNZ9VYVRpRC/vlfmFJtpLFv0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777471684; c=relaxed/simple; bh=8/gqbBByUF/qj+40FkmH/ZBXiKltS+d8RSJnRFVG0V4=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=iIB0eASw4Z6BYzZ2JZuDyq9DSbZwMWYE6rgGeeqgGwZfv5SvYFctZZY7xIJa9TUJLl2Q8mOr0fnSCyjWyo2xXC5cdr9zxk4d6UPnxyqAUTwSYBJ/vh8Ugijo4bhDjdj0n1Pfwwuyc2213GgdPMG6WfAhdptcxnRyy6KEAFc8CcQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-677f7c29af6so12888545a12.2 for ; Wed, 29 Apr 2026 07:08:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777471681; x=1778076481; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tEcO5cbI0n9F5LchVLXteROvOFwjs6PtrH4uY/Hp5EQ=; b=eAnaviwuPy4CpnDenk0zdWFcUxweWoMB+KLipiwehOonqOQYdMLHg83stcJGHOmUIR f04YxNIIgSa8ZzVRNJ1D6z9RVeXaOnCr1yQZGhQh8CL54hRewanOh0T9/kwlgWcoFFHU db7NsnhaGY43egEpeb++am781Aabua7Sc5tZpxtTUdARF4UQyo8Gdziux5W97aYHuYg8 KaBNRrmonQ4sQKE6+R1iFECevj3JPWm4RZc9c7Zws4YhPN1l5ccxEj2GBJ6+OcsctiMT hIY28z9aHj9QD14xFWPNIbOZTk7I/ASDdR/r9gQ9vuwg+kZRTcdi3kfgi8LEPSx2a/vV i8dg== X-Forwarded-Encrypted: i=1; AFNElJ/DvKzyItZG0TJpMdBzU+EsCGUG0XnP4r+6D3bofIF6JhQWrrJt4c8SBJOkJX1TDoDayT72a2l4BaKc4ew=@vger.kernel.org X-Gm-Message-State: AOJu0Yxro5H0dV8n8lkosmwVZ7gPVeqhP3J0S9ygT7zTargQxeIUGJht uQbGL/UhcnaN5Z2xPDIp9wr2NVM2roHjuKG+UuWgprR+9QeRHj/juY0XgQFxnSXHMD8= X-Gm-Gg: AeBDietS75zPhUrpbMjiYw0oQh0kMASLQ0oq/PhLvS724zT+qj2IxC26Pbhr92/glLT cXDvGC83OGBlu+8Ep1gr1ctTG59++El+NmVJfhDrs2OzYTEKHw5hQVcXQk20eD013+2bldlDFfI 6wS30oDXMB5dKMLj8aj1g9DdplWvIstn8Js6wQhL32/jNOX6lyQmG1Dj0AmZmQoKAb5DTnQrl8I ceqVWHkc44/RgB4/MARtX8eC9KZTjjAf4emEYHr/ZO+x9dc9Lea1mCIHvA/fpxk9+JpdUgQEVo0 pptZniJjLvb4LQtd/nPuIeTmC5q1oc9sNXFnjX9fMZtkXjKgIpBl8I68OUgT9WBCH7yvm8ruQ3z mblLd5NV3vQlpu6GgahE8YWnndN0TGee/8dUl3wMi7yP4id0LIxcZslbDlugHkG9ly7/hbedf1B /kk0sr5RxH9AIVmnHPGYE+g7VO+XbvzhwggMDNaRRGxw1WcdlpTLbZqmiVY2wjL2axGizpSro= X-Received: by 2002:a17:906:7306:b0:b98:2462:959d with SMTP id a640c23a62f3a-bb803778b89mr503570966b.31.1777471679787; Wed, 29 Apr 2026 07:07:59 -0700 (PDT) Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com. [209.85.218.53]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb985e1d691sm98249666b.51.2026.04.29.07.07.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Apr 2026 07:07:59 -0700 (PDT) Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-ba92146cc86so1462202666b.1 for ; Wed, 29 Apr 2026 07:07:58 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ+iK1tE8BjM1SlK+q/XGMWIrJMzBjWCyi1F7D2cUpYzMifRamT8einZS7xbGQfJKRs3sGOsk29TjpMwgQc=@vger.kernel.org X-Received: by 2002:a05:6402:548c:b0:670:a244:6eea with SMTP id 4fb4d7f45d1cf-679bb0574e3mr3821293a12.10.1777471190487; Wed, 29 Apr 2026 06:59:50 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260419193718.133174-1-marek.vasut+renesas@mailbox.org> <20260419193718.133174-8-marek.vasut+renesas@mailbox.org> In-Reply-To: <20260419193718.133174-8-marek.vasut+renesas@mailbox.org> From: Geert Uytterhoeven Date: Wed, 29 Apr 2026 15:59:36 +0200 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4IgxJNRLMmWlOJ_GSU2Ddw5woY9f107UyS0lARqjrE0d4QZQc3E5sY57FI Message-ID: Subject: Re: [PATCH 7/7] arm64: dts: renesas: r8a779md: Add support for R-Car M3Le R8A779MD Geist To: Marek Vasut Cc: linux-arm-kernel@lists.infradead.org, Nguyen Tran , Conor Dooley , David Airlie , Kieran Bingham , Krzysztof Kozlowski , Kuninori Morimoto , Laurent Pinchart , Magnus Damm , Maxime Ripard , Michael Turquette , Rob Herring , Simona Vetter , Stephen Boyd , Thomas Zimmermann , Tomi Valkeinen , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Hi Marek, Thanks for your patch! On Sun, 19 Apr 2026 at 21:38, Marek Vasut wrote: > From: Nguyen Tran > > Add support for the Geist board based on the Renesas R-Car R8A779MD (M3Le) > SoC, a register-compatible variant of the R8A77965 (M3-N) with reduced set > of peripherals. The Geist board design references the Renesas Salvator-X/XS > boards, adapting their configuration for the R8A779MD SoC. The latter is only true for the panel overlay, which should IMHO be a separate patch. > Signed-off-by: Nguyen Tran > Signed-off-by: Marek Vasut > --- a/arch/arm64/boot/dts/renesas/Makefile > +++ b/arch/arm64/boot/dts/renesas/Makefile > @@ -60,6 +60,9 @@ r8a77965-salvator-xs-panel-aa104xd12-dtbs := r8a77965-salvator-xs.dtb salvator-p > dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-salvator-xs-panel-aa104xd12.dtb > dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-ulcb.dtb > dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-ulcb-kf.dtb > +dtb-$(CONFIG_ARCH_R8A77965) += r8a779md-geist.dtb > +r8a779md-geist-panel-aa104xd12-dtbs := r8a779md-geist.dtb geist-panel-aa104xd12.dtbo > +dtb-$(CONFIG_ARCH_R8A77965) += r8a779md-geist-panel-aa104xd12.dtb > > dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb > dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle-function-expansion.dtbo > diff --git a/arch/arm64/boot/dts/renesas/geist-panel-aa104xd12.dtso b/arch/arm64/boot/dts/renesas/geist-panel-aa104xd12.dtso > new file mode 100644 > index 0000000000000..c8e39811eb051 > --- /dev/null > +++ b/arch/arm64/boot/dts/renesas/geist-panel-aa104xd12.dtso > @@ -0,0 +1,17 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree overlay for the AA104XD12 panel connected to LVDS0 on a Geist board > + * > + * Copyright 2026 Marek Vasut > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include This include is not needed? > + > +#include "salvator-panel-aa104xd12.dtso" > + > +&{/panel} { > + data-mapping = "jeida-24"; Is there any specific reason Geist needs "jeida-24", while all other boards use "jeida-18"? It looks like the major difference between Salvator-X(S) and Geist vs. Draak and Ebisu is that the former connect to lvds0, and the latter to lvds1. So what about renaming salvator-panel-aa104xd12.dtso to lvds0-panel-aa104xd12.dtso, and draak-ebisu-panel-aa104xd12.dtso to lvds1-panel-aa104xd12.dtso? > +}; > --- /dev/null > +++ b/arch/arm64/boot/dts/renesas/r8a779md-geist.dts > @@ -0,0 +1,832 @@ > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +/* > + * Device Tree Source for the Geist board with R-Car M3Le > + * > + * Copyright (C) 2025-2026 Renesas Electronics Corp. > + */ > + > +/dts-v1/; > +#include > +#include > +#include "r8a779md.dtsi" > + > +/ { > + model = "Renesas Geist board based on r8a779md"; > + compatible = "renesas,geist", "renesas,r8a779md", "renesas,r8a77965"; > + > + aliases { > + serial0 = &scif2; > + serial1 = &hscif1; > + ethernet0 = &avb; > + mmc0 = &sdhi2; > + mmc1 = &sdhi0; > + }; > + > + chosen { > + bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; > + stdout-path = "serial0:115200n8"; > + }; > + > + memory@48000000 { > + device_type = "memory"; > + /* first 128MB is reserved for secure area. */ > + reg = <0x0 0x48000000 0x0 0x78000000>; MT53E1G32D2FW-046 is a 32 Gib part, so there should be 4 GiB of RAM in total. > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + /* Device specific region for Lossy Decompression */ > + lossy_decompress: linux,lossy_decompress@54000000 { > + no-map; > + reg = <0x00000000 0x54000000 0x0 0x03000000>; > + }; Please drop this node. It should be added by the firmware stack when needed. > + }; > + > + audio_clkout: audio-clkout { Please sort nodes without unit address by name (everywhere). > + /* > + * FIXME Please drop the literal "FIXME". > + * This is same as <&rcar_sound 0> > + * but needed to avoid cs2500/rcar_sound probe dead-lock > + */ > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <12288000>; > + }; > + > + backlight: backlight { > + compatible = "pwm-backlight"; > + pwms = <&pwm1 0 50000>; > + > + brightness-levels = <256 128 64 16 8 4 0>; > + default-brightness-level = <6>; > + > + power-supply = <®_12v>; > + enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; > + }; > + > + cvbs-in { > + compatible = "composite-video-connector"; > + label = "CVBS IN"; > + > + port { > + cvbs_con: endpoint { > + remote-endpoint = <&adv7482_ain7>; > + }; > + }; > + }; > + > + hdmi-in { > + compatible = "hdmi-connector"; > + label = "HDMI IN"; > + type = "a"; > + > + port { > + hdmi_in_con: endpoint { > + remote-endpoint = <&adv7482_hdmi>; > + }; > + }; > + }; > + > + keys { > + compatible = "gpio-keys"; > + > + pinctrl-0 = <&keys_pins>; > + pinctrl-names = "default"; > + > + key-1 { > + gpios = <&gpio5 17 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "SW4-1"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-2 { > + gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "SW4-2"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-3 { > + gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "SW4-3"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-4 { > + gpios = <&gpio5 23 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "SW4-4"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-a { > + gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "TSW0"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-b { > + gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "TSW1"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-c { > + gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; > + linux,code = ; > + label = "TSW2"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + }; > + > + reg_1p8v: regulator0 { Please no indexed regulators (everywhere), as they cause conflicts: regulator-1p8v. > + compatible = "regulator-fixed"; > + regulator-name = "fixed-1.8V"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + reg_3p3v: regulator1 { > + compatible = "regulator-fixed"; > + regulator-name = "fixed-3.3V"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + reg_12v: regulator2 { > + compatible = "regulator-fixed"; > + regulator-name = "fixed-12V"; > + regulator-min-microvolt = <12000000>; > + regulator-max-microvolt = <12000000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + sound_card: sound { > + compatible = "audio-graph-card"; > + > + label = "rcar-sound"; > + dais = <&rsnd_port0>; /* AK4619 Audio Codec */ > + }; > + > + vbus0_usb2: regulator-vbus0-usb2 { > + compatible = "regulator-fixed"; > + > + regulator-name = "USB20_VBUS0"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + > + gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > + vcc_sdhi0: regulator-vcc-sdhi0 { > + compatible = "regulator-fixed"; > + > + regulator-name = "SDHI0 Vcc"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + > + gpio = <&gpio5 2 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 = <&gpio5 1 GPIO_ACTIVE_HIGH>; > + gpios-states = <1>; > + states = <3300000 1>, <1800000 0>; > + }; > + > + vga { > + compatible = "vga-connector"; > + > + port { > + vga_in: endpoint { > + remote-endpoint = <&adv7123_out>; > + }; > + }; > + }; > + > + vga-encoder { > + compatible = "adi,adv7123"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + adv7123_in: endpoint { > + remote-endpoint = <&du_out_rgb>; > + }; > + }; > + port@1 { > + reg = <1>; > + adv7123_out: endpoint { > + remote-endpoint = <&vga_in>; > + }; > + }; > + }; > + }; > + > + x12_clk: x12 { x12-clock > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <24576000>; > + }; > + > + /* External DU dot clocks */ > + x21_clk: x21-clock { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <33000000>; > + }; > + > + x22_clk: x22-clock { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <33000000>; > + }; X22 is not wired to anything; should we keep it? > + > + x23_clk: x23-clock { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <25000000>; > + }; > + > + x3013_clk: x3013-clock { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <25000000>; > + }; > +}; > + > +&audio_clk_a { > + clock-frequency = <22579200>; > +}; > + > +&avb { > + pinctrl-0 = <&avb_pins>; > + pinctrl-names = "default"; > + phy-handle = <&phy0>; > + tx-internal-delay-ps = <2000>; > + status = "okay"; > + > + phy0: ethernet-phy@0 { compatible = "ethernet-phy-id0022.1622"; > + rxc-skew-ps = <1500>; > + reg = <0>; > + interrupt-parent = <&gpio2>; > + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; interrupts-extended = <&gpio2 11 IRQ_TYPE_LEVEL_LOW>; > + reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; > + reset-assert-us = <100>; > + reset-deassert-us = <100>; Do we need these two? We don't have them in e.g. arch/arm64/boot/dts/renesas/salvator-common.dtsi > + }; > +}; > + > +&csi40 { > + status = "okay"; > + > + ports { > + port@0 { > + csi40_in: endpoint { > + clock-lanes = <0>; > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&adv7482_txa>; > + }; > + }; > + }; > +}; > + > +&du { > + pinctrl-0 = <&du_pins>; > + pinctrl-names = "default"; > + clocks = <&cpg CPG_MOD 724>, > + <&cpg CPG_MOD 723>, > + <&cpg CPG_MOD 721>, > + <&versaclock5 1>, > + <&x21_clk>, > + <&versaclock5 2>; > + clock-names = "du.0", "du.1", "du.3", > + "dclkin.0", "dclkin.1", "dclkin.3"; > + status = "okay"; > + > + ports { > + port@0 { > + du_out_rgb: endpoint { > + remote-endpoint = <&adv7123_in>; > + }; > + }; > + }; > +}; > + > +&ehci0 { > + dr_mode = "otg"; > + status = "okay"; > +}; > + > +&ehci1 { > + status = "okay"; > +}; R-Car M3Le does not have the second USB2 channel. > + > +&extalr_clk { > + clock-frequency = <32768>; > +}; > + > +&extal_clk { > + clock-frequency = <16666666>; > +}; > + > +&hscif1 { > + pinctrl-0 = <&hscif1_pins>; > + pinctrl-names = "default"; > + > + uart-has-rtscts; > + /* Please only enable hscif1 or scif1 */ > + status = "okay"; > +}; > + > +&hsusb { > + dr_mode = "otg"; > + status = "okay"; > +}; > + > +&i2c2 { > + pinctrl-0 = <&i2c2_pins>; > + pinctrl-names = "default"; > + clock-frequency = <100000>; > + status = "okay"; > + > + ak4619: codec@10 { > + compatible = "asahi-kasei,ak4619"; > + reg = <0x10>; > + clocks = <&rcar_sound 3>; > + clock-names = "mclk"; > + #sound-dai-cells = <0>; > + > + port { > + ak4619_endpoint: endpoint { > + remote-endpoint = <&rsnd_endpoint0>; > + }; > + }; > + }; > + > + /* Pin-to-pin, register map, and control compatible with CS2000 and CS2200 */ > + cs2500: clk_multiplier@4f { clock-controller > + #clock-cells = <0>; > + compatible = "cirrus,cs2500-cp", "cirrus,cs2000-cp"; probably the "-cp" should be dropped from the first compatible value, cfr. my comment on the DT bindings patch. > + reg = <0x4f>; > + clocks = <&audio_clkout>, <&x12_clk>; > + clock-names = "clk_in", "ref_clk"; > + > + assigned-clocks = <&cs2500>; > + assigned-clock-rates = <24576000>; /* 1/1 divide */ > + }; > +}; > + > +&i2c4 { > + clock-frequency = <400000>; > + status = "okay"; > + > + versaclock3: clock-generator@68 { clock-controller? > + compatible = "renesas,5p35023"; > + reg = <0x68>; > + #clock-cells = <1>; > + clocks = <&x3013_clk>; > + assigned-clocks = <&versaclock3 4>, <&versaclock3 5>; > + assigned-clock-rates = <100000000>, <100000000>; > + }; > + > + versaclock5: clock-generator@6a { clock-controller? > + compatible = "idt,5p49v5923"; > + reg = <0x6a>; > + #clock-cells = <1>; > + clocks = <&x23_clk>; > + clock-names = "xin"; > + }; > + > + video-receiver@70 { > + compatible = "adi,adv7482"; > + reg = <0x70 0x71 0x72 0x73 0x74 0x75 > + 0x60 0x61 0x62 0x63 0x64 0x65>; > + reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater", > + "infoframe", "cbus", "cec", "sdp", "txa", "txb" ; > + > + interrupt-parent = <&gpio6>; > + interrupts = <30 IRQ_TYPE_LEVEL_LOW>, > + <31 IRQ_TYPE_LEVEL_LOW>; interrupts-extended = <&gpio6 30 IRQ_TYPE_LEVEL_LOW>, <&gpio6 31 IRQ_TYPE_LEVEL_LOW>; > + interrupt-names = "intrq1", "intrq2"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@7 { > + reg = <7>; > + > + adv7482_ain7: endpoint { > + remote-endpoint = <&cvbs_con>; > + }; > + }; > + > + port@8 { > + reg = <8>; > + > + adv7482_hdmi: endpoint { > + remote-endpoint = <&hdmi_in_con>; > + }; > + }; > + > + port@a { > + reg = <10>; > + > + adv7482_txa: endpoint { > + clock-lanes = <0>; > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&csi40_in>; > + }; > + }; > + }; > + }; > + > + csa_vdd: adc@7c { > + compatible = "maxim,max9611"; > + reg = <0x7c>; > + > + shunt-resistor-micro-ohms = <5000>; > + }; > + > + csa_dvfs: adc@7f { > + compatible = "maxim,max9611"; > + reg = <0x7f>; > + > + shunt-resistor-micro-ohms = <5000>; > + }; > +}; > + > +&i2c_dvfs { > + status = "okay"; > + > + clock-frequency = <400000>; > + > + eeprom@50 { > + compatible = "rohm,br24t01", "atmel,24c01"; > + reg = <0x50>; > + pagesize = <8>; > + }; > +}; > + > +&ohci0 { > + dr_mode = "otg"; > + status = "okay"; > +}; > + > +&ohci1 { > + status = "okay"; > +}; R-Car M3Le does not have the second USB2 channel. > + > +&pcie_bus_clk { > + status = "disabled"; > +}; > + > +&pciec0 { > + clocks = <&cpg CPG_MOD 319>, <&versaclock3 4>; > + status = "okay"; > +}; > + > +&pciec0_rp { > + clocks = <&versaclock3 5>; > +}; > + > +&pfc { > + pinctrl-0 = <&scif_clk_pins>; > + pinctrl-names = "default"; > + > + avb_pins: avb { > + mux { > + groups = "avb_link", "avb_mdio", "avb_mii"; > + function = "avb"; > + }; > + > + pins_mdio { > + groups = "avb_mdio"; > + drive-strength = <24>; > + }; > + > + pins_mii_tx { > + pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0", > + "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3"; > + drive-strength = <12>; > + }; > + }; > + > + du_pins: du { > + groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0"; > + function = "du"; > + }; > + > + hscif1_pins: hscif1 { > + groups = "hscif1_data_a", "hscif1_ctrl_a"; > + function = "hscif1"; > + }; > + > + i2c2_pins: i2c2 { > + groups = "i2c2_a"; > + function = "i2c2"; > + }; > + > + irq0_pins: irq0 { > + groups = "intc_ex_irq0"; > + function = "intc_ex"; > + }; > + > + keys_pins: keys { > + pins = "GP_5_17", "GP_5_20", "GP_5_22"; > + bias-pull-up; > + }; > + > + pwm1_pins: pwm1 { > + groups = "pwm1_a"; > + function = "pwm1"; > + }; > + > + pwm2_pins: pwm2 { > + groups = "pwm2_a"; > + function = "pwm2"; > + }; What is pwm2 used for? > + > + scif1_pins: scif1 { > + groups = "scif1_data_a", "scif1_ctrl"; > + function = "scif1"; > + }; > + > + scif2_pins: scif2 { > + groups = "scif2_data_a"; > + function = "scif2"; > + }; > + > + scif_clk_pins: scif_clk { > + groups = "scif_clk_a"; > + function = "scif_clk"; > + }; > + > + sdhi0_pins: sd0 { > + groups = "sdhi0_data4", "sdhi0_ctrl"; > + function = "sdhi0"; > + power-source = <3300>; > + }; > + > + sdhi0_pins_uhs: sd0_uhs { > + groups = "sdhi0_data4", "sdhi0_ctrl"; > + function = "sdhi0"; > + power-source = <1800>; > + }; > + > + sdhi2_pins: sd2 { > + groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds"; > + function = "sdhi2"; > + power-source = <1800>; > + }; > + > + sound_pins: sound { > + groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; > + function = "ssi"; > + }; > + > + sound_clk_pins: sound_clk { > + groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a", > + "audio_clkout_a", "audio_clkout3_a"; > + function = "audio_clk"; > + }; > + > + usb0_pins: usb0 { > + groups = "usb0"; > + function = "usb0"; > + }; > + > + usb1_pins: usb1 { > + mux { > + groups = "usb1"; > + function = "usb1"; > + }; > + > + ovc { > + pins = "GP_6_27"; > + bias-pull-up; > + }; > + > + pwen { > + pins = "GP_6_26"; > + bias-pull-down; > + }; > + }; R-Car M3Le does not have the second USB2 channel. > +}; > + > +&pwm1 { > + pinctrl-0 = <&pwm1_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > +}; > + > +&pwm2 { > + pinctrl-0 = <&pwm2_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > +}; What is pwm2 used for? > + > +&rcar_sound { > + pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; > + pinctrl-names = "default"; > + > + /* Single DAI */ > + #sound-dai-cells = <0>; > + > + /* audio_clkout0/1/2/3 */ > + #clock-cells = <1>; > + clock-frequency = <12288000 11289600>; > + > + status = "okay"; > + > + /* update to */ > + clocks = <&cpg CPG_MOD 1005>, > + <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, > + <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, > + <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, > + <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, > + <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, > + <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, > + <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, > + <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, > + <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, > + <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, > + <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, > + <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, > + <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, > + <&audio_clk_a>, <&cs2500>, > + <&audio_clk_c>, > + <&cpg CPG_MOD 922>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + rsnd_port0: port { port@0 { reg = <0>; > + rsnd_endpoint0: endpoint { > + remote-endpoint = <&ak4619_endpoint>; > + dai-format = "left_j"; > + bitclock-master = <&rsnd_endpoint0>; > + frame-master = <&rsnd_endpoint0>; > + playback = <&ssi0>, <&src0>, <&dvc0>; > + capture = <&ssi1>, <&src1>, <&dvc1>; > + }; > + }; > + }; > +}; > + > +&rwdt { > + timeout-sec = <60>; > + status = "okay"; > +}; > + > +&scif1 { > + pinctrl-0 = <&scif1_pins>; > + pinctrl-names = "default"; > + > + uart-has-rtscts; > + /* Please only enable hscif1 or scif1 */ > + /* status = "okay"; */ > +}; > + > +&scif2 { > + pinctrl-0 = <&scif2_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > +}; > + > +&scif_clk { > + clock-frequency = <14745600>; > +}; > + > +&sdhi0 { > + pinctrl-0 = <&sdhi0_pins>; > + pinctrl-1 = <&sdhi0_pins_uhs>; > + pinctrl-names = "default", "state_uhs"; > + > + vmmc-supply = <&vcc_sdhi0>; > + vqmmc-supply = <&vccq_sdhi0>; > + cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; > + wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; > + bus-width = <4>; > + sd-uhs-sdr50; > + sd-uhs-sdr104; > + status = "okay"; > +}; > + > +&sdhi2 { > + /* used for on-board 8bit eMMC */ > + pinctrl-0 = <&sdhi2_pins>; > + pinctrl-1 = <&sdhi2_pins>; > + pinctrl-names = "default", "state_uhs"; > + > + iommus = <&ipmmu_ds1 34>; This belongs in the .dtsi file, and it is already there. > + > + vmmc-supply = <®_3p3v>; > + vqmmc-supply = <®_1p8v>; > + bus-width = <8>; > + mmc-hs200-1_8v; > + no-sd; > + no-sdio; > + non-removable; > + fixed-emmc-driver-type = <1>; > + full-pwr-cycle-in-suspend; > + status = "okay"; > +}; > + > +&ssi1 { > + shared-pin; > +}; > + > +&usb_extal_clk { > + clock-frequency = <50000000>; > +}; > + > +&usb2_phy0 { > + pinctrl-0 = <&usb0_pins>; > + pinctrl-names = "default"; > + > + vbus-supply = <&vbus0_usb2>; > + status = "okay"; > +}; > + > +&usb2_phy1 { > + pinctrl-0 = <&usb1_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > +}; R-Car M3Le does not have the second USB2 channel. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds