Linux-Amlogic Archive mirror
 help / color / mirror / Atom feed
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

      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).