From: Neil Armstrong <neil.armstrong@linaro.org>
To: Marc Gonzalez <mgonzalez@freebox.fr>,
AML <linux-amlogic@lists.infradead.org>,
DT <devicetree@vger.kernel.org>
Cc: Kevin Hilman <khilman@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Pierre-Hugues Husson <phhusson@freebox.fr>
Subject: Re: [RFC PATCH v1] arm64: dts: amlogic: Add Freebox fbx8am boards
Date: Mon, 12 Feb 2024 16:14:18 +0100 [thread overview]
Message-ID: <08b1ac0e-76a5-4daf-a944-091c42eb9e55@linaro.org> (raw)
In-Reply-To: <091c3f9c-6bd2-42c5-a9b0-9257387b9455@freebox.fr>
On 07/02/2024 19:37, Marc Gonzalez wrote:
> On 06/02/2024 14:38, Neil Armstrong wrote:
>
>> Hi Marc, Pierre-Hugues,
>> On 06/02/2024 14:12, Marc Gonzalez wrote:
>>
>>> From: Pierre-Hugues Husson <phhusson@freebox.fr>
>>>
>>> The fbx8am boards are based on the Amlogic Meson G12A S905X2 SoC,
>>> and the SEI510 board design.
>>>
>>> Signed-off-by: Pierre-Hugues Husson <phhusson@freebox.fr>
>>> Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr>
>>> ---
>>> Request For Comments to spot obvious mistakes before formal submission
>>> NB: on IRC, narmstrong mentioned:
>>>> adding dtbos for variants seems to be the new preferred way to handle such case
>>>> the fdtoverlay utility works well for this case
>>
>> Thanks for this RFC, first please split it in at least 4 patches:
>> - vendor prefix
>> - bindings
>> - _base_ dt
>> - variant DT
>>
>> For the variant DT, indeed I think DTBOs should be the new preferred way
>> to handle that, for reference I pushed a patch for the DSI panel support
>> of the Khadas VIM3 as a DTBO:
>> https://lore.kernel.org/all/20240205-amlogic-v6-4-upstream-dsi-ccf-vim3-v10-6-dc06073d5330@linaro.org/
>>
>> It would greatly simplify your handling of current and future variants,
>> reduce the size of builds DTs and make it more flexible.
>
> Below is my current patch (which still needs to be split in 4) for reference.
>
> We're not quite sure how to apply the DTBO at run-time.
>
> PH mentioned passing a -@ option to dtc?
Yes, but the kernel build system can apply it at build time, for ex you could have:
meson-g12a-fbx8am-brcm-dtbs := meson-g12a-fbx8am.dtb meson-g12a-fbx8am-brcm.dtbo
meson-g12a-fbx8am-realtek-dtbs := meson-g12a-fbx8am.dtb meson-g12a-fbx8am-realtek.dtbo
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-fbx8am-brcm.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-fbx8am-realtek.dtb
or you can add:
DTC_FLAGS_meson-g12a-fbx8am += -@
if you want to apply it manually at boot time or a flash time.
Neil
>
> $ fdtoverlay -i meson-g12a-fbx8am.dtb -o dt.img meson-g12a-fbx8am-brcm.dtbo
> Failed to apply 'meson-g12a-fbx8am-brcm.dtbo': FDT_ERR_NOTFOUND
>
>
> Documentation/devicetree/bindings/arm/amlogic.yaml | 1 +
> Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 +
> arch/arm64/boot/dts/amlogic/Makefile | 5 +
> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso | 35 +++
> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso | 25 ++
> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts | 469 +++++++++++++++++++++++++++++++++
> 6 files changed, 537 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
> index caab7ceeda45a..fce12e44c00af 100644
> --- a/Documentation/devicetree/bindings/arm/amlogic.yaml
> +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
> @@ -148,6 +148,7 @@ properties:
> - amlogic,u200
> - radxa,zero
> - seirobotics,sei510
> + - freebox,fbx8am
> - const: amlogic,g12a
>
> - description: Boards with the Amlogic Meson G12B A311D SoC
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 1a0dc04f1db47..4f5a1f4e6689a 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -500,6 +500,8 @@ patternProperties:
> description: FocalTech Systems Co.,Ltd
> "^forlinx,.*":
> description: Baoding Forlinx Embedded Technology Co., Ltd.
> + "^freebox,.*":
> + description: Freebox SAS
> "^freecom,.*":
> description: Freecom Gmbh
> "^frida,.*":
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> index cc8b34bd583d8..b10958e3837fe 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-2.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-g12a-fbx8am.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
> @@ -80,3 +81,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air-gbit.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air.dtb
> +
> +# Overlays
> +dtb-$(CONFIG_ARCH_MESON) += meson-g12a-fbx8am-brcm.dtbo
> +dtb-$(CONFIG_ARCH_MESON) += meson-g12a-fbx8am-realtek.dtbo
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso
> new file mode 100644
> index 0000000000000..ed79809b15859
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso
> @@ -0,0 +1,35 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +// Copyright (c) 2024 Freebox SAS
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/gpio/meson-g12a-gpio.h>
> +
> +/ {
> + compatible = "freebox,fbx8am-brcm", "freebox,fbx8am", "amlogic,g12a";
> +};
> +
> +&uart_A {
> + bluetooth {
> + compatible = "brcm,bcm43438-bt";
> + shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
> + max-speed = <2000000>;
> + clocks = <&wifi32k>;
> + clock-names = "lpo";
> + vbat-supply = <&vddao_3v3>;
> + vddio-supply = <&vddio_ao1v8>;
> + };
> +};
> +
> +&sd_emmc_a {
> + /* Per mmc-controller.yaml */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + /* NB: may be either AP6398S or AP6398SR3 wifi module */
> + brcmf: wifi@1 {
> + reg = <1>;
> + compatible = "brcm,bcm4329-fmac";
> + };
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso
> new file mode 100644
> index 0000000000000..5da88fb94fb98
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +// Copyright (c) 2024 Freebox SAS
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/gpio/meson-g12a-gpio.h>
> +
> +/ {
> + compatible = "freebox,fbx8am-realtek", "freebox,fbx8am", "amlogic,g12a";
> +};
> +
> +&uart_A {
> + bluetooth {
> + compatible = "realtek,rtl8822cs-bt";
> + enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
> + host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>;
> + device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>;
> + };
> +};
> +
> +&sd_emmc_a {
> + /* No explicit compatible for rtl8822cs sdio */
> +};
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts
> new file mode 100644
> index 0000000000000..750322c295133
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts
> @@ -0,0 +1,469 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +// Copyright (c) 2024 Freebox SAS
> +
> +/*
> + * SEI codename: SEI530FB (based on SEI510)
> + * Freebox codename: fbx8am
> + * Commercial names: Freebox Pop, Player TV Free 4K
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-g12a.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/gpio/meson-g12a-gpio.h>
> +#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
> +
> +/ {
> + compatible = "freebox,fbx8am", "amlogic,g12a";
> + model = "Freebox Player Pop";
> + chassis-type = "embedded";
>
> [ snip ]
>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
prev parent reply other threads:[~2024-02-12 15:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-06 13:12 [RFC PATCH v1] arm64: dts: amlogic: Add Freebox fbx8am boards Marc Gonzalez
2024-02-06 13:22 ` Krzysztof Kozlowski
2024-02-06 13:30 ` Neil Armstrong
2024-02-06 13:33 ` Krzysztof Kozlowski
2024-02-06 13:55 ` Marc Gonzalez
2024-02-06 14:01 ` Neil Armstrong
2024-02-06 13:31 ` Marc Gonzalez
2024-02-06 13:34 ` Krzysztof Kozlowski
2024-02-06 13:38 ` Neil Armstrong
2024-02-07 18:37 ` Marc Gonzalez
2024-02-12 15:14 ` Neil Armstrong [this message]
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=08b1ac0e-76a5-4daf-a944-091c42eb9e55@linaro.org \
--to=neil.armstrong@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=mgonzalez@freebox.fr \
--cc=phhusson@freebox.fr \
--cc=robh+dt@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).