Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp2494330rdg; Mon, 14 Aug 2023 04:37:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHbj2k3VEB8dje9xJZh3K4WpVLoOn1Rf1HbSsph8YTmt4z7APHBZya1/VuGM5yNkgr5rJfv X-Received: by 2002:a05:6512:3124:b0:4fd:d92e:31ca with SMTP id p4-20020a056512312400b004fdd92e31camr5920131lfd.36.1692013047785; Mon, 14 Aug 2023 04:37:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692013047; cv=none; d=google.com; s=arc-20160816; b=zN2R+urUjChqKHDT4DYm3Y9no02uJSI897u/q7XpBs65lZvhfQ8OJXV6viAftK7yjK 7oKSQ/zAuDo09HlJs0kv7XhlHFA/AJm/mpWsqdUHowQ7yUbQnCWaiahOSjagjJyo9LzY U208peIL08IBI9h6cU+ldcJIAaJNtqrY/FIyRZY6jkeFMAuycuH3ZcpyfczAyAyybx7+ DFEvfKb+NsLsXel4tA9lXXGe8Nwwgq0aJpBonqswHU4fE5cYjNNss7Q3m2nbbIJLZA2S tCkEpvKvs2GA9/RGKSRoZ3jzTfgmiDL9iL5xUDksRmN2UyG6WW9zfF9eSJ5Sn3NqSp1Z MDjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:cc:to:subject:from:date; bh=GUBwfO+MnaRGv2FTc6N3SlLieHS7E8oo0Swsl2G8xmQ=; fh=0PiX8pXCdg6//bmaOyeJ7qb+pwt4CXDg0FUQUaXmP0o=; b=uaUjJ+RDmRmx8hDshyDfH2A3tbrUifginvsz6ISgglqZ+pjESEIT2Cd4tW9nOUUXKG DjNcs9zc8jzrlf2boRsFnkaAgKFv3N7CKZc+d9QxqfU9enVonOFm16A4uzcUWJTnjNWe 8ouuLmexbf3ueR0ydWjCG4cAS9xRgvEHV7gWEO27/qiORB79erzHuIT8KY+5XhaIAQIv mlWNIwFED2+YPFkcK7VwpXOJGlMBNsfn3q1X6WV6fZLGR7X1gpUo2TYVDhhFcOmK5UnN gI4ABuOkToMAVIorBLxFPvJYPXGN7RLM6SajlZU7WF1cYBj0K0b/wZ84d6HgTl1oXsj+ Udrw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u6-20020a056402064600b005233f7e72e2si7989448edx.391.2023.08.14.04.37.03; Mon, 14 Aug 2023 04:37:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233418AbjHNKsl convert rfc822-to-8bit (ORCPT + 99 others); Mon, 14 Aug 2023 06:48:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57274 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232908AbjHNKsM (ORCPT ); Mon, 14 Aug 2023 06:48:12 -0400 Received: from m-r1.th.seeweb.it (m-r1.th.seeweb.it [5.144.164.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E55C8DD for ; Mon, 14 Aug 2023 03:48:09 -0700 (PDT) Received: from [192.168.2.144] (bband-dyn221.178-41-211.t-com.sk [178.41.211.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r1.th.seeweb.it (Postfix) with ESMTPSA id BEB661F54D; Mon, 14 Aug 2023 12:48:05 +0200 (CEST) Date: Mon, 14 Aug 2023 12:47:59 +0200 From: Martin Botka Subject: Re: [PATCH v4 4/4] arm64: dts: allwinner: h616: Add BigTreeTech Pi support To: Jernej =?iso-8859-2?q?=A9krabec?= Cc: Martin Botka , Martin Botka , Konrad Dybcio , AngeloGioacchino Del Regno , Marijn Suijten , Jami Kettunen , Paul Bouchara , Andre Przywara , Martin Botka , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Samuel Holland , Ludwig Kormann , Andrew Lunn , Icenowy Zheng , Heiko Stuebner , Shawn Guo , Bjorn Andersson , Chris Morgan , Jagan Teki , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Message-Id: In-Reply-To: <9148039.CDJkKcVGEf@jernej-laptop> References: <20230807145349.2220490-1-martin@biqu3d.com> <10318766.nUPlyArG6x@jernej-laptop> <168CZR.KVQVUV8KXJ5Y1@somainline.org> <9148039.CDJkKcVGEf@jernej-laptop> X-Mailer: geary/43.0 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2; format=flowed Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 14 2023 at 12:26:07 PM +02:00:00, Jernej ?krabec wrote: > Dne nedelja, 13. avgust 2023 ob 18:22:49 CEST je Martin Botka > napisal(a): >> On Sun, Aug 13 2023 at 05:55:35 PM +02:00:00, Jernej ?krabec >> >> wrote: >> > Dne ponedeljek, 07. avgust 2023 ob 16:53:24 CEST je Martin Botka >> > >> > napisal(a): >> >> The BigTreeTech Pi is an H616 based board based on CB1. >> >> Just in Rpi format board. >> >> >> >> It features the same internals as BTT CB1 but adds: >> >> - Fan port >> >> - IR receiver >> >> - ADXL345 Accelerometer connector via SPI >> >> - 24V DC power supply via terminal plugs >> >> - USB to CAN module connector (The actual USB to CAN >> happens on >> >> >> >> the >> >> >> >> external module) >> >> >> >> List of currently working things is same as BTT CB1 but also: >> >> - IR receiver >> >> - ADXL345 connector >> >> >> >> Signed-off-by: Martin Botka >> >> Reviewed-by: Andre Przywara >> >> --- >> >> >> >> Changes in V2: >> >> - Add UART alongside aliases and chosen for it >> >> - Add model string >> >> - Enable IR receiver >> >> - Enable SPI0 for ADXL345 connector >> >> >> >> Changes in V3: >> >> - Add missing semicolons >> >> - Add pinctrl for SPI0 >> >> >> >> arch/arm64/boot/dts/allwinner/Makefile | 1 + >> >> .../allwinner/sun50i-h616-bigtreetech-pi.dts | 70 >> >> >> >> +++++++++++++++++++ >> >> >> >> 2 files changed, 71 insertions(+) >> >> create mode 100644 >> >> >> >> arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts >> >> >> >> diff --git a/arch/arm64/boot/dts/allwinner/Makefile >> >> b/arch/arm64/boot/dts/allwinner/Makefile index >> >> >> >> 7b386428510b..0b6232a7f328 >> >> >> >> 100644 >> >> --- a/arch/arm64/boot/dts/allwinner/Makefile >> >> +++ b/arch/arm64/boot/dts/allwinner/Makefile >> >> @@ -39,5 +39,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += >> >> >> >> sun50i-h6-pine-h64-model-b.dtb >> >> >> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb >> >> >> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb >> >> dtb-$(CONFIG_ARCH_SUNXI) += >> sun50i-h616-bigtreetech-cb1-manta.dtb >> >> >> >> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb >> >> >> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb >> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb >> >> >> >> diff --git >> >> >> >> a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts >> >> >> >> b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts >> new >> >> >> >> file >> >> >> >> mode 100644 >> >> index 000000000000..b0d0386e8f13 >> >> --- /dev/null >> >> +++ >> b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts >> >> @@ -0,0 +1,70 @@ >> >> +// SPDX-License-Identifier: (GPL-2.0+ or MIT) >> >> +/* >> >> + * Copyright (C) 2023 Martin Botka . >> >> + */ >> >> + >> >> +/dts-v1/; >> >> + >> >> +#include "sun50i-h616-bigtreetech-cb1.dtsi" >> >> + >> >> +/ { >> >> + model = "BigTreeTech Pi"; >> >> + compatible = "bigtreetech,pi", "allwinner,sun50i-h616"; >> >> + >> >> + aliases { >> >> + serial0 = &uart0; >> >> + }; >> >> + >> >> + chosen { >> >> + stdout-path = "serial0:115200n8"; >> >> + }; >> >> +}; >> >> + >> >> +&ehci0 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ehci1 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ehci2 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ehci3 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ir { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ohci0 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ohci1 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ohci2 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ohci3 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&spi0 { >> >> + /* SPI connection for onboard connector for ADXL345 >> accelerometer >> > >> > */ >> > >> >> + status = "okay"; >> >> + pinctrl-names = "default"; >> >> + pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>; >> > >> > Driver and compatible for ADXL345 already exists, why don't you >> add >> > child node >> > for it? >> > >> > Best regards, >> > Jernej >> >> Ah. So the ADXL345 actually wont be driven by kernel. > > DT is hardware description, it's not concerned what is done on > software side, > either kernel or user space. Im aware. But this is not a device that is on the board. Its simply a connector for the device. Like Rpi has connectors for camera module :) > >> The SPI connection is enabled so that klipper (3d printer firmware) >> can >> be told to look for ADXL345 at this SPI and use it on its own. >> >> Klipper will initialize and communicate with the ADXL on its own. > > What do you mean by firmware? User space app? In this case I suppose > you'll use > direct SPI commands from user space? AFAIK that's less and less > supported by > kernel (in contrast to I2C). Firmware as in 3d printer firmware. Klipper runs on the board (CB1 or BTT Pi) and is indeed an userspace app. And indeed uses direct SPI commands to the device. The reason for this is the flexibility. If Klipper read the values from kernel or well from the files the ADXL driver would create then it would be unable to communicate with ADXL that is on toolhead board. Or would have to have direct initialization either way for those. Thus it just controls the ADXL itself :) I understand that this may be bit confusing. If there is still something not clear im more then happy to explain in full detail how the userspace and 3D printer communicate :) Cheers, Martin. > > Best regards, > Jernej > >> >> >> +}; >> >> + >> >> +&uart0 { >> >> + pinctrl-names = "default"; >> >> + pinctrl-0 = <&uart0_ph_pins>; >> >> + status = "okay"; >> >> +}; > > > >