mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stefan Wahren <wahrenst@gmx.net>
To: Sebastian Reichel <sre@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	NXP Linux Team <linux-imx@nxp.com>
Cc: Dong Aisheng <aisheng.dong@nxp.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 14/14] ARM: dts: imx6ull-uti260b: Add board
Date: Mon, 12 Feb 2024 19:28:36 +0100	[thread overview]
Message-ID: <c38e7c68-e725-4174-aa0a-0594a55c8d56@gmx.net> (raw)
In-Reply-To: <20240210012114.489102-15-sre@kernel.org>

Hi Sebastian,

Am 10.02.24 um 02:18 schrieb Sebastian Reichel:
> Add UNI-T UTi260b thermal camera board.
>
> Signed-off-by: Sebastian Reichel <sre@kernel.org>
> ---
>   arch/arm/boot/dts/nxp/imx/Makefile            |   1 +
>   arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts | 564 ++++++++++++++++++
>   2 files changed, 565 insertions(+)
>   create mode 100644 arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts
>
> diff --git a/arch/arm/boot/dts/nxp/imx/Makefile b/arch/arm/boot/dts/nxp/imx/Makefile
> index a724d1a7a9a0..47350cf3ddeb 100644
> --- a/arch/arm/boot/dts/nxp/imx/Makefile
> +++ b/arch/arm/boot/dts/nxp/imx/Makefile
> @@ -349,6 +349,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
>   	imx6ull-tarragon-slavext.dtb \
>   	imx6ull-tqma6ull2-mba6ulx.dtb \
>   	imx6ull-tqma6ull2l-mba6ulx.dtb \
> +	imx6ull-uti260b.dtb \
>   	imx6ulz-14x14-evk.dtb \
>   	imx6ulz-bsh-smm-m2.dtb
>   dtb-$(CONFIG_SOC_IMX7D) += \
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts b/arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts
> new file mode 100644
> index 000000000000..336727895fa4
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts
> @@ -0,0 +1,564 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +// Copyright (C) 2022 Sebastian Reichel <sre@kernel.org>
2024 ?
> +
> +/dts-v1/;
> +#include "imx6ull.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/clock/imx6ul-clock.h>
> +
> +/ {
> +	model = "UNI-T UTi260B Thermal Camera";
> +	compatible = "uni-t,imx6ull-uti260b", "fsl,imx6ull";
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	memory@80000000 {
> +		device_type = "memory";
> +		reg = <0x80000000 0x20000000>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_led_ctrl>;
> +
> +		led {
> +			label = "led";
The label property is deprecated, please use color and function instead.
> +			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
> +			default-state = "off";
> +		};
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_gpio_keys>;
> +		autorepeat;
> +
> +		up-key {
> +			label = "Up";
> +			gpios = <&gpio2 11 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_UP>;
> +		};
> +
> +		down-key {
> +			label = "Down";
> +			gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_DOWN>;
> +		};
> +
> +		left-key {
> +			label = "Left";
> +			gpios = <&gpio2 13 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_LEFT>;
> +		};
> +
> +		right-key {
> +			label = "Right";
> +			gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_RIGHT>;
> +		};
> +
> +		ok-key {
> +			label = "Ok";
> +			gpios = <&gpio2 9 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_ENTER>;
> +		};
> +
> +		return-key {
> +			label = "Return";
> +			gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_ESC>;
> +		};
> +
> +		play-key {
> +			label = "Media";
> +			gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_MEDIA>;
> +		};
> +
> +		trigger-key {
> +			label = "Trigger";
> +			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
> +			linux,code = <BTN_TRIGGER>;
> +		};
> +
> +		power-key {
> +			label = "Power";
> +			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_POWER>;
> +		};
> +
> +		light-key {
> +			label = "Light";
> +			gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_LIGHTS_TOGGLE>;
> +		};
> +	};
> +
> +	panel_backlight: backlight {
> +		compatible = "pwm-backlight";
> +		brightness-levels = <0 4 8 16 32 64 128 255>;
> +		default-brightness-level = <6>;
> +		enable-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_backlight_enable>;
> +		power-supply = <&reg_vsd>;
> +		pwms = <&pwm1 0 50000 0>;
> +	};
> +
> +	reg_vsd: regulator-vsd {
i think the node name should be just "regulator"
> +		compatible = "regulator-fixed";
> +		regulator-name = "VSD_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +	};
> +
> +	reg_vref: regulator-vref-4v2 {
dito
> +		compatible = "regulator-fixed";
> +		regulator-name = "VREF_4V2";
> +		regulator-min-microvolt = <4200000>;
> +		regulator-max-microvolt = <4200000>;
> +	};
> +
> +	tp5000: charger {
> +		compatible = "gpio-charger";
> +		charger-type = "usb-sdp";
> +		gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_charger_stat1>;
> +	};
> +
> +	battery: battery {
> +		compatible = "simple-battery";
> +		/* generic 26650 battery */
> +		device-chemistry = "lithium-ion";
> +		charge-full-design-microamp-hours = <5000000>;
> +		voltage-max-design-microvolt = <4200000>;
> +		voltage-min-design-microvolt = <3300000>;
> +	};
> +
> +	fuel-gauge {
> +		compatible = "adc-battery";
> +		charged-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
> +		io-channel-names = "voltage";
> +		io-channels = <&adc1 7>;
> +		monitored-battery = <&battery>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_charger_stat2>;
> +		power-supplies = <&tp5000>;
> +	};
> +
> +	poweroff {
> +		compatible = "gpio-poweroff";
> +		gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_poweroff>;
> +	};
> +};
> +
> +&gpio1 {
> +	ir-reset-hog {
> +		gpio-hog;
> +		gpios = <3 GPIO_ACTIVE_LOW>;
> +		line-name = "ir-reset-gpio";
> +		output-low;
> +		pinctrl-0 = <&mux_ir_reset>;
Doesn't this miss pinctrl-names = "default" ?
> +	};
> +};
> +
> +&gpio2 {
> +	/* configuring this to output-high results in poweroff */
> +	power-en-hog {
> +		gpio-hog;
> +		gpios = <6 GPIO_ACTIVE_HIGH>;
> +		line-name = "power-en-gpio";
> +		output-low;
> +		pinctrl-0 = <&mux_poweroff2>;
> +	};
> +};
> +
> +&ecspi3 {
> +	cs-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_spi3>, <&mux_spi3_cs>;
> +	status = "okay";
> +
> +	panel@0 {
> +		compatible = "inanbo,t28cp45tn89-v17";
> +		reg = <0>;
> +		backlight = <&panel_backlight>;
> +		power-supply = <&reg_vsd>;
> +		spi-cpha;
> +		spi-cpol;
> +		spi-max-frequency = <100000>;
This seems slow to me. Is this a limitation of the display?
> +		spi-rx-bus-width = <0>;
> +
> +		port {
> +			panel_in: endpoint {
> +				remote-endpoint = <&display_out>;
> +			};
> +		};
> +	};
> +};
> +
> +&uart1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_uart>;
> +	status = "okay";
> +};
> +
> +&pwm1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_pwm>;
> +	status = "okay";
> +};
> +
> +&i2c1 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_i2c1>;
> +	status = "okay";
> +
> +	camera@21 {
> +		compatible = "galaxycore,gc0308";
> +		reg = <0x21>;
> +		clocks = <&clks IMX6UL_CLK_CSI>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&mux_gc0308>;
> +		powerdown-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
> +		reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> +		vdd28-supply = <&reg_vsd>;
> +
> +		port {
> +			gc0308_to_parallel: endpoint {
> +				remote-endpoint = <&parallel_from_gc0308>;
> +				bus-width = <8>;
> +				data-shift = <2>; /* lines 9:2 are used */
> +				hsync-active = <1>; /* active high */
> +				vsync-active = <1>; /* active high */
> +				data-active = <1>; /* active high */
> +				pclk-sample = <1>; /* sample on rising edge */
> +			};
> +		};
> +	};
> +};
> +
> +&csi {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_csi>;
> +
> +	port {
> +		parallel_from_gc0308: endpoint {
> +			remote-endpoint = <&gc0308_to_parallel>;
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_i2c2>;
> +	status = "okay";
> +
> +	rtc@51 {
> +		compatible = "nxp,pcf8563";
> +		reg = <0x51>;
> +	};
> +};
> +
> +&lcdif {
> +	assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
> +	assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_lcd_data>, <&mux_lcd_ctrl>;
> +	status = "okay";
> +
> +	port {
> +		display_out: endpoint {
> +			remote-endpoint = <&panel_in>;
> +		};
> +	};
> +};
> +
> +&usdhc1 {
Would be nice to place a comment above this, which mentions the intended
use case: eMMC, SD card, ...
> +	cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
> +	keep-power-in-suspend;
> +	no-1-8-v;
> +	pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +	pinctrl-0 = <&mux_sdhc1>, <&mux_sdhc1_cd>;
> +	pinctrl-1 = <&mux_sdhc1_100mhz>, <&mux_sdhc1_cd>;
> +	pinctrl-2 = <&mux_sdhc1_200mhz>, <&mux_sdhc1_cd>;
> +	wakeup-source;
> +	vmmc-supply = <&reg_vsd>;
> +	status = "okay";
> +};
> +
> +&usdhc2 {
dito

Best regards
> +	keep-power-in-suspend;
> +	no-1-8-v;
> +	non-removable;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_sdhc2>;
> +	wakeup-source;
> +	status = "okay";
> +};
> +
> +&wdog1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_wdog>;
> +};
> +
> +&adc1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mux_adc>;
> +	vref-supply = <&reg_vref>;
> +	#io-channel-cells = <1>;
> +	status = "okay";
> +};
> +
>

  reply	other threads:[~2024-02-12 18:28 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-10  1:18 [PATCH v1 00/14] UNI-T UTi260B support Sebastian Reichel
2024-02-10  1:18 ` [PATCH v1 01/14] dt-bindings: pinctrl: fsl,imx6ul-pinctrl: convert to YAML Sebastian Reichel
2024-02-10  1:18 ` [PATCH v1 02/14] dt-bindings: bus: imx-weim: " Sebastian Reichel
2024-02-10 11:29   ` Rob Herring
2024-02-11 12:31   ` Krzysztof Kozlowski
2024-02-12 13:16   ` Rob Herring
2024-02-12 23:22     ` Sebastian Reichel
2024-02-10  1:18 ` [PATCH v1 03/14] dt-bindings: sound: fsl,imx-asrc: " Sebastian Reichel
2024-02-10 12:28   ` Mark Brown
2024-02-12 13:41   ` Rob Herring
2024-02-10  1:18 ` [PATCH v1 04/14] dt-bindings: input: touchscreen: fsl,imx6ul-tsc " Sebastian Reichel
2024-02-11 12:46   ` Krzysztof Kozlowski
2024-02-10  1:18 ` [PATCH v1 05/14] dt-bindings: soc: imx: fsl,imx-anatop: add binding Sebastian Reichel
2024-02-11 12:39   ` Krzysztof Kozlowski
2024-02-10  1:18 ` [PATCH v1 06/14] dt-bindings: soc: imx: fsl,imx-iomuxc-gpr: add imx6 Sebastian Reichel
2024-02-11 12:47   ` Krzysztof Kozlowski
2024-02-10  1:18 ` [PATCH v1 07/14] dt-bindings: lcdif: Do not require power-domains for i.MX6ULL Sebastian Reichel
2024-02-11 12:48   ` Krzysztof Kozlowski
2024-02-12 19:20   ` Stefan Wahren
2024-02-12 23:10     ` Sebastian Reichel
2024-02-13  8:57       ` Stefan Wahren
2024-02-10  1:18 ` [PATCH v1 08/14] dt-bindings: fsl-imx-sdma: fix HDMI audio index Sebastian Reichel
2024-02-11 12:48   ` Krzysztof Kozlowski
2024-02-10  1:18 ` [PATCH v1 09/14] ARM: dts: imx6ull: fix pinctrl node name Sebastian Reichel
2024-02-13  8:44   ` Linus Walleij
2024-02-10  1:18 ` [PATCH v1 10/14] ARM: dts: imx6ul: Remove fsl,anatop from usbotg1 Sebastian Reichel
2024-02-10  1:18 ` [PATCH v1 11/14] ARM: dts: imx6ul: add missing #thermal-sensor-cells Sebastian Reichel
2024-02-10  1:18 ` [PATCH v1 12/14] dt-bindings: vendor-prefixes: add UNI-T Sebastian Reichel
2024-02-11 12:33   ` Krzysztof Kozlowski
2024-02-10  1:18 ` [PATCH v1 13/14] dt-bindings: arm: add UNI-T UTi260b Sebastian Reichel
2024-02-11 12:34   ` Krzysztof Kozlowski
2024-02-10  1:18 ` [PATCH v1 14/14] ARM: dts: imx6ull-uti260b: Add board Sebastian Reichel
2024-02-12 18:28   ` Stefan Wahren [this message]
2024-02-12 23:00     ` Sebastian Reichel
2024-02-13  8:52       ` Stefan Wahren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c38e7c68-e725-4174-aa0a-0594a55c8d56@gmx.net \
    --to=wahrenst@gmx.net \
    --cc=aisheng.dong@nxp.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=sre@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®