Message ID | 5ac4741d-766d-4b6d-95ac-669474d05e6a@freebox.fr (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for Freebox fbx8am boards | expand |
On Mon, Feb 12, 2024 at 06:53:01PM +0100, Marc Gonzalez wrote: > From: Pierre-Hugues Husson <phhusson@freebox.fr> > > Add support for two variants of the fbx8am board. > > Signed-off-by: Pierre-Hugues Husson <phhusson@freebox.fr> > Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr> > --- > arch/arm64/boot/dts/amlogic/Makefile | 7 +++++++ > arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso | 35 ++++++++++++++++++++++++++++++++++ > arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso | 25 ++++++++++++++++++++++++ > 3 files changed, 67 insertions(+) > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile > index e9baa2cf02273..2fd7c7a18126f 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -81,3 +81,10 @@ 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 > + > +# Enable support for DT overlays > +DTC_FLAGS_meson-g12a-fbx8am += -@ Overlays need to be applied to something in the kernel at build time. Applying is done the same way as composing object files for modules. Rob
On 13/02/2024 14:51, Rob Herring wrote: > On Mon, Feb 12, 2024 at 06:53:01PM +0100, Marc Gonzalez wrote: > >> From: Pierre-Hugues Husson <phhusson@freebox.fr> >> >> Add support for two variants of the fbx8am board. >> >> Signed-off-by: Pierre-Hugues Husson <phhusson@freebox.fr> >> Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr> >> --- >> arch/arm64/boot/dts/amlogic/Makefile | 7 +++++++ >> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso | 35 ++++++++++++++++++++++++++++++++++ >> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso | 25 ++++++++++++++++++++++++ >> 3 files changed, 67 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile >> index e9baa2cf02273..2fd7c7a18126f 100644 >> --- a/arch/arm64/boot/dts/amlogic/Makefile >> +++ b/arch/arm64/boot/dts/amlogic/Makefile >> @@ -81,3 +81,10 @@ 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 >> + >> +# Enable support for DT overlays >> +DTC_FLAGS_meson-g12a-fbx8am += -@ > > Overlays need to be applied to something in the kernel at build time. > Applying is done the same way as composing object files for modules. Hello Rob, I don't quite understand your remark. I copied what other platforms do: $ git grep DTC_FLAGS_ arch/arm64/boot/dts/ arch/arm64/boot/dts/amlogic/Makefile:DTC_FLAGS_meson-g12a-fbx8am += -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra210-p2371-2180 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra210-p3450-0000 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra186-p2771-0000 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra186-p3509-0000+p3636-0001 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra194-p2972-0000 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra194-p3509-0000+p3668-0000 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra194-p3509-0000+p3668-0001 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3737-0000+p3701-0000 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3740-0002+p3701-0008 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3768-0000+p3767-0000 := -@ arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3768-0000+p3767-0005 := -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am625-beagleplay += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am625-sk += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am62-lp-sk += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am62a7-sk += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-j721e-common-proc-board += -@ arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-j721s2-common-proc-board += -@ Are you saying that is NOT the way it should be done? Regards
On 13/02/2024 15:58, Marc Gonzalez wrote: > On 13/02/2024 14:51, Rob Herring wrote: > >> On Mon, Feb 12, 2024 at 06:53:01PM +0100, Marc Gonzalez wrote: >> >>> From: Pierre-Hugues Husson <phhusson@freebox.fr> >>> >>> Add support for two variants of the fbx8am board. >>> >>> Signed-off-by: Pierre-Hugues Husson <phhusson@freebox.fr> >>> Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr> >>> --- >>> arch/arm64/boot/dts/amlogic/Makefile | 7 +++++++ >>> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-brcm.dtso | 35 ++++++++++++++++++++++++++++++++++ >>> arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am-realtek.dtso | 25 ++++++++++++++++++++++++ >>> 3 files changed, 67 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile >>> index e9baa2cf02273..2fd7c7a18126f 100644 >>> --- a/arch/arm64/boot/dts/amlogic/Makefile >>> +++ b/arch/arm64/boot/dts/amlogic/Makefile >>> @@ -81,3 +81,10 @@ 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 >>> + >>> +# Enable support for DT overlays >>> +DTC_FLAGS_meson-g12a-fbx8am += -@ >> >> Overlays need to be applied to something in the kernel at build time. >> Applying is done the same way as composing object files for modules. > > Hello Rob, > > I don't quite understand your remark. > I copied what other platforms do: > > $ git grep DTC_FLAGS_ arch/arm64/boot/dts/ You copied only parts of the solutions... > arch/arm64/boot/dts/amlogic/Makefile:DTC_FLAGS_meson-g12a-fbx8am += -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra210-p2371-2180 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra210-p3450-0000 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra186-p2771-0000 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra186-p3509-0000+p3636-0001 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra194-p2972-0000 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra194-p3509-0000+p3668-0000 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra194-p3509-0000+p3668-0001 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3737-0000+p3701-0000 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3740-0002+p3701-0008 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3768-0000+p3767-0000 := -@ > arch/arm64/boot/dts/nvidia/Makefile:DTC_FLAGS_tegra234-p3768-0000+p3767-0005 := -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am625-beagleplay += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am625-sk += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am62-lp-sk += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am62a7-sk += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-j721e-common-proc-board += -@ > arch/arm64/boot/dts/ti/Makefile:DTC_FLAGS_k3-j721s2-common-proc-board += -@ > > > Are you saying that is NOT the way it should be done? Yeah, you miss DTB targets, so your overlay is not applied anywhere. Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index e9baa2cf02273..2fd7c7a18126f 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -81,3 +81,10 @@ 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 + +# Enable support for DT overlays +DTC_FLAGS_meson-g12a-fbx8am += -@ 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 */ +};