linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
@ 2022-02-15 16:39 Pawel Dembicki
  2022-02-15 18:25 ` Andrew Lunn
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Pawel Dembicki @ 2022-02-15 16:39 UTC (permalink / raw)
  Cc: Pawel Dembicki, Rob Herring, Arnd Bergmann, Olof Johansson, soc,
	Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
	Krzysztof Kozlowski, Shawn Guo, Sam Ravnborg, Linus Walleij,
	Corentin Labbe, Oleksij Rempel, Hao Fang, devicetree,
	linux-kernel, linux-arm-kernel

Ctera C200 V1 is kirkwood-based 2-Bay NAS.

Hardware:
  - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz
  - Ram: 512MB (4x Nanya NT5TU128M8GE-AC)
  - NAND Flash: 256MB (Samsung 216 K9F2G08U0C)
  - Lan: 1x GBE (Marvell 88E1116R-NNC1)
  - Storage: 2x SATA HDD 3.5" Slot
  - USB: 2x USB 2.0 port
  - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
  - LEDs: 13x GPIO controlled
  - Buttons: 2x GPIO controlled

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
---
v2:
- removed 2x\n spacing issue
- removed unused pcie node
- made information about buzzer more comprehensive

 arch/arm/boot/dts/Makefile             |   1 +
 arch/arm/boot/dts/kirkwood-c200-v1.dts | 310 +++++++++++++++++++++++++
 2 files changed, 311 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-c200-v1.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 235ad559acb2..31616f6ae173 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -281,6 +281,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += \
 dtb-$(CONFIG_MACH_KIRKWOOD) += \
 	kirkwood-b3.dtb \
 	kirkwood-blackarmor-nas220.dtb \
+	kirkwood-c200-v1.dtb \
 	kirkwood-cloudbox.dtb \
 	kirkwood-d2net.dtb \
 	kirkwood-db-88f6281.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-c200-v1.dts b/arch/arm/boot/dts/kirkwood-c200-v1.dts
new file mode 100644
index 000000000000..f59ff7578dfc
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-c200-v1.dts
@@ -0,0 +1,310 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Ctera C200 V1 Board Description
+ * Copyright 2021-2022 Pawel Dembicki <paweldembicki@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+	model = "Ctera C200 V1";
+	compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+		stdout-path = &uart0;
+	};
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+		pinctrl-0 = <&pmx_buttons>;
+		pinctrl-names = "default";
+
+		power {
+			label = "Power Button";
+			linux,code = <KEY_POWER>;
+			gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
+		};
+
+		reset {
+			label = "Reset Button";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+		};
+
+		usb1 {
+			label = "USB1 Button";
+			linux,code = <BTN_0>;
+			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
+		};
+
+		usb2 {
+			label = "USB2 Button";
+			linux,code = <BTN_1>;
+			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio-poweroff {
+		compatible = "gpio-poweroff";
+		pinctrl-0 = <&pmx_poweroff>;
+		pinctrl-names = "default";
+		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&pmx_leds>;
+		pinctrl-names = "default";
+
+		led-0 {
+			function = LED_FUNCTION_DISK;
+			function-enumerator = <2>;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
+		};
+
+		led-1 {
+			function = LED_FUNCTION_DISK;
+			function-enumerator = <1>;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
+		};
+
+		led-2 {
+			function = LED_FUNCTION_DISK;
+			function-enumerator = <2>;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
+		};
+
+		led-3 {
+			function = LED_FUNCTION_DISK;
+			function-enumerator = <1>;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
+		};
+
+		led-4 {
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+		};
+
+		led-5 {
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+		};
+
+		led-6 {
+			function = LED_FUNCTION_INDICATOR;
+			color = <LED_COLOR_ID_BLUE>;
+			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+		};
+
+		led-7 {
+			function = LED_FUNCTION_DISK_ERR;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+		};
+
+		led-8 {
+			function = LED_FUNCTION_DISK_ERR;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+		};
+
+		led-9 {
+			function = LED_FUNCTION_USB;
+			function-enumerator = <1>;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+		};
+
+		led-10 {
+			function = LED_FUNCTION_USB;
+			function-enumerator = <1>;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "usbport";
+			trigger-sources = <&hub_port2>;
+		};
+
+		led-11 {
+			function = LED_FUNCTION_USB;
+			function-enumerator = <2>;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+		};
+
+		led-12 {
+			function = LED_FUNCTION_USB;
+			function-enumerator = <2>;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "usbport";
+			trigger-sources = <&hub_port1>;
+		};
+	};
+};
+
+&eth0 {
+	status = "okay";
+};
+
+&eth0port {
+	phy-handle = <&ethphy9>;
+};
+
+&i2c0 {
+	status = "okay";
+
+	rtc@30 {
+		compatible = "s35390a";
+		reg = <0x30>;
+	};
+
+	lm63@4c {
+		compatible = "national,lm63";
+		reg = <0x4c>;
+	};
+};
+
+&mdio {
+	status = "okay";
+
+	ethphy9: ethernet-phy@9 {
+		reg = <9>;
+	};
+};
+
+&nand {
+	status = "okay";
+	chip-delay = <40>;
+
+	partition@0 {
+		label = "uboot";
+		reg = <0x0000000 0x200000>;
+	};
+
+	partition@200000 {
+		label = "certificate";
+		reg = <0x0200000 0x100000>;
+	};
+
+	partition@300000 {
+		label = "preset_cfg";
+		reg = <0x0300000 0x100000>;
+	};
+
+	partition@400000 {
+		label = "dev_params";
+		reg = <0x0400000 0x100000>;
+	};
+
+	partition@500000 {
+		label = "active_bank";
+		reg = <0x0500000 0x0100000>;
+	};
+
+	partition@600000 {
+		label = "magic";
+		reg = <0x0600000 0x0100000>;
+	};
+
+	partition@700000 {
+		label = "bank1";
+		reg = <0x0700000 0x2800000>;
+	};
+
+	partition@2f00000 {
+		label = "bank2";
+		reg = <0x2f00000 0x2800000>;
+	};
+
+	/* 0x5700000-0x5a00000 undefined in vendor firmware */
+
+	partition@5a00000 {
+		label = "reserved";
+		reg = <0x5a00000 0x2000000>;
+	};
+
+	partition@7a00000 {
+		label = "rootfs";
+		reg = <0x7a00000 0x8600000>;
+	};
+};
+
+&pinctrl {
+	/* Buzzer gpios are connected to two pins of buzzer.
+	 * This buzzer require a modulated signal from gpio.
+	 * Leave it as is due lack of proper driver.
+	 */
+	pmx_buzzer: pmx-buzzer {
+		marvell,pins = "mpp12", "mpp13";
+		marvell,function = "gpio";
+	};
+
+	pmx_leds: pmx-leds {
+		marvell,pins = "mpp14", "mpp15", "mpp16", "mpp17", "mpp38",
+			       "mpp39", "mpp40", "mpp42", "mpp43", "mpp44",
+			       "mpp45", "mpp46", "mpp47";
+		marvell,function = "gpio";
+	};
+
+	pmx_buttons: pmx-buttons {
+		marvell,pins = "mpp28", "mpp29", "mpp48", "mpp49";
+		marvell,function = "gpio";
+	};
+
+	pmx_poweroff: pmx-poweroff {
+		marvell,pins = "mpp34";
+		marvell,function = "gpio";
+	};
+};
+
+&rtc {
+	status = "disabled";
+};
+
+&sata {
+	status = "okay";
+	nr-ports = <2>;
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&usb0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	port@1 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <1>;
+		#trigger-source-cells = <0>;
+
+		hub_port1: port@1 {
+			reg = <1>;
+			#trigger-source-cells = <0>;
+		};
+
+		hub_port2: port@2 {
+			reg = <2>;
+			#trigger-source-cells = <0>;
+		};
+	};
+};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-15 16:39 [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board Pawel Dembicki
@ 2022-02-15 18:25 ` Andrew Lunn
  2022-02-15 20:56   ` Paweł Dembicki
  2022-02-15 21:14 ` Andrew Lunn
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Andrew Lunn @ 2022-02-15 18:25 UTC (permalink / raw)
  To: Pawel Dembicki
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Gregory Clement,
	Sebastian Hesselbarth, Krzysztof Kozlowski, Shawn Guo,
	Sam Ravnborg, Linus Walleij, Corentin Labbe, Oleksij Rempel,
	Hao Fang, devicetree, linux-kernel, linux-arm-kernel

On Tue, Feb 15, 2022 at 05:39:22PM +0100, Pawel Dembicki wrote:
> Ctera C200 V1 is kirkwood-based 2-Bay NAS.
> 
> Hardware:
>   - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz
>   - Ram: 512MB (4x Nanya NT5TU128M8GE-AC)
>   - NAND Flash: 256MB (Samsung 216 K9F2G08U0C)
>   - Lan: 1x GBE (Marvell 88E1116R-NNC1)
>   - Storage: 2x SATA HDD 3.5" Slot
>   - USB: 2x USB 2.0 port
>   - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
>   - LEDs: 13x GPIO controlled
>   - Buttons: 2x GPIO controlled
> 
> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
> ---
> v2:
> - removed 2x\n spacing issue
> - removed unused pcie node
> - made information about buzzer more comprehensive

Hi Pawel

Thanks for adding the mvebu Maintainers to the list of recipients.

One more process point. It would be normal to set the To: to whoever
you think should actually accept this patch. There are a lot of
Maintainers listed in Cc: so actually pointing a finger at somebody
can help.

Gregory will be the person to actually take this patch.

> 
>  arch/arm/boot/dts/Makefile             |   1 +
>  arch/arm/boot/dts/kirkwood-c200-v1.dts | 310 +++++++++++++++++++++++++
>  2 files changed, 311 insertions(+)
>  create mode 100644 arch/arm/boot/dts/kirkwood-c200-v1.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 235ad559acb2..31616f6ae173 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -281,6 +281,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += \
>  dtb-$(CONFIG_MACH_KIRKWOOD) += \
>  	kirkwood-b3.dtb \
>  	kirkwood-blackarmor-nas220.dtb \
> +	kirkwood-c200-v1.dtb \
>  	kirkwood-cloudbox.dtb \
>  	kirkwood-d2net.dtb \
>  	kirkwood-db-88f6281.dtb \
> diff --git a/arch/arm/boot/dts/kirkwood-c200-v1.dts b/arch/arm/boot/dts/kirkwood-c200-v1.dts
> new file mode 100644
> index 000000000000..f59ff7578dfc
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-c200-v1.dts
> @@ -0,0 +1,310 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Ctera C200 V1 Board Description
> + * Copyright 2021-2022 Pawel Dembicki <paweldembicki@gmail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "kirkwood.dtsi"
> +#include "kirkwood-6281.dtsi"
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> +	model = "Ctera C200 V1";
> +	compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200";
> +		stdout-path = &uart0;
> +	};
> +
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x20000000>;
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +		pinctrl-0 = <&pmx_buttons>;
> +		pinctrl-names = "default";
> +
> +		power {
> +			label = "Power Button";
> +			linux,code = <KEY_POWER>;
> +			gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		reset {
> +			label = "Reset Button";
> +			linux,code = <KEY_RESTART>;
> +			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		usb1 {
> +			label = "USB1 Button";
> +			linux,code = <BTN_0>;
> +			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		usb2 {
> +			label = "USB2 Button";
> +			linux,code = <BTN_1>;
> +			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio-poweroff {
> +		compatible = "gpio-poweroff";
> +		pinctrl-0 = <&pmx_poweroff>;
> +		pinctrl-names = "default";
> +		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-0 = <&pmx_leds>;
> +		pinctrl-names = "default";
> +
> +		led-0 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-1 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-2 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-3 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-4 {
> +			function = LED_FUNCTION_STATUS;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-5 {
> +			function = LED_FUNCTION_STATUS;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-6 {
> +			function = LED_FUNCTION_INDICATOR;
> +			color = <LED_COLOR_ID_BLUE>;
> +			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-7 {
> +			function = LED_FUNCTION_DISK_ERR;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-8 {
> +			function = LED_FUNCTION_DISK_ERR;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-9 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-10 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "usbport";
> +			trigger-sources = <&hub_port2>;
> +		};
> +
> +		led-11 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-12 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "usbport";
> +			trigger-sources = <&hub_port1>;
> +		};
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +};
> +
> +&eth0port {
> +	phy-handle = <&ethphy9>;
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	rtc@30 {
> +		compatible = "s35390a";
> +		reg = <0x30>;
> +	};
> +
> +	lm63@4c {
> +		compatible = "national,lm63";
> +		reg = <0x4c>;
> +	};
> +};
> +
> +&mdio {
> +	status = "okay";
> +
> +	ethphy9: ethernet-phy@9 {
> +		reg = <9>;
> +	};
> +};
> +
> +&nand {
> +	status = "okay";
> +	chip-delay = <40>;
> +
> +	partition@0 {
> +		label = "uboot";
> +		reg = <0x0000000 0x200000>;
> +	};
> +
> +	partition@200000 {
> +		label = "certificate";
> +		reg = <0x0200000 0x100000>;
> +	};
> +
> +	partition@300000 {
> +		label = "preset_cfg";
> +		reg = <0x0300000 0x100000>;
> +	};
> +
> +	partition@400000 {
> +		label = "dev_params";
> +		reg = <0x0400000 0x100000>;
> +	};
> +
> +	partition@500000 {
> +		label = "active_bank";
> +		reg = <0x0500000 0x0100000>;
> +	};
> +
> +	partition@600000 {
> +		label = "magic";
> +		reg = <0x0600000 0x0100000>;
> +	};
> +
> +	partition@700000 {
> +		label = "bank1";
> +		reg = <0x0700000 0x2800000>;
> +	};
> +
> +	partition@2f00000 {
> +		label = "bank2";
> +		reg = <0x2f00000 0x2800000>;
> +	};
> +
> +	/* 0x5700000-0x5a00000 undefined in vendor firmware */
> +
> +	partition@5a00000 {
> +		label = "reserved";
> +		reg = <0x5a00000 0x2000000>;
> +	};
> +
> +	partition@7a00000 {
> +		label = "rootfs";
> +		reg = <0x7a00000 0x8600000>;
> +	};
> +};
> +
> +&pinctrl {
> +	/* Buzzer gpios are connected to two pins of buzzer.
> +	 * This buzzer require a modulated signal from gpio.
> +	 * Leave it as is due lack of proper driver.
> +	 */

Thanks for adding a comment. So you need something like a PWM driving
it? Have you tried playing with drivers/input/misc/pwm-beeper.c ?
Some of the mvebu family have a simple PWM functionality as part of
the GPIO controller. I don't remember if kirkwood has this.

    Andrew

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-15 18:25 ` Andrew Lunn
@ 2022-02-15 20:56   ` Paweł Dembicki
  2022-02-15 21:14     ` Andrew Lunn
  0 siblings, 1 reply; 9+ messages in thread
From: Paweł Dembicki @ 2022-02-15 20:56 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Gregory Clement,
	Sebastian Hesselbarth, Krzysztof Kozlowski, Shawn Guo,
	Sam Ravnborg, Linus Walleij, Corentin Labbe, Oleksij Rempel,
	Hao Fang,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux ARM

wt., 15 lut 2022 o 19:25 Andrew Lunn <andrew@lunn.ch> napisał(a):
>
> On Tue, Feb 15, 2022 at 05:39:22PM +0100, Pawel Dembicki wrote:
> > Ctera C200 V1 is kirkwood-based 2-Bay NAS.
> >
> > Hardware:
> >   - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz
> >   - Ram: 512MB (4x Nanya NT5TU128M8GE-AC)
> >   - NAND Flash: 256MB (Samsung 216 K9F2G08U0C)
> >   - Lan: 1x GBE (Marvell 88E1116R-NNC1)
> >   - Storage: 2x SATA HDD 3.5" Slot
> >   - USB: 2x USB 2.0 port
> >   - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
> >   - LEDs: 13x GPIO controlled
> >   - Buttons: 2x GPIO controlled
> >
> > Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
> > ---
> > v2:
> > - removed 2x\n spacing issue
> > - removed unused pcie node
> > - made information about buzzer more comprehensive
>
> Hi Pawel
>

Hi Andrew.

> Thanks for adding the mvebu Maintainers to the list of recipients.
>
> One more process point. It would be normal to set the To: to whoever
> you think should actually accept this patch. There are a lot of
> Maintainers listed in Cc: so actually pointing a finger at somebody
> can help.
>

I used get_maintainer script. But I will pick manually addresses for cc.

> Gregory will be the person to actually take this patch.
>
> >
> >  arch/arm/boot/dts/Makefile             |   1 +
> >  arch/arm/boot/dts/kirkwood-c200-v1.dts | 310 +++++++++++++++++++++++++
> >  2 files changed, 311 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/kirkwood-c200-v1.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 235ad559acb2..31616f6ae173 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -281,6 +281,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += \
> >  dtb-$(CONFIG_MACH_KIRKWOOD) += \
> >       kirkwood-b3.dtb \
> >       kirkwood-blackarmor-nas220.dtb \
> > +     kirkwood-c200-v1.dtb \
> >       kirkwood-cloudbox.dtb \
> >       kirkwood-d2net.dtb \
> >       kirkwood-db-88f6281.dtb \
> > diff --git a/arch/arm/boot/dts/kirkwood-c200-v1.dts b/arch/arm/boot/dts/kirkwood-c200-v1.dts
> > new file mode 100644
> > index 000000000000..f59ff7578dfc
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/kirkwood-c200-v1.dts
> > @@ -0,0 +1,310 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Ctera C200 V1 Board Description
> > + * Copyright 2021-2022 Pawel Dembicki <paweldembicki@gmail.com>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "kirkwood.dtsi"
> > +#include "kirkwood-6281.dtsi"
> > +#include <dt-bindings/leds/common.h>
> > +
> > +/ {
> > +     model = "Ctera C200 V1";
> > +     compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> > +
> > +     chosen {
> > +             bootargs = "console=ttyS0,115200";
> > +             stdout-path = &uart0;
> > +     };
> > +
> > +     memory@0 {
> > +             device_type = "memory";
> > +             reg = <0x00000000 0x20000000>;
> > +     };
> > +
> > +     keys {
> > +             compatible = "gpio-keys";
> > +             pinctrl-0 = <&pmx_buttons>;
> > +             pinctrl-names = "default";
> > +
> > +             power {
> > +                     label = "Power Button";
> > +                     linux,code = <KEY_POWER>;
> > +                     gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
> > +             };
> > +
> > +             reset {
> > +                     label = "Reset Button";
> > +                     linux,code = <KEY_RESTART>;
> > +                     gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             usb1 {
> > +                     label = "USB1 Button";
> > +                     linux,code = <BTN_0>;
> > +                     gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             usb2 {
> > +                     label = "USB2 Button";
> > +                     linux,code = <BTN_1>;
> > +                     gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> > +             };
> > +     };
> > +
> > +     gpio-poweroff {
> > +             compatible = "gpio-poweroff";
> > +             pinctrl-0 = <&pmx_poweroff>;
> > +             pinctrl-names = "default";
> > +             gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> > +     };
> > +
> > +     leds {
> > +             compatible = "gpio-leds";
> > +             pinctrl-0 = <&pmx_leds>;
> > +             pinctrl-names = "default";
> > +
> > +             led-0 {
> > +                     function = LED_FUNCTION_DISK;
> > +                     function-enumerator = <2>;
> > +                     color = <LED_COLOR_ID_RED>;
> > +                     gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-1 {
> > +                     function = LED_FUNCTION_DISK;
> > +                     function-enumerator = <1>;
> > +                     color = <LED_COLOR_ID_GREEN>;
> > +                     gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-2 {
> > +                     function = LED_FUNCTION_DISK;
> > +                     function-enumerator = <2>;
> > +                     color = <LED_COLOR_ID_GREEN>;
> > +                     gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-3 {
> > +                     function = LED_FUNCTION_DISK;
> > +                     function-enumerator = <1>;
> > +                     color = <LED_COLOR_ID_RED>;
> > +                     gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-4 {
> > +                     function = LED_FUNCTION_STATUS;
> > +                     color = <LED_COLOR_ID_RED>;
> > +                     gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-5 {
> > +                     function = LED_FUNCTION_STATUS;
> > +                     color = <LED_COLOR_ID_GREEN>;
> > +                     gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-6 {
> > +                     function = LED_FUNCTION_INDICATOR;
> > +                     color = <LED_COLOR_ID_BLUE>;
> > +                     gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-7 {
> > +                     function = LED_FUNCTION_DISK_ERR;
> > +                     color = <LED_COLOR_ID_RED>;
> > +                     gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-8 {
> > +                     function = LED_FUNCTION_DISK_ERR;
> > +                     color = <LED_COLOR_ID_GREEN>;
> > +                     gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-9 {
> > +                     function = LED_FUNCTION_USB;
> > +                     function-enumerator = <1>;
> > +                     color = <LED_COLOR_ID_RED>;
> > +                     gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-10 {
> > +                     function = LED_FUNCTION_USB;
> > +                     function-enumerator = <1>;
> > +                     color = <LED_COLOR_ID_GREEN>;
> > +                     gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
> > +                     linux,default-trigger = "usbport";
> > +                     trigger-sources = <&hub_port2>;
> > +             };
> > +
> > +             led-11 {
> > +                     function = LED_FUNCTION_USB;
> > +                     function-enumerator = <2>;
> > +                     color = <LED_COLOR_ID_RED>;
> > +                     gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
> > +             };
> > +
> > +             led-12 {
> > +                     function = LED_FUNCTION_USB;
> > +                     function-enumerator = <2>;
> > +                     color = <LED_COLOR_ID_GREEN>;
> > +                     gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
> > +                     linux,default-trigger = "usbport";
> > +                     trigger-sources = <&hub_port1>;
> > +             };
> > +     };
> > +};
> > +
> > +&eth0 {
> > +     status = "okay";
> > +};
> > +
> > +&eth0port {
> > +     phy-handle = <&ethphy9>;
> > +};
> > +
> > +&i2c0 {
> > +     status = "okay";
> > +
> > +     rtc@30 {
> > +             compatible = "s35390a";
> > +             reg = <0x30>;
> > +     };
> > +
> > +     lm63@4c {
> > +             compatible = "national,lm63";
> > +             reg = <0x4c>;
> > +     };
> > +};
> > +
> > +&mdio {
> > +     status = "okay";
> > +
> > +     ethphy9: ethernet-phy@9 {
> > +             reg = <9>;
> > +     };
> > +};
> > +
> > +&nand {
> > +     status = "okay";
> > +     chip-delay = <40>;
> > +
> > +     partition@0 {
> > +             label = "uboot";
> > +             reg = <0x0000000 0x200000>;
> > +     };
> > +
> > +     partition@200000 {
> > +             label = "certificate";
> > +             reg = <0x0200000 0x100000>;
> > +     };
> > +
> > +     partition@300000 {
> > +             label = "preset_cfg";
> > +             reg = <0x0300000 0x100000>;
> > +     };
> > +
> > +     partition@400000 {
> > +             label = "dev_params";
> > +             reg = <0x0400000 0x100000>;
> > +     };
> > +
> > +     partition@500000 {
> > +             label = "active_bank";
> > +             reg = <0x0500000 0x0100000>;
> > +     };
> > +
> > +     partition@600000 {
> > +             label = "magic";
> > +             reg = <0x0600000 0x0100000>;
> > +     };
> > +
> > +     partition@700000 {
> > +             label = "bank1";
> > +             reg = <0x0700000 0x2800000>;
> > +     };
> > +
> > +     partition@2f00000 {
> > +             label = "bank2";
> > +             reg = <0x2f00000 0x2800000>;
> > +     };
> > +
> > +     /* 0x5700000-0x5a00000 undefined in vendor firmware */
> > +
> > +     partition@5a00000 {
> > +             label = "reserved";
> > +             reg = <0x5a00000 0x2000000>;
> > +     };
> > +
> > +     partition@7a00000 {
> > +             label = "rootfs";
> > +             reg = <0x7a00000 0x8600000>;
> > +     };
> > +};
> > +
> > +&pinctrl {
> > +     /* Buzzer gpios are connected to two pins of buzzer.
> > +      * This buzzer require a modulated signal from gpio.
> > +      * Leave it as is due lack of proper driver.
> > +      */
>
> Thanks for adding a comment. So you need something like a PWM driving
> it? Have you tried playing with drivers/input/misc/pwm-beeper.c ?

It use a PWM device. Driver gpio-pwm isn't accepted in mainline so far.

> Some of the mvebu family have a simple PWM functionality as part of
> the GPIO controller. I don't remember if kirkwood has this.

Kirkwood have very simple blink mode only: GPIO pin make visible blinks.

>
>     Andrew

Pawel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-15 20:56   ` Paweł Dembicki
@ 2022-02-15 21:14     ` Andrew Lunn
  0 siblings, 0 replies; 9+ messages in thread
From: Andrew Lunn @ 2022-02-15 21:14 UTC (permalink / raw)
  To: Paweł Dembicki
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Gregory Clement,
	Sebastian Hesselbarth, Krzysztof Kozlowski, Shawn Guo,
	Sam Ravnborg, Linus Walleij, Corentin Labbe, Oleksij Rempel,
	Hao Fang,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux ARM

> > Thanks for adding a comment. So you need something like a PWM driving
> > it? Have you tried playing with drivers/input/misc/pwm-beeper.c ?
> 
> It use a PWM device. Driver gpio-pwm isn't accepted in mainline so far.
> 
> > Some of the mvebu family have a simple PWM functionality as part of
> > the GPIO controller. I don't remember if kirkwood has this.
> 
> Kirkwood have very simple blink mode only: GPIO pin make visible blinks.

[Goes and looks at the datasheet]

Yes, Kirkwood has fixed rate blinking. It is the later generation of
devices which have true PWM capabilities.

	Andrew

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-15 16:39 [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board Pawel Dembicki
  2022-02-15 18:25 ` Andrew Lunn
@ 2022-02-15 21:14 ` Andrew Lunn
  2022-02-28 16:24 ` Gregory CLEMENT
  2022-02-28 23:43 ` Linus Walleij
  3 siblings, 0 replies; 9+ messages in thread
From: Andrew Lunn @ 2022-02-15 21:14 UTC (permalink / raw)
  To: Pawel Dembicki
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Gregory Clement,
	Sebastian Hesselbarth, Krzysztof Kozlowski, Shawn Guo,
	Sam Ravnborg, Linus Walleij, Corentin Labbe, Oleksij Rempel,
	Hao Fang, devicetree, linux-kernel, linux-arm-kernel

On Tue, Feb 15, 2022 at 05:39:22PM +0100, Pawel Dembicki wrote:
> Ctera C200 V1 is kirkwood-based 2-Bay NAS.
> 
> Hardware:
>   - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz
>   - Ram: 512MB (4x Nanya NT5TU128M8GE-AC)
>   - NAND Flash: 256MB (Samsung 216 K9F2G08U0C)
>   - Lan: 1x GBE (Marvell 88E1116R-NNC1)
>   - Storage: 2x SATA HDD 3.5" Slot
>   - USB: 2x USB 2.0 port
>   - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
>   - LEDs: 13x GPIO controlled
>   - Buttons: 2x GPIO controlled
> 
> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-15 16:39 [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board Pawel Dembicki
  2022-02-15 18:25 ` Andrew Lunn
  2022-02-15 21:14 ` Andrew Lunn
@ 2022-02-28 16:24 ` Gregory CLEMENT
  2022-02-28 23:43 ` Linus Walleij
  3 siblings, 0 replies; 9+ messages in thread
From: Gregory CLEMENT @ 2022-02-28 16:24 UTC (permalink / raw)
  To: Pawel Dembicki
  Cc: Pawel Dembicki, Rob Herring, Arnd Bergmann, Olof Johansson, soc,
	Andrew Lunn, Sebastian Hesselbarth, Krzysztof Kozlowski,
	Shawn Guo, Sam Ravnborg, Linus Walleij, Corentin Labbe,
	Oleksij Rempel, Hao Fang, devicetree, linux-kernel,
	linux-arm-kernel

Pawel Dembicki <paweldembicki@gmail.com> writes:

> Ctera C200 V1 is kirkwood-based 2-Bay NAS.
>
> Hardware:
>   - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz
>   - Ram: 512MB (4x Nanya NT5TU128M8GE-AC)
>   - NAND Flash: 256MB (Samsung 216 K9F2G08U0C)
>   - Lan: 1x GBE (Marvell 88E1116R-NNC1)
>   - Storage: 2x SATA HDD 3.5" Slot
>   - USB: 2x USB 2.0 port
>   - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
>   - LEDs: 13x GPIO controlled
>   - Buttons: 2x GPIO controlled
>
> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>

Applied on mvebu/dt

Thanks,

Gregory
> ---
> v2:
> - removed 2x\n spacing issue
> - removed unused pcie node
> - made information about buzzer more comprehensive
>
>  arch/arm/boot/dts/Makefile             |   1 +
>  arch/arm/boot/dts/kirkwood-c200-v1.dts | 310 +++++++++++++++++++++++++
>  2 files changed, 311 insertions(+)
>  create mode 100644 arch/arm/boot/dts/kirkwood-c200-v1.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 235ad559acb2..31616f6ae173 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -281,6 +281,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += \
>  dtb-$(CONFIG_MACH_KIRKWOOD) += \
>  	kirkwood-b3.dtb \
>  	kirkwood-blackarmor-nas220.dtb \
> +	kirkwood-c200-v1.dtb \
>  	kirkwood-cloudbox.dtb \
>  	kirkwood-d2net.dtb \
>  	kirkwood-db-88f6281.dtb \
> diff --git a/arch/arm/boot/dts/kirkwood-c200-v1.dts b/arch/arm/boot/dts/kirkwood-c200-v1.dts
> new file mode 100644
> index 000000000000..f59ff7578dfc
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-c200-v1.dts
> @@ -0,0 +1,310 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Ctera C200 V1 Board Description
> + * Copyright 2021-2022 Pawel Dembicki <paweldembicki@gmail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "kirkwood.dtsi"
> +#include "kirkwood-6281.dtsi"
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> +	model = "Ctera C200 V1";
> +	compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200";
> +		stdout-path = &uart0;
> +	};
> +
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x20000000>;
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +		pinctrl-0 = <&pmx_buttons>;
> +		pinctrl-names = "default";
> +
> +		power {
> +			label = "Power Button";
> +			linux,code = <KEY_POWER>;
> +			gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		reset {
> +			label = "Reset Button";
> +			linux,code = <KEY_RESTART>;
> +			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		usb1 {
> +			label = "USB1 Button";
> +			linux,code = <BTN_0>;
> +			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		usb2 {
> +			label = "USB2 Button";
> +			linux,code = <BTN_1>;
> +			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio-poweroff {
> +		compatible = "gpio-poweroff";
> +		pinctrl-0 = <&pmx_poweroff>;
> +		pinctrl-names = "default";
> +		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-0 = <&pmx_leds>;
> +		pinctrl-names = "default";
> +
> +		led-0 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-1 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-2 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-3 {
> +			function = LED_FUNCTION_DISK;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-4 {
> +			function = LED_FUNCTION_STATUS;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-5 {
> +			function = LED_FUNCTION_STATUS;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-6 {
> +			function = LED_FUNCTION_INDICATOR;
> +			color = <LED_COLOR_ID_BLUE>;
> +			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-7 {
> +			function = LED_FUNCTION_DISK_ERR;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-8 {
> +			function = LED_FUNCTION_DISK_ERR;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-9 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-10 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <1>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "usbport";
> +			trigger-sources = <&hub_port2>;
> +		};
> +
> +		led-11 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_RED>;
> +			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led-12 {
> +			function = LED_FUNCTION_USB;
> +			function-enumerator = <2>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "usbport";
> +			trigger-sources = <&hub_port1>;
> +		};
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +};
> +
> +&eth0port {
> +	phy-handle = <&ethphy9>;
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	rtc@30 {
> +		compatible = "s35390a";
> +		reg = <0x30>;
> +	};
> +
> +	lm63@4c {
> +		compatible = "national,lm63";
> +		reg = <0x4c>;
> +	};
> +};
> +
> +&mdio {
> +	status = "okay";
> +
> +	ethphy9: ethernet-phy@9 {
> +		reg = <9>;
> +	};
> +};
> +
> +&nand {
> +	status = "okay";
> +	chip-delay = <40>;
> +
> +	partition@0 {
> +		label = "uboot";
> +		reg = <0x0000000 0x200000>;
> +	};
> +
> +	partition@200000 {
> +		label = "certificate";
> +		reg = <0x0200000 0x100000>;
> +	};
> +
> +	partition@300000 {
> +		label = "preset_cfg";
> +		reg = <0x0300000 0x100000>;
> +	};
> +
> +	partition@400000 {
> +		label = "dev_params";
> +		reg = <0x0400000 0x100000>;
> +	};
> +
> +	partition@500000 {
> +		label = "active_bank";
> +		reg = <0x0500000 0x0100000>;
> +	};
> +
> +	partition@600000 {
> +		label = "magic";
> +		reg = <0x0600000 0x0100000>;
> +	};
> +
> +	partition@700000 {
> +		label = "bank1";
> +		reg = <0x0700000 0x2800000>;
> +	};
> +
> +	partition@2f00000 {
> +		label = "bank2";
> +		reg = <0x2f00000 0x2800000>;
> +	};
> +
> +	/* 0x5700000-0x5a00000 undefined in vendor firmware */
> +
> +	partition@5a00000 {
> +		label = "reserved";
> +		reg = <0x5a00000 0x2000000>;
> +	};
> +
> +	partition@7a00000 {
> +		label = "rootfs";
> +		reg = <0x7a00000 0x8600000>;
> +	};
> +};
> +
> +&pinctrl {
> +	/* Buzzer gpios are connected to two pins of buzzer.
> +	 * This buzzer require a modulated signal from gpio.
> +	 * Leave it as is due lack of proper driver.
> +	 */
> +	pmx_buzzer: pmx-buzzer {
> +		marvell,pins = "mpp12", "mpp13";
> +		marvell,function = "gpio";
> +	};
> +
> +	pmx_leds: pmx-leds {
> +		marvell,pins = "mpp14", "mpp15", "mpp16", "mpp17", "mpp38",
> +			       "mpp39", "mpp40", "mpp42", "mpp43", "mpp44",
> +			       "mpp45", "mpp46", "mpp47";
> +		marvell,function = "gpio";
> +	};
> +
> +	pmx_buttons: pmx-buttons {
> +		marvell,pins = "mpp28", "mpp29", "mpp48", "mpp49";
> +		marvell,function = "gpio";
> +	};
> +
> +	pmx_poweroff: pmx-poweroff {
> +		marvell,pins = "mpp34";
> +		marvell,function = "gpio";
> +	};
> +};
> +
> +&rtc {
> +	status = "disabled";
> +};
> +
> +&sata {
> +	status = "okay";
> +	nr-ports = <2>;
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> +
> +&usb0 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	status = "okay";
> +
> +	port@1 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		reg = <1>;
> +		#trigger-source-cells = <0>;
> +
> +		hub_port1: port@1 {
> +			reg = <1>;
> +			#trigger-source-cells = <0>;
> +		};
> +
> +		hub_port2: port@2 {
> +			reg = <2>;
> +			#trigger-source-cells = <0>;
> +		};
> +	};
> +};
> -- 
> 2.25.1
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-15 16:39 [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board Pawel Dembicki
                   ` (2 preceding siblings ...)
  2022-02-28 16:24 ` Gregory CLEMENT
@ 2022-02-28 23:43 ` Linus Walleij
  2022-03-01 20:32   ` Paweł Dembicki
  3 siblings, 1 reply; 9+ messages in thread
From: Linus Walleij @ 2022-02-28 23:43 UTC (permalink / raw)
  To: Pawel Dembicki
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Andrew Lunn,
	Gregory Clement, Sebastian Hesselbarth, Krzysztof Kozlowski,
	Shawn Guo, Sam Ravnborg, Corentin Labbe, Oleksij Rempel,
	Hao Fang, devicetree, linux-kernel, linux-arm-kernel

On Tue, Feb 15, 2022 at 5:40 PM Pawel Dembicki <paweldembicki@gmail.com> wrote:

> +&i2c0 {
> +       status = "okay";
> +
> +       rtc@30 {
> +               compatible = "s35390a";
> +               reg = <0x30>;
> +       };
> +
> +       lm63@4c {
> +               compatible = "national,lm63";
> +               reg = <0x4c>;
> +       };

Think about adding chassis thermal zone for this sensor,

I suppose you don't have any active control of cooling (fan)?
This often sits on GPIO...

In that case just add a critical temperature so it can't burn
down the house.

See:
arch/arm/boot/dts/gemini-dlink-dns-313.dts
node thermal-zones {} for an example of how to do this
quick and easy. You need CONFIG_THERMAL and
CONFIG_THERMAL_HWMON for this to work.

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-02-28 23:43 ` Linus Walleij
@ 2022-03-01 20:32   ` Paweł Dembicki
  2022-03-01 22:04     ` Linus Walleij
  0 siblings, 1 reply; 9+ messages in thread
From: Paweł Dembicki @ 2022-03-01 20:32 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Andrew Lunn,
	Gregory Clement, Sebastian Hesselbarth, Krzysztof Kozlowski,
	Shawn Guo, Sam Ravnborg, Corentin Labbe, Oleksij Rempel,
	Hao Fang,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux ARM

wt., 1 mar 2022 o 00:43 Linus Walleij <linus.walleij@linaro.org> napisał(a):
>
> On Tue, Feb 15, 2022 at 5:40 PM Pawel Dembicki <paweldembicki@gmail.com> wrote:
>
> > +&i2c0 {
> > +       status = "okay";
> > +
> > +       rtc@30 {
> > +               compatible = "s35390a";
> > +               reg = <0x30>;
> > +       };
> > +
> > +       lm63@4c {
> > +               compatible = "national,lm63";
> > +               reg = <0x4c>;
> > +       };
>
> Think about adding chassis thermal zone for this sensor,
>
> I suppose you don't have any active control of cooling (fan)?
> This often sits on GPIO...
>

Hi Linus,
It has a fan controlled by the lm63: PWM controller. But the fan blows
only on disks, board temperature won't change even when PWM = 100%.
It should be controlled by hdd temperature.

> In that case just add a critical temperature so it can't burn
> down the house.
>

Patch it's merged now, I will add critical temperatures in a separate patch.

> See:
> arch/arm/boot/dts/gemini-dlink-dns-313.dts
> node thermal-zones {} for an example of how to do this
> quick and easy. You need CONFIG_THERMAL and
> CONFIG_THERMAL_HWMON for this to work.
>
> Yours,
> Linus Walleij

Best Regards,
Pawel Dembicki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board
  2022-03-01 20:32   ` Paweł Dembicki
@ 2022-03-01 22:04     ` Linus Walleij
  0 siblings, 0 replies; 9+ messages in thread
From: Linus Walleij @ 2022-03-01 22:04 UTC (permalink / raw)
  To: Paweł Dembicki
  Cc: Rob Herring, Arnd Bergmann, Olof Johansson, soc, Andrew Lunn,
	Gregory Clement, Sebastian Hesselbarth, Krzysztof Kozlowski,
	Shawn Guo, Sam Ravnborg, Corentin Labbe, Oleksij Rempel,
	Hao Fang,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux ARM

On Tue, Mar 1, 2022 at 9:32 PM Paweł Dembicki <paweldembicki@gmail.com> wrote:

> It has a fan controlled by the lm63: PWM controller.

Aha it is one of those combo things, sorry for my ignorance.

>  But the fan blows
> only on disks, board temperature won't change even when PWM = 100%.
> It should be controlled by hdd temperature.

We have a way to even monitor the temperature of individual hard disks
these days and I create a thermal zone and use it here to control a fan
in this DTS:
arch/arm/boot/dts/gemini-dlink-dir-685.dts

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-03-01 22:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-15 16:39 [PATCH v2 2/2] ARM: dts: kirkwood: Add Ctera C-200 V1 board Pawel Dembicki
2022-02-15 18:25 ` Andrew Lunn
2022-02-15 20:56   ` Paweł Dembicki
2022-02-15 21:14     ` Andrew Lunn
2022-02-15 21:14 ` Andrew Lunn
2022-02-28 16:24 ` Gregory CLEMENT
2022-02-28 23:43 ` Linus Walleij
2022-03-01 20:32   ` Paweł Dembicki
2022-03-01 22:04     ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).