mbox series

[v4,00/12] arm64: prepare and add verdin imx8m mini support

Message ID 20220204225706.1539818-1-marcel@ziswiler.com
Headers show
Series arm64: prepare and add verdin imx8m mini support | expand

Message

Marcel Ziswiler Feb. 4, 2022, 10:56 p.m. UTC
From: Marcel Ziswiler <marcel.ziswiler@toradex.com>


Fix strange hex notation and gpio-hog example, rebuild default
configuration, enable various relevant configuration options mainly to
be built as modules, add toradex,verdin-imx8mm et al. to dt-bindings and
finally, add initial support for Verdin iMX8M Mini.

Changes in v4:
- Re-base on top of Shawn's for-next branch.
- Fix gpio-line-names taking V1.1 re-design into account.
- Fix wrong SODIMM pin number.
- Drop 2nd SPI CAN instance being N/A in all SKUs.

Changes in v3:
- Add Krzysztof's reviewed-by tag.
- Add Krzysztof's reviewed-by tag.
- New separate patch only for re-ordering as suggested by Krzysztof.
- Not dropping CONFIG_SECCOMP=y, CONFIG_SLIMBUS=m, CONFIG_INTERCONNECT=y
  and CONFIG_CONFIGFS_FS=y as requested by Krzysztof.
- Add Krzysztof's reviewed-by tag.
- New patch enabling imx8m pcie phy driver in arm64 defconfig.
- Add Krzysztof's reviewed-by tag.
- Add Krzysztof's reviewed-by tag.
- Rebase on top of shawnguo's for-next.
- Drop [PATCH v2 02/11] ("dt-bindings: gpio: fix gpio-hog example") as
  it already got applied by Bart.
- Remove the 'pm-ignore-notify' property analogous to commit aafac22d6b23
  ("arm64: dts: imx8mm/n: Remove the 'pm-ignore-notify' property").
- Now with PCIe support finally having landed in -next enable it as well.
- Add Krzysztof's acked-by tag.

Changes in v2:
- Add Laurent's reviewed-by tag.
- New patch following full defconfig analysis as requested by Krzysztof.
- New patch following full defconfig analysis as requested by Krzysztof.
- Done full defconfig analysis as requested by Krzysztof.
- Add Song's acked-by tag.
- A similar change got accepted for imx_v6_v7_defconfig. Further
  discussion may be found in [1].
[1] https://lore.kernel.org/lkml/20210920144938.314588-6-marcel@ziswiler.com/
- Explain why enabling it may be a good idea as requested by Krzysztof.
- Explain why enabling these may make sense and squash them relevant
  changes as requested by Krzysztof.
- Add Rob's acked-by tag.
- Fix Colibri vs. Verdin copy/paste mistake. Thanks to Francesco Dolcini
  <francesco.dolcini@toradex.com> for pointing that out to me.
- Remove bootargs which will be filled in by the bootloader as requested
  by Krzysztof.
- Remove the previously #ifdefed-out spi-nor as requested by Krzysztof.
- Fix capitalisation in cover-letter.

Marcel Ziswiler (12):
  arm64: dts: imx8mm: fix strange hex notation
  arm64: defconfig: enable taskstats configuration
  arm64: defconfig: enable pcieaer configuration
  arm64: defconfig: re-order default configuration
  arm64: defconfig: rebuild default configuration
  arm64: defconfig: enable bpf/cgroup firewalling
  arm64: defconfig: enable imx8m pcie phy driver
  arm64: defconfig: build imx-sdma as a module
  arm64: defconfig: build r8169 as a module
  arm64: defconfig: enable verdin-imx8mm relevant drivers as modules
  dt-bindings: arm: fsl: add toradex,verdin-imx8mm et al.
  arm64: dts: freescale: add initial support for verdin imx8m mini

 .../devicetree/bindings/arm/fsl.yaml          |   21 +
 arch/arm64/boot/dts/freescale/Makefile        |    4 +
 .../arm64/boot/dts/freescale/imx8mm-pinfunc.h |    6 +-
 .../dts/freescale/imx8mm-verdin-dahlia.dtsi   |  150 ++
 .../boot/dts/freescale/imx8mm-verdin-dev.dtsi |   67 +
 .../imx8mm-verdin-nonwifi-dahlia.dts          |   18 +
 .../freescale/imx8mm-verdin-nonwifi-dev.dts   |   18 +
 .../dts/freescale/imx8mm-verdin-nonwifi.dtsi  |   75 +
 .../freescale/imx8mm-verdin-wifi-dahlia.dts   |   18 +
 .../dts/freescale/imx8mm-verdin-wifi-dev.dts  |   18 +
 .../dts/freescale/imx8mm-verdin-wifi.dtsi     |   95 ++
 .../boot/dts/freescale/imx8mm-verdin.dtsi     | 1279 +++++++++++++++++
 arch/arm64/configs/defconfig                  |  126 +-
 13 files changed, 1827 insertions(+), 68 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dahlia.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dev.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dahlia.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dev.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi

Comments

Fabio Estevam Feb. 7, 2022, 8:49 p.m. UTC | #1
Hi Marcel,

On Fri, Feb 4, 2022 at 7:58 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:

> +/* On-module Wi-Fi */
> +&usdhc3 {
> +       bus-width = <4>;
> +       keep-power-in-suspend;
> +       non-removable;
> +       pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +       pinctrl-0 = <&pinctrl_usdhc3>, <&pinctrl_wifi_ctrl>;
> +       pinctrl-1 = <&pinctrl_usdhc3_100mhz>, <&pinctrl_wifi_ctrl>;
> +       pinctrl-2 = <&pinctrl_usdhc3_200mhz>, <&pinctrl_wifi_ctrl>;
> +       vmmc-supply = <&reg_wifi_en>;
> +       wifi-host;

wifi-host is not a valid property.

> +               /* Use the kernel configuration settings instead */
> +               /delete-node/ linux,cma;
> +
> +               rpmsg_reserved: rpmsg@b8000000 {

I suppose this comes from the NXP vendor BSP and does not apply upstream.

> +/* Verdin CAN_1 (On-module) */
> +&ecspi3 {
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>,
> +                  <&gpio1 5 GPIO_ACTIVE_LOW>;
> +       spi-num-chipselects = <2>;

No need to specify "spi-num-chipselects". It is implicit by cs-gpios.

> +
> +&usbmisc1 {
> +       vbus-wakeup-supply = <&reg_vdd_3v3>;

Not a valid property.

> +};
> +
> +&usbmisc2 {
> +       vbus-wakeup-supply = <&reg_vdd_3v3>;

Ditto.

> +};
> +
> +/* Verdin USB_1 */
> +&usbotg1 {
> +       adp-disable;
> +       dr_mode = "otg";
> +       hnp-disable;
> +       over-current-active-low;
> +       picophy,dc-vol-level-adjust = <7>;

I guess you meant: samsung,picophy-dc-vol-level-adjust

> +       picophy,pre-emp-curr-control = <3>;

I guess you meant: samsung,picophy-pre-emp-curr-control

> +&usbotg2 {
> +       dr_mode = "host";
> +       over-current-active-low;
> +       picophy,dc-vol-level-adjust = <7>;
> +       picophy,pre-emp-curr-control = <3>;

Same here.