* [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support @ 2024-08-23 12:01 Tarang Raval 2024-08-23 12:36 ` Marc Kleine-Budde 2024-09-01 7:58 ` Shawn Guo 0 siblings, 2 replies; 7+ messages in thread From: Tarang Raval @ 2024-08-23 12:01 UTC (permalink / raw) To: shawnguo, krzk+dt, festevam Cc: tarang.raval, Rob Herring, Conor Dooley, Sascha Hauer, Pengutronix Kernel Team, devicetree, imx, linux-arm-kernel, linux-kernel Add following peripherals support for the Emtop i.MX8M Mini Baseboard * Wi-Fi * Audio * SD card * RTC * CAN bus * USB OTG Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io> --- Changes in v2: 1. Updated the node name and pinctrl name. 2. Removed the 'regulators' container. 3. Removed a stray blank line. 4. Removed non-existent properties. 5. Removed unused node and pinctrl: -modem-reset -pinctrl_uart1 6. Defined the CAN transceiver reset GPIO separately. Change in v3: 1. Removed 'can-connector'. 2. Use USB connector instead of extcon_usb. 3. Changed id-gpio to id-gpios. 4. Use Level trigger IRQ in the CAN node. 5. Corrected the compatible property of RTC. 6. Added blank lines to separate the pinctrl groups. --- .../dts/freescale/imx8mm-emtop-baseboard.dts | 326 ++++++++++++++++++ 1 file changed, 326 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts b/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts index 7d2cb74c64ee..0a7c8acd8f5d 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts +++ b/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts @@ -11,6 +11,113 @@ / { model = "Emtop Embedded Solutions i.MX8M Mini Baseboard V1"; compatible = "ees,imx8mm-emtop-baseboard", "ees,imx8mm-emtop-som", "fsl,imx8mm"; + + connector { + compatible = "usb-c-connector"; + label = "USB-C"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_otg>; + id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; + + port { + high_speed_ep: endpoint { + remote-endpoint = <&usb_hs_ep>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_led>; + + led-1 { + label = "buzzer"; + gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; + + osc_can: clock-osc-can { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <16000000>; + clock-output-names = "osc-can"; + }; + + reg_audio: regulator-audio { + compatible = "regulator-fixed"; + regulator-name = "wm8904_supply"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + reg_wifi_vmmc: regulator-wifi-vmmc { + compatible = "regulator-fixed"; + regulator-name = "vmmc"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us = <100>; + off-on-delay-us = <20000>; + }; + + sound-wm8904 { + compatible = "simple-audio-card"; + simple-audio-card,bitclock-master = <&dailink_master>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,name = "wm8904-audio"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,routing = + "Headphone Jack", "HPOUTL", + "Headphone Jack", "HPOUTR", + "IN2L", "Line In Jack", + "IN2R", "Line In Jack", + "Headphone Jack", "MICBIAS", + "IN1L", "Headphone Jack"; + + simple-audio-card,widgets = + "Microphone","Headphone Jack", + "Headphone", "Headphone Jack", + "Line", "Line In Jack"; + + dailink_master: simple-audio-card,codec { + sound-dai = <&wm8904>; + }; + + simple-audio-card,cpu { + sound-dai = <&sai3>; + }; + }; + + sound-spdif { + compatible = "fsl,imx-audio-spdif"; + model = "imx-spdif"; + spdif-controller = <&spdif1>; + spdif-out; + spdif-in; + }; +}; + +/* CAN BUS */ +&ecspi2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ecspi2>; + status = "okay"; + + can: can@0 { + compatible = "microchip,mcp2515"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_canbus>; + clocks = <&osc_can>; + interrupt-parent = <&gpio1>; + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; + spi-max-frequency = <10000000>; + }; }; &fec1 { @@ -40,7 +147,129 @@ vddio: vddio-regulator { }; }; +&i2c3 { + clock-frequency = <100000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3>; + status = "okay"; + + rtc@32 { + compatible = "epson,rx8025"; + reg = <0x32>; + }; + + wm8904: audio-codec@1a { + compatible = "wlf,wm8904"; + reg = <0x1a>; + #sound-dai-cells = <0>; + clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; + clock-names = "mclk"; + DCVDD-supply = <®_audio>; + DBVDD-supply = <®_audio>; + AVDD-supply = <®_audio>; + CPVDD-supply = <®_audio>; + MICVDD-supply = <®_audio>; + }; +}; + +/* AUDIO */ +&sai3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai3>; + assigned-clocks = <&clk IMX8MM_CLK_SAI3>; + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + status = "okay"; +}; + +&spdif1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spdif1>; + assigned-clocks = <&clk IMX8MM_CLK_SPDIF1>; + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_24M>, + <&clk IMX8MM_CLK_SPDIF1>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>, + <&clk IMX8MM_AUDIO_PLL1_OUT>, <&clk IMX8MM_AUDIO_PLL2_OUT>; + clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3", + "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba", "pll8k", "pll11k"; + status = "okay"; +}; + +/* USBOTG */ +&usbotg1 { + dr_mode = "otg"; + usb-role-switch; + status = "okay"; + + port { + usb_hs_ep: endpoint { + remote-endpoint = <&high_speed_ep>; + }; + }; +}; + +&usbotg2 { + dr_mode = "host"; + status = "okay"; +}; + +/* Wifi */ +&usdhc1 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>; + pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>; + pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>; + bus-width = <4>; + vmmc-supply = <®_wifi_vmmc>; + cap-power-off-card; + keep-power-in-suspend; + non-removable; + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + wifi: wifi@1 { + compatible = "brcm,bcm4329-fmac"; + reg = <1>; + interrupt-parent = <&gpio2>; + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; + interrupt-names = "host-wake"; + }; +}; + +/* SD-card */ +&usdhc2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2>; + pinctrl-1 = <&pinctrl_usdhc2_100mhz>; + pinctrl-2 = <&pinctrl_usdhc2_200mhz>; + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; + bus-width = <4>; + status = "okay"; +}; + &iomuxc { + + pinctrl_ecspi2: ecspi2grp { + fsl,pins = < + MX8MM_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x82 + MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 + MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 + MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 + >; + }; + + pinctrl_usb_otg: usbotggrp { + fsl,pins = < + MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x140 /* otg_id */ + MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x19 /* otg_vbus */ + >; + }; + pinctrl_fec1: fec1grp { fsl,pins = < MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 @@ -60,4 +289,101 @@ MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 >; }; + + pinctrl_i2c3: i2c3grp { + fsl,pins = < + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 + >; + }; + + pinctrl_sai3: sai3grp { + fsl,pins = < + MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 + MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 + MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 + MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 + MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6 + >; + }; + + pinctrl_spdif1: spdif1grp { + fsl,pins = < + MX8MM_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6 + >; + }; + + pinctrl_usdhc1: usdhc1grp { + fsl,pins = < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0 + >; + }; + + pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp{ + fsl,pins = < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4 + >; + }; + + pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { + fsl,pins = < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6 + >; + }; + + pinctrl_usdhc1_gpio: usdhc1-gpiogrp { + fsl,pins = < + MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41 /* wl_reg_on */ + MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x41 /* wl_host_wake */ + MX8MM_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x141 /* LP0: 32KHz */ + >; + }; + + pinctrl_usdhc2: usdhc2grp { + fsl,pins = < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 + >; + }; + + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { + fsl,pins = < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 + >; + }; + + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { + fsl,pins = < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 + >; + }; }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support 2024-08-23 12:01 [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support Tarang Raval @ 2024-08-23 12:36 ` Marc Kleine-Budde 2024-08-27 11:16 ` Tarang Raval 2024-09-01 7:58 ` Shawn Guo 1 sibling, 1 reply; 7+ messages in thread From: Marc Kleine-Budde @ 2024-08-23 12:36 UTC (permalink / raw) To: Tarang Raval Cc: shawnguo, krzk+dt, festevam, Rob Herring, Conor Dooley, devicetree, Sascha Hauer, linux-kernel, Pengutronix Kernel Team, imx, linux-arm-kernel [-- Attachment #1: Type: text/plain, Size: 2101 bytes --] On 23.08.2024 17:31:57, Tarang Raval wrote: > Add following peripherals support for the Emtop i.MX8M Mini Baseboard > > * Wi-Fi > * Audio > * SD card > * RTC > * CAN bus > * USB OTG > > Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io> > --- > > Changes in v2: > > 1. Updated the node name and pinctrl name. > 2. Removed the 'regulators' container. > 3. Removed a stray blank line. > 4. Removed non-existent properties. > 5. Removed unused node and pinctrl: > -modem-reset > -pinctrl_uart1 > 6. Defined the CAN transceiver reset GPIO separately. > > Change in v3: > > 1. Removed 'can-connector'. > 2. Use USB connector instead of extcon_usb. > 3. Changed id-gpio to id-gpios. > 4. Use Level trigger IRQ in the CAN node. > 5. Corrected the compatible property of RTC. > 6. Added blank lines to separate the pinctrl groups. > --- > .../dts/freescale/imx8mm-emtop-baseboard.dts | 326 ++++++++++++++++++ > 1 file changed, 326 insertions(+) [...] > +/* CAN BUS */ > +&ecspi2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_ecspi2>; > + status = "okay"; > + > + can: can@0 { > + compatible = "microchip,mcp2515"; > + reg = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_canbus>; > + clocks = <&osc_can>; > + interrupt-parent = <&gpio1>; > + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; Have you actually tested this? Previously there was: "interrupts = <14 IRQ_TYPE_EDGE_FALLING>;", meaning the IRQ triggers on the edge "1 -> 0". It doesn't look correct, if you say now there is an IRQ at level "1". > + spi-max-frequency = <10000000>; > + }; > }; regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support 2024-08-23 12:36 ` Marc Kleine-Budde @ 2024-08-27 11:16 ` Tarang Raval 2024-08-27 12:01 ` Marc Kleine-Budde 2024-08-27 12:10 ` Fabio Estevam 0 siblings, 2 replies; 7+ messages in thread From: Tarang Raval @ 2024-08-27 11:16 UTC (permalink / raw) To: Marc Kleine-Budde Cc: shawnguo@kernel.org, krzk+dt@kernel.org, festevam@gmail.com, Rob Herring, Conor Dooley, devicetree@vger.kernel.org, Sascha Hauer, linux-kernel@vger.kernel.org, Pengutronix Kernel Team, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Hi Marc, Yes, I have tested it, and you can see the logs below. After running ifconfig can0 up, the bus is operational. [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.10.0-dirty (falcon@falcon) (aarch64-poky-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.36.1.20210209) #8 SMP PRE4 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: Emtop Embedded Solutions i.MX8M Mini Baseboard V1 [ 0.000000] efi: UEFI not found. [ 0.000000] OF: reserved mem: 0x00000000be000000..0x00000000bfbfffff (28672 KiB) nomap non-reusable optee_core@0xbe000000 [ 0.000000] OF: reserved mem: 0x00000000bfc00000..0x00000000bfffffff (4096 KiB) nomap non-reusable optee_shm@0xbfc00000 [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bdffffff] [ 0.000000] NUMA: NODE_DATA [mem 0xbdbe39c0-0xbdbe5fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000040000000-0x00000000bdffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000040000000-0x00000000bdffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bdffffff] [ 0.000000] On node 0, zone DMA: 8192 pages in unavailable ranges [ 0.000000] cma: Reserved 32 MiB at 0x00000000b9a00000 on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: Trusted OS migration not required [ 0.000000] psci: SMC Calling Convention v1.1 [ 0.000000] percpu: Embedded 24 pages/cpu s59880 r8192 d30232 u98304 [ 0.000000] pcpu-alloc: s59880 r8192 d30232 u98304 alloc=24*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk2p2 rootwait rw audit=0 [ 0.000000] audit: disabled (until reboot) [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096 [ 0.000000] Policy zone: DMA [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x00000000b9500000-0x00000000b9700000] (2MB) [ 0.000000] Memory: 1941312K/2064384K available (18432K kernel code, 4936K rwdata, 12096K rodata, 10368K init, 761K bss, 90304K reserved, 3276) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 128 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GICv3: GICv3 features: 16 PPIs [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000 [ 0.000000] ITS: No ITS available, not enabling LPIs [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns [ 0.000000] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns [ 0.001259] Console: colour dummy device 80x25 [ 0.001329] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000) [ 0.001340] pid_max: default: 32768 minimum: 301 [ 0.001407] LSM: initializing lsm=capability [ 0.001487] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.001500] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.003270] rcu: Hierarchical SRCU implementation. [ 0.003280] rcu: Max phase no-delay instances is 1000. [ 0.005746] EFI services will not be available. [ 0.005943] smp: Bringing up secondary CPUs ... [ 0.006381] Detected VIPT I-cache on CPU1 [ 0.006448] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000 [ 0.006485] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] [ 0.007018] Detected VIPT I-cache on CPU2 [ 0.007068] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000 [ 0.007093] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] [ 0.007565] Detected VIPT I-cache on CPU3 [ 0.007612] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000 [ 0.007636] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] [ 0.007731] smp: Brought up 1 node, 4 CPUs [ 0.007738] SMP: Total of 4 processors activated. [ 0.007742] CPU: All CPU(s) started at EL2 [ 0.007761] CPU features: detected: 32-bit EL0 Support [ 0.007764] CPU features: detected: 32-bit EL1 Support [ 0.007769] CPU features: detected: CRC32 instructions [ 0.007806] alternatives: applying system-wide alternatives [ 0.009753] devtmpfs: initialized [ 0.016564] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.016589] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.017481] 21072 pages in range for non-PLT usage [ 0.017495] 512592 pages in range for PLT usage [ 0.017704] pinctrl core: initialized pinctrl subsystem [ 0.019984] DMI not present or invalid. [ 0.022491] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.023668] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations [ 0.024340] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.025196] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.026938] thermal_sys: Registered thermal governor 'step_wise' [ 0.026944] thermal_sys: Registered thermal governor 'power_allocator' [ 0.027031] cpuidle: using governor menu [ 0.027259] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.027348] ASID allocator initialised with 65536 entries [ 0.029691] Serial: AMBA PL011 UART driver [ 0.035145] platform soc@0: Fixed dependency cycle(s) with /soc@0/bus@30000000/efuse@30350000/unique-id@4 [ 0.040657] imx8mm-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver [ 0.041461] platform 30350000.efuse: Fixed dependency cycle(s) with /soc@0/bus@30000000/clock-controller@30380000 [ 0.043104] platform 30350000.efuse: Fixed dependency cycle(s) with /soc@0/bus@30000000/clock-controller@30380000 [ 0.043794] platform 30380000.clock-controller: Fixed dependency cycle(s) with /soc@0/interrupt-controller@38800000 [ 0.057376] platform 32e40000.usb: Fixed dependency cycle(s) with /connector [ 0.057451] platform connector: Fixed dependency cycle(s) with /soc@0/bus@32c00000/usb@32e40000 [ 0.059749] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.059761] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.059767] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.059772] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.059776] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.059780] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.059786] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.059790] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.060200] Demotion targets for Node 0: null [ 0.061621] ACPI: Interpreter disabled. [ 0.064491] iommu: Default domain type: Translated [ 0.064500] iommu: DMA domain TLB invalidation policy: strict mode [ 0.064825] SCSI subsystem initialized [ 0.064934] libata version 3.00 loaded. [ 0.065157] usbcore: registered new interface driver usbfs [ 0.065187] usbcore: registered new interface driver hub [ 0.065213] usbcore: registered new device driver usb [ 0.066511] pps_core: LinuxPPS API ver. 1 registered [ 0.066517] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.066529] PTP clock support registered [ 0.066676] EDAC MC: Ver: 3.0.0 [ 0.067122] scmi_core: SCMI protocol bus registered [ 0.068216] FPGA manager framework [ 0.068314] Advanced Linux Sound Architecture Driver Initialized. [ 0.069541] vgaarb: loaded [ 0.069930] clocksource: Switched to clocksource arch_sys_counter [ 0.070138] VFS: Disk quotas dquot_6.6.0 [ 0.070156] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.070379] pnp: PnP ACPI: disabled [ 0.076745] NET: Registered PF_INET protocol family [ 0.076885] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.078410] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear) [ 0.078436] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.078449] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.078597] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear) [ 0.078997] TCP: Hash tables configured (established 16384 bind 16384) [ 0.079088] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.079133] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.079283] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.079646] RPC: Registered named UNIX socket transport module. [ 0.079651] RPC: Registered udp transport module. [ 0.079654] RPC: Registered tcp transport module. [ 0.079657] RPC: Registered tcp-with-tls transport module. [ 0.079660] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.080810] PCI: CLS 0 bytes, default 64 [ 0.084150] kvm [1]: nv: 477 coarse grained trap handlers [ 0.084469] kvm [1]: IPA Size Limit: 40 bits [ 0.087081] kvm [1]: GICv3: no GICV resource entry [ 0.087086] kvm [1]: disabling GICv2 emulation [ 0.087101] kvm [1]: GIC system register CPU interface enabled [ 0.087128] kvm [1]: vgic interrupt IRQ9 [ 0.087148] kvm [1]: Hyp nVHE mode initialized successfully [ 0.088405] Initialise system trusted keyrings [ 0.088572] workingset: timestamp_bits=42 max_order=19 bucket_order=0 [ 0.088839] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.089052] NFS: Registering the id_resolver key type [ 0.089071] Key type id_resolver registered [ 0.089075] Key type id_legacy registered [ 0.089093] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.089098] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.089212] 9p: Installing v9fs 9p2000 file system support [ 0.141859] Key type asymmetric registered [ 0.141867] Asymmetric key parser 'x509' registered [ 0.141916] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245) [ 0.141931] io scheduler mq-deadline registered [ 0.141936] io scheduler kyber registered [ 0.141964] io scheduler bfq registered [ 0.188177] imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 [ 0.188199] imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware [ 0.191398] imx-sdma 302b0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 [ 0.191423] imx-sdma 302b0000.dma-controller: external firmware not found, using ROM firmware [ 0.194024] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 [ 0.194043] imx-sdma 30bd0000.dma-controller: external firmware not found, using ROM firmware [ 0.195842] SoC: i.MX8MM revision 1.0 [ 0.229395] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.233994] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 18, base_baud = 1500000) is a IMX [ 0.234041] printk: legacy console [ttymxc1] enabled [ 1.373900] msm_serial: driver initialized [ 1.378539] SuperH (H)SCI(F) driver initialized [ 1.383371] STM32 USART driver initialized [ 1.395897] loop: module loaded [ 1.400551] megasas: 07.727.03.00-rc1 [ 1.413135] tun: Universal TUN/TAP device driver, 1.6 [ 1.419603] thunder_xcv, ver 1.0 [ 1.422883] thunder_bgx, ver 1.0 [ 1.426140] nicpf, ver 1.0 [ 1.430708] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version [ 1.437948] hns3: Copyright (c) 2017 Huawei Corporation. [ 1.443319] hclge is initializing [ 1.446680] e1000: Intel(R) PRO/1000 Network Driver [ 1.451565] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 1.457339] e1000e: Intel(R) PRO/1000 Network Driver [ 1.462310] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 1.468260] igb: Intel(R) Gigabit Ethernet Network Driver [ 1.473666] igb: Copyright (c) 2007-2014 Intel Corporation. [ 1.479270] igbvf: Intel(R) Gigabit Virtual Function Network Driver [ 1.485545] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 1.491929] sky2: driver version 1.30 [ 1.497599] VFIO - User Level meta-driver version: 0.3 [ 1.507024] usbcore: registered new interface driver usb-storage [ 1.517572] i2c_dev: i2c /dev entries driver [ 1.533792] sdhci: Secure Digital Host Controller Interface driver [ 1.540017] sdhci: Copyright(c) Pierre Ossman [ 1.545624] Synopsys Designware Multimedia Card Interface Driver [ 1.553116] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.563449] ledtrig-cpu: registered to indicate activity on CPUs [ 1.571934] usbcore: registered new interface driver usbhid [ 1.577534] usbhid: USB HID core driver [ 1.587453] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available [ 1.594252] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA [ 1.598025] platform soc@0: Fixed dependency cycle(s) with /soc@0/bus@30000000/efuse@30350000 [ 1.613810] optee: probing for conduit method. [ 1.618301] optee: revision 3.10 (b3914e54) [ 1.618595] optee: dynamic shared memory is enabled [ 1.628000] optee: initialized driver [ 1.645008] fsl-spdif-dai 30090000.spdif: failed to get RX Sample Rate kcontrol [ 1.655213] mmc2: new HS400 Enhanced strobe MMC card at address 0001 [ 1.656692] NET: Registered PF_LLC protocol family [ 1.663035] mmcblk2: mmc2:0001 TB2916 14.6 GiB [ 1.666596] NET: Registered PF_INET6 protocol family [ 1.672502] mmcblk2: p1 p2 [ 1.676934] Segment Routing with IPv6 [ 1.680361] mmcblk2boot0: mmc2:0001 TB2916 4.00 MiB [ 1.682364] In-situ OAM (IOAM) with IPv6 [ 1.688961] mmcblk2boot1: mmc2:0001 TB2916 4.00 MiB [ 1.691214] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 1.698289] mmcblk2rpmb: mmc2:0001 TB2916 4.00 MiB, chardev (234:0) [ 1.702407] NET: Registered PF_PACKET protocol family [ 1.713351] 9pnet: Installing 9P2000 support [ 1.717679] Key type dns_resolver registered [ 1.732850] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level [ 1.741727] registered taskstats version 1 [ 1.746063] Loading compiled-in X.509 certificates [ 1.759882] Demotion targets for Node 0: null [ 1.776979] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.787670] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.798264] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.809157] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.820089] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.833312] usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests (id=vbus) [ 1.842919] usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests (id=vbus) [ 1.853760] i2c i2c-0: IMX I2C adapter registered [ 1.854275] nxp-pca9450 0-0025: Read device id error [ 1.863722] rtc-ds1307 2-0032: power-on detected [ 1.869510] rtc-ds1307 2-0032: voltage drop detected [ 1.880478] rtc-ds1307 2-0032: registered as rtc0 [ 1.891345] rtc-ds1307 2-0032: setting system clock to 2024-08-27T10:45:39 UTC (1724755539) [ 1.905522] wm8904 2-001a: revision A [ 1.941639] i2c i2c-2: IMX I2C adapter registered [ 1.948543] i2c i2c-3: IMX I2C adapter registered [ 1.958070] pps pps0: new PPS source ptp0 [ 1.965416] fec 30be0000.ethernet: Invalid MAC address: 00:00:00:00:00:00 [ 1.972260] fec 30be0000.ethernet: Using random MAC address: 8a:e8:90:b7:d4:2f [ 1.980747] mdio_bus 30be0000.ethernet-1: MDIO device at address 4 is missing. [ 1.988642] fec 30be0000.ethernet eth0: registered PHC device 0 [ 1.996998] imx_usb 32e40000.usb: No over current polarity defined [ 2.010485] imx_usb 32e50000.usb: No over current polarity defined [ 2.020233] ci_hdrc ci_hdrc.1: EHCI Host Controller [ 2.025145] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1 [ 2.045936] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 [ 2.052273] hub 1-0:1.0: USB hub found [ 2.056057] hub 1-0:1.0: 1 port detected [ 2.069501] sdhci-esdhc-imx 30b50000.mmc: Got CD GPIO [ 2.069855] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 2.083606] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 2.090069] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' [ 2.097377] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 2.097945] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA [ 2.098010] clk: Disabling unused clocks [ 2.101709] PM: genpd: Disabling unused power domains [ 2.101778] ALSA device list: [ 2.101782] #0: imx-spdif [ 2.106025] cfg80211: failed to load regulatory.db [ 2.106448] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA [ 2.266355] EXT4-fs (mmcblk2p2): warning: mounting fs with errors, running e2fsck is recommended [ 2.277093] EXT4-fs (mmcblk2p2): recovery complete [ 2.283024] EXT4-fs (mmcblk2p2): mounted filesystem 20364220-6e5e-45c8-bf64-7551b37d8c8d r/w with ordered data mode. Quota mode: none. [ 2.287078] mmc0: new ultra high speed SDR104 SDIO card at address 0001 [ 2.295187] VFS: Mounted root (ext4 filesystem) on device 179:2. [ 2.308798] devtmpfs: mounted [ 2.309735] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 2.314563] Freeing unused kernel memory: 10368K [ 2.320440] usb 1-1: new high-speed USB device number 2 using ci_hdrc [ 2.325119] Run /sbin/init as init process [ 2.335547] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.ees,imx8mm-emtop-baseboard.bin failed with error -2 [ 2.335575] with arguments: [ 2.347655] /sbin/init [ 2.347659] with environment: [ 2.347662] HOME=/ [ 2.347665] TERM=linux [ 2.467553] systemd[1]: systemd 243.2+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCR) [ 2.487372] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2) [ 2.489677] systemd[1]: Detected architecture arm64. [ 2.497370] hub 1-1:1.0: USB hub found [ 2.505499] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 3 2019 19:47:25 version 7.45.184 (r712131 CY) FWID 01-b363c0a0 [ 2.517873] hub 1-1:1.0: 4 ports detected [ 2.578353] systemd[1]: Set hostname to <imx8mmddr4evk>. [ 2.720063] EXT4-fs error (device mmcblk2p2): ext4_validate_block_bitmap:423: comm ext4lazyinit: bg 34: bad block bitmap checksum [ 2.787503] systemd[1]: /lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run. [ 2.815727] systemd[1]: /lib/systemd/system/syslogd.service:8: PIDFile= references a path below legacy directory /var/run/, updating /var/run/. [ 2.845890] systemd[1]: /lib/systemd/system/rpcbind.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/. [ 2.869152] systemd[1]: /lib/systemd/system/klogd.service:8: PIDFile= references a path below legacy directory /var/run/, updating /var/run/kl. [ 5.989945] random: crng init done [ 5.995822] systemd[1]: Created slice system-getty.slice. [ 6.019025] systemd[1]: Created slice system-serial\x2dgetty.slice. [ 6.042942] systemd[1]: Created slice User and Session Slice. [ 6.514702] EXT4-fs (mmcblk2p2): re-mounted 20364220-6e5e-45c8-bf64-7551b37d8c8d r/w. Quota mode: none. [ 6.762206] systemd-journald[118]: Received client request to flush runtime journal. [ 7.441591] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 2 mkt segment 2 supported-hw 0x4 0x4 [ 7.533512] Error: Driver 'imx-sdma' is already registered, aborting... [ 7.638002] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc1 [ 7.652039] Error: Driver 'imx-sdma' is already registered, aborting... [ 7.731186] imx8m-ddrc-devfreq 3d400000.memory-controller: failed to get OPP table [ 7.744440] mc: Linux media interface: v0.10 [ 7.778371] debugfs: File 'Headphone Jack' in directory 'dapm' already present! [ 7.843477] videodev: Linux video capture interface: v2.00 [ 7.968037] etnaviv etnaviv: bound 38000000.gpu (ops gpu_ops [etnaviv]) [ 7.991117] hantro-vpu 38300000.video-codec: registered nxp,imx8mm-vpu-g1-dec as /dev/video0 [ 7.994918] etnaviv etnaviv: bound 38008000.gpu (ops gpu_ops [etnaviv]) [ 8.006631] etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653 [ 8.022053] etnaviv-gpu 38000000.gpu: Need to move linear window on MC1.0, disabling TS [ 8.024688] bluetooth: Unknown symbol crypto_ecdh_key_len (err -2) [ 8.032308] hantro-vpu 38310000.video-codec: registered nxp,imx8mq-vpu-g2-dec as /dev/video1 [ 8.036846] bluetooth: Unknown symbol crypto_ecdh_encode_key (err -2) [ 8.036917] etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341 [ 8.046269] [drm] Initialized etnaviv 1.4.0 20151214 for etnaviv on minor 0 [ 8.244785] usbcore: registered new device driver onboard-usb-dev [ 8.445671] hub 1-1:1.0: USB hub found [ 8.462368] CAN device driver interface [ 8.473204] hub 1-1:1.0: 4 ports detected [ 8.527105] hub 1-1:1.0: USB hub found [ 8.542004] hub 1-1:1.0: 4 ports detected [ 8.562833] mcp251x spi1.0 can0: MCP2515 successfully initialized. [ 8.639860] fec 30be0000.ethernet eth0: Unable to connect to phy [ 8.708452] fec 30be0000.ethernet eth0: Unable to connect to phy Regards, Tarang ________________________________________ From: Marc Kleine-Budde <mkl@pengutronix.de> Sent: Friday, August 23, 2024 6:06 PM To: Tarang Raval <tarang.raval@siliconsignals.io> Cc: shawnguo@kernel.org <shawnguo@kernel.org>; krzk+dt@kernel.org <krzk+dt@kernel.org>; festevam@gmail.com <festevam@gmail.com>; Rob Herring <robh@kernel.org>; Conor Dooley <conor+dt@kernel.org>; devicetree@vger.kernel.org <devicetree@vger.kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; Pengutronix Kernel Team <kernel@pengutronix.de>; imx@lists.linux.dev <imx@lists.linux.dev>; linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support 2024-08-27 11:16 ` Tarang Raval @ 2024-08-27 12:01 ` Marc Kleine-Budde 2024-08-27 12:10 ` Fabio Estevam 1 sibling, 0 replies; 7+ messages in thread From: Marc Kleine-Budde @ 2024-08-27 12:01 UTC (permalink / raw) To: Tarang Raval Cc: shawnguo@kernel.org, krzk+dt@kernel.org, festevam@gmail.com, Rob Herring, Conor Dooley, devicetree@vger.kernel.org, Sascha Hauer, linux-kernel@vger.kernel.org, Pengutronix Kernel Team, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org [-- Attachment #1: Type: text/plain, Size: 471 bytes --] On 27.08.2024 11:16:02, Tarang Raval wrote: > Yes, I have tested it, and you can see the logs below. > After running ifconfig can0 up, the bus is operational. Thanks for testing. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support 2024-08-27 11:16 ` Tarang Raval 2024-08-27 12:01 ` Marc Kleine-Budde @ 2024-08-27 12:10 ` Fabio Estevam 2024-08-27 12:44 ` Tarang Raval 1 sibling, 1 reply; 7+ messages in thread From: Fabio Estevam @ 2024-08-27 12:10 UTC (permalink / raw) To: Tarang Raval Cc: Marc Kleine-Budde, shawnguo@kernel.org, krzk+dt@kernel.org, Rob Herring, Conor Dooley, devicetree@vger.kernel.org, Sascha Hauer, linux-kernel@vger.kernel.org, Pengutronix Kernel Team, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Hi Tarang, On Tue, Aug 27, 2024 at 8:16 AM Tarang Raval <tarang.raval@siliconsignals.io> wrote: > [ 8.639860] fec 30be0000.ethernet eth0: Unable to connect to phy > [ 8.708452] fec 30be0000.ethernet eth0: Unable to connect to phy What about this network issue? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support 2024-08-27 12:10 ` Fabio Estevam @ 2024-08-27 12:44 ` Tarang Raval 0 siblings, 0 replies; 7+ messages in thread From: Tarang Raval @ 2024-08-27 12:44 UTC (permalink / raw) To: Fabio Estevam Cc: Marc Kleine-Budde, shawnguo@kernel.org, krzk+dt@kernel.org, Rob Herring, Conor Dooley, devicetree@vger.kernel.org, Sascha Hauer, linux-kernel@vger.kernel.org, Pengutronix Kernel Team, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Hi Fabio, Currently, the Ethernet cable is not connected, which is why it's showing that message. If I connect the Ethernet cable, it will give a log like this: [ 12.670384] fec 30be0000.ethernet eth0: Link is Down [ 14.719222] fec 30be0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx Regards, Tarang ________________________________________ From: Fabio Estevam <festevam@gmail.com> Sent: Tuesday, August 27, 2024 5:40 PM To: Tarang Raval <tarang.raval@siliconsignals.io> Cc: Marc Kleine-Budde <mkl@pengutronix.de>; shawnguo@kernel.org <shawnguo@kernel.org>; krzk+dt@kernel.org <krzk+dt@kernel.org>; Rob Herring <robh@kernel.org>; Conor Dooley <conor+dt@kernel.org>; devicetree@vger.kernel.org <devicetree@vger.kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; Pengutronix Kernel Team <kernel@pengutronix.de>; imx@lists.linux.dev <imx@lists.linux.dev>; linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. Hi Tarang, On Tue, Aug 27, 2024 at 8:16 AM Tarang Raval <tarang.raval@siliconsignals.io> wrote: > [ 8.639860] fec 30be0000.ethernet eth0: Unable to connect to phy > [ 8.708452] fec 30be0000.ethernet eth0: Unable to connect to phy What about this network issue? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support 2024-08-23 12:01 [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support Tarang Raval 2024-08-23 12:36 ` Marc Kleine-Budde @ 2024-09-01 7:58 ` Shawn Guo 1 sibling, 0 replies; 7+ messages in thread From: Shawn Guo @ 2024-09-01 7:58 UTC (permalink / raw) To: Tarang Raval Cc: shawnguo, krzk+dt, festevam, Rob Herring, Conor Dooley, Sascha Hauer, Pengutronix Kernel Team, devicetree, imx, linux-arm-kernel, linux-kernel On Fri, Aug 23, 2024 at 05:31:57PM +0530, Tarang Raval wrote: > Add following peripherals support for the Emtop i.MX8M Mini Baseboard > > * Wi-Fi > * Audio > * SD card > * RTC > * CAN bus > * USB OTG > > Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io> > --- > > Changes in v2: > > 1. Updated the node name and pinctrl name. > 2. Removed the 'regulators' container. > 3. Removed a stray blank line. > 4. Removed non-existent properties. > 5. Removed unused node and pinctrl: > -modem-reset > -pinctrl_uart1 > 6. Defined the CAN transceiver reset GPIO separately. > > Change in v3: > > 1. Removed 'can-connector'. > 2. Use USB connector instead of extcon_usb. > 3. Changed id-gpio to id-gpios. > 4. Use Level trigger IRQ in the CAN node. > 5. Corrected the compatible property of RTC. > 6. Added blank lines to separate the pinctrl groups. > --- > .../dts/freescale/imx8mm-emtop-baseboard.dts | 326 ++++++++++++++++++ > 1 file changed, 326 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts b/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts > index 7d2cb74c64ee..0a7c8acd8f5d 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mm-emtop-baseboard.dts > @@ -11,6 +11,113 @@ / { > model = "Emtop Embedded Solutions i.MX8M Mini Baseboard V1"; > compatible = "ees,imx8mm-emtop-baseboard", "ees,imx8mm-emtop-som", > "fsl,imx8mm"; > + > + connector { > + compatible = "usb-c-connector"; > + label = "USB-C"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_usb_otg>; > + id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; > + > + port { > + high_speed_ep: endpoint { > + remote-endpoint = <&usb_hs_ep>; > + }; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_gpio_led>; > + > + led-1 { > + label = "buzzer"; > + gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>; > + default-state = "off"; > + }; > + }; > + > + osc_can: clock-osc-can { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <16000000>; > + clock-output-names = "osc-can"; > + }; > + > + reg_audio: regulator-audio { > + compatible = "regulator-fixed"; > + regulator-name = "wm8904_supply"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + reg_wifi_vmmc: regulator-wifi-vmmc { > + compatible = "regulator-fixed"; > + regulator-name = "vmmc"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + startup-delay-us = <100>; > + off-on-delay-us = <20000>; > + }; > + > + sound-wm8904 { > + compatible = "simple-audio-card"; > + simple-audio-card,bitclock-master = <&dailink_master>; > + simple-audio-card,format = "i2s"; > + simple-audio-card,frame-master = <&dailink_master>; > + simple-audio-card,name = "wm8904-audio"; > + simple-audio-card,mclk-fs = <256>; > + simple-audio-card,routing = > + "Headphone Jack", "HPOUTL", > + "Headphone Jack", "HPOUTR", > + "IN2L", "Line In Jack", > + "IN2R", "Line In Jack", > + "Headphone Jack", "MICBIAS", > + "IN1L", "Headphone Jack"; > + > + simple-audio-card,widgets = > + "Microphone","Headphone Jack", > + "Headphone", "Headphone Jack", > + "Line", "Line In Jack"; > + > + dailink_master: simple-audio-card,codec { > + sound-dai = <&wm8904>; > + }; > + > + simple-audio-card,cpu { > + sound-dai = <&sai3>; > + }; > + }; > + > + sound-spdif { > + compatible = "fsl,imx-audio-spdif"; > + model = "imx-spdif"; > + spdif-controller = <&spdif1>; > + spdif-out; > + spdif-in; > + }; > +}; > + > +/* CAN BUS */ > +&ecspi2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_ecspi2>; > + status = "okay"; > + > + can: can@0 { > + compatible = "microchip,mcp2515"; > + reg = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_canbus>; > + clocks = <&osc_can>; > + interrupt-parent = <&gpio1>; > + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; > + spi-max-frequency = <10000000>; > + }; > }; > > &fec1 { > @@ -40,7 +147,129 @@ vddio: vddio-regulator { > }; > }; > > +&i2c3 { > + clock-frequency = <100000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_i2c3>; > + status = "okay"; > + > + rtc@32 { > + compatible = "epson,rx8025"; > + reg = <0x32>; > + }; > + > + wm8904: audio-codec@1a { Could you sort I2C device nodes in slave/unit address? > + compatible = "wlf,wm8904"; > + reg = <0x1a>; > + #sound-dai-cells = <0>; > + clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; > + clock-names = "mclk"; > + DCVDD-supply = <®_audio>; > + DBVDD-supply = <®_audio>; > + AVDD-supply = <®_audio>; > + CPVDD-supply = <®_audio>; > + MICVDD-supply = <®_audio>; > + }; > +}; > + > +/* AUDIO */ > +&sai3 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai3>; > + assigned-clocks = <&clk IMX8MM_CLK_SAI3>; > + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; > + assigned-clock-rates = <24576000>; > + status = "okay"; > +}; > + > +&spdif1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_spdif1>; > + assigned-clocks = <&clk IMX8MM_CLK_SPDIF1>; > + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; > + assigned-clock-rates = <24576000>; > + clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_24M>, > + <&clk IMX8MM_CLK_SPDIF1>, <&clk IMX8MM_CLK_DUMMY>, > + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>, > + <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_DUMMY>, > + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>, > + <&clk IMX8MM_AUDIO_PLL1_OUT>, <&clk IMX8MM_AUDIO_PLL2_OUT>; > + clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3", > + "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba", "pll8k", "pll11k"; > + status = "okay"; > +}; > + > +/* USBOTG */ > +&usbotg1 { > + dr_mode = "otg"; > + usb-role-switch; > + status = "okay"; > + > + port { > + usb_hs_ep: endpoint { > + remote-endpoint = <&high_speed_ep>; > + }; > + }; > +}; > + > +&usbotg2 { > + dr_mode = "host"; > + status = "okay"; > +}; > + > +/* Wifi */ > +&usdhc1 { > + pinctrl-names = "default", "state_100mhz", "state_200mhz"; > + pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>; > + pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>; > + pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>; > + bus-width = <4>; > + vmmc-supply = <®_wifi_vmmc>; > + cap-power-off-card; > + keep-power-in-suspend; > + non-removable; > + status = "okay"; > + > + #address-cells = <1>; > + #size-cells = <0>; Could you move these two into the property list above which ends with 'status'? Shawn > + wifi: wifi@1 { > + compatible = "brcm,bcm4329-fmac"; > + reg = <1>; > + interrupt-parent = <&gpio2>; > + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; > + interrupt-names = "host-wake"; > + }; > +}; > + > +/* SD-card */ > +&usdhc2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_usdhc2>; > + pinctrl-1 = <&pinctrl_usdhc2_100mhz>; > + pinctrl-2 = <&pinctrl_usdhc2_200mhz>; > + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; > + bus-width = <4>; > + status = "okay"; > +}; > + > &iomuxc { > + > + pinctrl_ecspi2: ecspi2grp { > + fsl,pins = < > + MX8MM_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x82 > + MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 > + MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 > + MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 > + >; > + }; > + > + pinctrl_usb_otg: usbotggrp { > + fsl,pins = < > + MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x140 /* otg_id */ > + MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x19 /* otg_vbus */ > + >; > + }; > + > pinctrl_fec1: fec1grp { > fsl,pins = < > MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 > @@ -60,4 +289,101 @@ MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f > MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 > >; > }; > + > + pinctrl_i2c3: i2c3grp { > + fsl,pins = < > + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 > + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 > + >; > + }; > + > + pinctrl_sai3: sai3grp { > + fsl,pins = < > + MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 > + MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 > + MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 > + MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 > + MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6 > + >; > + }; > + > + pinctrl_spdif1: spdif1grp { > + fsl,pins = < > + MX8MM_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6 > + >; > + }; > + > + pinctrl_usdhc1: usdhc1grp { > + fsl,pins = < > + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190 > + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0 > + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0 > + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0 > + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0 > + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0 > + >; > + }; > + > + pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp{ > + fsl,pins = < > + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194 > + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4 > + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4 > + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4 > + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4 > + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4 > + >; > + }; > + > + pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { > + fsl,pins = < > + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196 > + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6 > + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6 > + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6 > + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6 > + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6 > + >; > + }; > + > + pinctrl_usdhc1_gpio: usdhc1-gpiogrp { > + fsl,pins = < > + MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41 /* wl_reg_on */ > + MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x41 /* wl_host_wake */ > + MX8MM_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x141 /* LP0: 32KHz */ > + >; > + }; > + > + pinctrl_usdhc2: usdhc2grp { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 > + >; > + }; > + > + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 > + >; > + }; > + > + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 > + >; > + }; > }; > -- > 2.34.1 > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-09-01 8:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-08-23 12:01 [PATCH v3] arm64: dts: imx8mm-emtop-baseboard: Add Peripherals Support Tarang Raval 2024-08-23 12:36 ` Marc Kleine-Budde 2024-08-27 11:16 ` Tarang Raval 2024-08-27 12:01 ` Marc Kleine-Budde 2024-08-27 12:10 ` Fabio Estevam 2024-08-27 12:44 ` Tarang Raval 2024-09-01 7:58 ` Shawn Guo
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 NNTP newsgroup(s).