summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2023-05-24arm64: dts: imx8mp: add bus_early clock to imx8mp-dwc3Stefan Eichenberger
Add a bus_early clock property to the imx8mp-dwc3 driver so that we can access register 0x382f0000 and 0x381f0000 after a suspend/resume cycle. Without this change suspend/resume will hang on resume. Upstream-Status: Inappropriate [other] This fix is only needed for the downstream kernel. In the upstream kernel they added a power-domain for all hsio devices (usb, pcie, etc.) and enable the clock there. However, backporting this solution would probably cause more issues for now. Fixes: cbd09f688623 ("usb: dwc3: imx8mp: Add support for setting SOC specific flags") Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-28toradex_imx_v8.config: compile the i.MX SATA driver as moduleStefan Eichenberger
There are situations when PCIe probes after SATA so that Wifi does not come up. By compiling the SATA driver as a module we workaround this issue. Upstream-Status: Inappropriate [Configuration] Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-26arm64: dts: imx8-apalis: use startup-delay-us for wifi regulatorStefan Eichenberger
We used regulator-settling-time-us for the wifi regulator which is wrong for regulator-fixed. We have to use startup-delay-us instead. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-26arm64: dts: imx8-apalis: rename wifi regulatorStefan Eichenberger
Rename the wifi regulator to what is the net name in the schematic. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-26arm64: dts: colibri-imx8x: use clock and regulator instead of gpio hogsStefan Eichenberger
Replace gpio-hogs by using the hsio clock to enable the PCIe reference clock for Wifi and vcie-supply to power on the Wifi module. With this change the gpios will not be touched when Wifi is disabled. Upstream-Status: Pending Mainline for i.MX 8X does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-21arm64: dts: imx8-apalis: reorder pcie propertiesStefan Eichenberger
Reorder the properties in the pcie nodes according to upstream rules. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-21arm64: dts: imx8-apalis: remove redundant clocks from pcie and sataStefan Eichenberger
We set the same pcie and sata clock as the include files. This commit removes redundancy. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-21arm64: dts: imx8-apalis: pcieb use vpcie-supply instead of epdevStefan Eichenberger
Use the vpcie-supply property instead of epdev_on-supply. This property is also available in the upstream bsp and is therefore preferred. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-21arm64: dts: imx8-apalis: use the hsio clocks for pcie and sataStefan Eichenberger
Use the hsio clocks for pcie and sata as NXP does in their device tree. We can therefore remove the pcie_ext and sata_ext properties and don't have to add any special properties. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-21arm64: dts: imx8-apalis: set correct gpios for hsio clocksStefan Eichenberger
Set the correct gpios for the hsio clocks. This will allow us to use the predefined hsio clocks from NXP to enable the pcie and sata clocks. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-20arm64: dts: imx8-apalis: remove gpio hogs for pcie and sataStefan Eichenberger
Remove the gpio hogs for the pcie and sata clocks. We want to use a gpio-gate-clock instead. Upstream-Status: Pending Mainline for i.MX 8 does not support PCIe yet, this patch cannot be upstreamed as of now. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2023-04-18arm64: dts: apalis-imx8: delete adma_pwmAndrejs Cainikovs
i.MX8, i.MX8X, i.MX8XP and i.MX8XL SOC device trees are all based on imx8-ss-*.dtsi files. For i.MX8X and i.MX8XP these device trees should be updated with some peripherals removed or updated, similar to i.MX8XL (imx8dxl-ss-*.dtsi files). However, it looks like only i.MX8 and i.MX8XL are up to date, but for i.MX8X and i.MX8XP some of the peripherals got inherited from imx8-ss-*.dtsi files, but in reality they are not present on SOC. As a result, during resource partition ownership check U-Boot receives messages from SCU firmware about these resources not owned by boot partition. In reality, these resources are not owned by anyone, as they simply does not exist, but are defined in Linux device tree. This change removes those peripherals, which are listed during U-Boot resource partition ownership check as warnings: ## Flattened Device Tree blob at 9d400000 Booting using the fdt blob at 0x9d400000 Loading Device Tree to 00000000fd622000, end 00000000fd66efff ... OK Disable pwm@5a190000 rsrc 188 not owned Disable clock-controller@5a590000 rsrc 188 not owned Starting kernel ... Upstream-Status: Inappropriate [other] The issue is not present in upstream since these nodes are not present there, only downstream is affected. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-04-18arm64: dts: colibri-imx8x: delete emvsim0 and hdmi_rxAndrejs Cainikovs
i.MX8, i.MX8X, i.MX8XP and i.MX8XL SOC device trees are all based on imx8-ss-*.dtsi files. For i.MX8X and i.MX8XP these device trees should be updated with some peripherals removed or updated, similar to i.MX8XL (imx8dxl-ss-*.dtsi files). However, it looks like only i.MX8 and i.MX8XL are up to date, but for i.MX8X and i.MX8XP some of the peripherals got inherited from imx8-ss-*.dtsi files, but in reality they are not present on SOC. As a result, during resource partition ownership check U-Boot receives messages from SCU firmware about these resources not owned by boot partition. In reality, these resources are not owned by anyone, as they simply does not exist, but are defined in Linux device tree. This change removes those peripherals, which are listed during U-Boot resource partition ownership check as warnings: ## Flattened Device Tree blob at 9d400000 Booting using the fdt blob at 0x9d400000 Loading Device Tree to 00000000fd652000, end 00000000fd67efff ... OK Disable clock-controller@585a0000 rsrc 411 not owned Disable clock-controller@5a4d0000 rsrc 62 not owned Starting kernel ... Upstream-Status: Inappropriate [other] The issue is not present in upstream since these nodes are not present there, only downstream is affected. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-04-18arm64: dts: colibri-imx8x: delete adc1 and dspAndrejs Cainikovs
i.MX8, i.MX8X, i.MX8XP and i.MX8XL SOC device trees are all based on imx8-ss-*.dtsi files. For i.MX8X and i.MX8XP these device trees should be updated with some peripherals removed or updated, similar to i.MX8XL (imx8dxl-ss-*.dtsi files). However, it looks like only i.MX8 and i.MX8XL are up to date, but for i.MX8X and i.MX8XP some of the peripherals got inherited from imx8-ss-*.dtsi files, but in reality they are not present on SOC. As a result, during resource partition ownership check U-Boot receives messages from SCU firmware about these resources not owned by boot partition. In reality, these resources are not owned by anyone, as they simply does not exist, but are defined in Linux device tree. This change removes those peripherals, which are listed during U-Boot resource partition ownership check as warnings: ## Flattened Device Tree blob at 9d400000 Booting using the fdt blob at 0x9d400000 Loading Device Tree to 00000000fd652000, end 00000000fd67efff ... OK Disable clock-controller@59580000 rsrc 512 not owned Disable clock-controller@5ac90000 rsrc 102 not owned Starting kernel ... Upstream-Status: Submitted [https://lore.kernel.org/all/20230417173830.19401-1-andrejs.cainikovs@toradex.com/] Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-04-18arm64: dts: colibri-imx8x: fix iris pinctrl configurationEmanuele Ghidoli
Remove GPIO3_IO10 from Iris carrier board pinctrl configuration, this is already defined in the SOM dtsi since this is a standard SOM functionality (wake-up button). Duplicating it leads to the following error message imx8qxp-pinctrl scu:pinctrl: pin IMX8QXP_QSPI0A_DATA1 already requested Upstream-Status: Submitted [https://lore.kernel.org/all/20230417173830.19401-1-andrejs.cainikovs@toradex.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-04-18arm64: dts: colibri-imx8x: move pinctrl property from SoM to eval boardEmanuele Ghidoli
Each carrier board device tree except the eval board one already override iomuxc pinctrl property to configure unused pins as gpio. So move also the pinctrl property to eval board device tree. Leave the pin group definition in imx8x-colibri.dtsi to avoid duplication and simplify configuration of gpio. Upstream-Status: Submitted [https://lore.kernel.org/all/20230417173830.19401-1-andrejs.cainikovs@toradex.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-04-18arm64: dts: colibri-imx8x: fix eval board pin configurationEmanuele Ghidoli
Fix pinctrl groups to have SODIMM 75 only in one group. Remove configuration of the pin at SoM level because it is normally used as CSI_MCLK at camera interface connector. Without this fix it is not possible, without redefining iomuxc pinctrl, to use CSI_MCLK signal and leads to the following error messages: imx8qxp-pinctrl scu:pinctrl: pin IMX8QXP_CSI_MCLK already requested imx8qxp-pinctrl scu:pinctrl: pin-147 (16-003c) status -22 Upstream-Status: Submitted [https://lore.kernel.org/all/20230417173830.19401-1-andrejs.cainikovs@toradex.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-04-12arm64: dts: colibri-imx8x: Add usb to aster carrier boardEmanuele Ghidoli
Add USB Host and USB OTG (Client/Host switching) to the Aster carrier board. Upstream-Status: Pending - No support as of now in upstream linux. Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-04-12arm64: dts: colibri-imx8x: move usb otg_id and vbus regulator to SoM dtsiEmanuele Ghidoli
Move usb extcon gpio and usbh vbus regulator nodes to SoM device tree include file as they are standard functionality. Keep those nodes disabled by default to allow non-standard carrier-board design to use the pristine SoM dtsi file. Upstream-Status: Pending - No USB support as of now in upstream linux. Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-04-03arm64: dts: colibri-imx8x: fix cma memory sizeEmanuele Ghidoli
Increase the CMA memory size to be enough to play full HD video using gst-play. Upstream-Status: Pending - This can and should be upstreamed. Fixes: 54c00ffd99e0 ("arm64: dts: colibri-imx8x: Add cma memory") Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-03-29arm64: dts: colibri-imx8x: Add wi-fiPhilippe Schenker
Add support for Wi-Fi that is connected to the SoC with PCIe. Make sure the clock is enabled with a GPIO Hog. Do also make sure the GPIO for power-down is high (power enabled). Upstream-Status: Pending - There is currently no support for PCIe on mainline. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-29arm64: dts: colibri-imx8x: remove pwr-delay property from mipi_dsi_hostEmanuele Ghidoli
Remove not existent property from mipi_dsi_host nodes Upstream-Status: Pending No support in upstream linux Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-03-29arm64: dts: colibri-imx8x: fix dsi to hdmi adapter configurationEmanuele Ghidoli
Add hdmi_connector and all relevant configurations. Move pinctrl, ddc-i2c-bus and hdp-gpio from lt8912_hdmi to hdmi_connector. Correct lt8912_hdmi compatible and fix its ports configuration. Upstream-Status: Pending No support in upstream linux Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-03-28arm64: dts: colibri-imx8x: Add vpuPhilippe Schenker
This commit adds VPU to colibri-imx8x. Upstream-Status: Pending - This can and should be upstreamed Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-28arm64: dts: colibri-imx8x: Add cma memoryPhilippe Schenker
Bring back CMA in device tree and set its size to 384MiB for all Colibri iMX8X. Upstream-Status: Pending - This can and should be upstreamed. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-28arm64: dts: colibri-imx8x: Remove gpu reserved memPhilippe Schenker
Remove reserved memory for the GPU. This is application specific and our Qt-Demo still works without this reserved memory. Upstream-Status: Pending - No GPU support as of yet in mainline Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-23Revert "arm64: dts: colibri-imx8x: Add wi-fi"Francesco Dolcini
This reverts commit e23c36833d51923ea2f2ad9730a9ea54a9a54e6f. Revert the PCIe/Wi-Fi addition, this fixes a boot regression on non-WiFi modules. Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-03-22arm64: dts: colibri-imx8x: fix Atmel maxtouch reset signal polarityEmanuele Ghidoli
The reset GPIO logic of the Atmel maxtouch driver was changed to be active low. Adjust the configuration so that the touchscreen is in an usable state. Fixes: ccd928d47f593 ("arm64: dts: colibri-imx8x: Add atmel mxt touch") Upstream-Status: Pending Needs to be upstreamed Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-03-22arm64: dts: colibri-imx8x: Add wi-fiPhilippe Schenker
Add support for Wi-Fi that is connected to the SoC with PCIe. Make sure the clock is enabled with a GPIO Hog. Do also make sure the GPIO for power-down is high (power enabled). Upstream-Status: Pending - There is currently no support for PCIe on mainline. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-17arm64: dts: colibri-imx8x: Add PMIC thermal zoneFrancesco Dolcini
Add PMIC thermal zone as is was present on both Colibri-iMX8x/BSP5 and in MEK board. Without this the thermal sensor driver fails to probe on colibri-imx8x with i.MX8X DX SOC, this is happening because imx8dx-colibri.dtsi creates an incomplete thermal zone node for the PMIC. Upstream-Status: Pending This should be send upstream, however the first batch of DTS files is under review, therefore it seems better to just postpone it. Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-03-17arm64: dts: colibri-imx8x: Add USB3803 HUBFrancesco Dolcini
Add USB3803 HUB, this is required for Bluetooth and USB functionalities. Upstream-Status: Pending This should be send upstream, however currently the FXL6408 and USB3803 drivers are not merged yet, and the first batch of DTS files is under review, therefore we have to postpone it. Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-03-16arm64: dts: colibri-imx8x: Add fxl6408 gpio expanderFrancesco Dolcini
Add fxl6408 gpio expander, this is required for Wi-Fi, Bluetooth and USB functionalities. Upstream-Status: Pending This should be send upstream, however currently the FXL6408 driver is not merged yet, and the first batch of DTS files is under review, therefore we have to postpone it. Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-03-16toradex_imx_v8.config: add FXL6408 driverFrancesco Dolcini
Add GPIO_FXL6408 driver to kernel config, used on colibri-imx8x. Upstream-Status: Inappropriate [Configuration] Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add 50mhz clock for ethPhilippe Schenker
Change ent0_lpcg accordingly so we get the clock we need for 100mbps ethernet. This was copied from toradex_5.4-2.3.x-imx and checked that it's still valid on 5.15 downstream Upstream-Status: Pending This may get upstreamed since on mainline there is a simliar define (IMX_SC_C_DISABLE_50). Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Remove flexcan todoPhilippe Schenker
Remove the todo for flexcan. Native CAN is not a standard functionality on Colibri standard. Pinmuxing is already prepared so if someone wants to enable this on his carrier-board this should be done there. Upstream-Status: Pending - Todo comment needs to be removed upstream. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add label ad7879_tsPhilippe Schenker
Add the label for ad7879_ts that is needed for overlays. Upstream-Status: Pending This should be sent upstream, it was just forgot on v2 series https://lore.kernel.org/all/20230314102410.424773-4-dev@pschenker.ch/T/#u Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add devicetrees for dxPhilippe Schenker
Add devicetrees for Colibri iMX8X variant with the i.MX 8DX SoC placed. Upstream-Status: Pending - No devicetrees are existing yet for i.MX 8DX upstream Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add gpio wakeup sourcePhilippe Schenker
Add GPIO3_10 as a wakeup source. Copy this nodes from toradex_5.4-2.3.x-imx. Upstream-Status: Pending pad-wakeup is only present in the mxc-gpio driver on downstream. This was needed to make the gpio able to wakeup the system. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add atmel mxt touchPhilippe Schenker
Add Atmel MaxTouch controller to i2c1. This was copied from toradex_5.4-2.3.x-imx. Upstream-Status: Pending Needs to be upstreamed Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add display supportPhilippe Schenker
Add display support. Copy nodes from toradex_5.4-2.3.x-imx. This commit adds the baseline support that can be enabled with devicetree overlays. Upstream-Status: Pending - No display support yet Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add backlightPhilippe Schenker
Add backlight to colibri-imx8x. Do copy the node from toradex_5.4-2.3.x-imx. Upstream-Status: Pending - No pwm support on adma subsystem as of now. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add usbPhilippe Schenker
Add USB Host and USB OTG (Client/Host switching) to the carrier-boards. Upstream-Status: Pending - No support as of now in upstream linux. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add audioPhilippe Schenker
Add all nodes necessary for audio. Do copy the nodes frrom toradex_5.4-2.3.x-imx. Upstream-Status: Pending - No audio functionality yet in upstream. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add mipi csiPhilippe Schenker
This commit adds mipi csi functionality. Copy the nodes from toradex_5.4-2.3.x-imx. Cross check changes in imx8x-mek.dtsi. Upstream-Status: Pending - No support yet Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add mipi dsi and lt8912Philippe Schenker
Add mipi dsi including the lt8912 dsi to hdmi bridge. This commit just copies the node from toradex_5.4-2.3.x-imx Upstream-Status: Pending - No support in upstream linux Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add gpuPhilippe Schenker
Enable the GPU. Upstream-Status: Pending - There is currently no GPU support in mainline Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add reserved memoryPhilippe Schenker
Use the reserved-memory nodes from MEK with two adjustments: - Out of the history from 5.4-2.3.x-imx delete CMA node - Delete DSP nodes, since we only use SoCs without DSP Upstream-Status: Pending - There is currently no need for this in upstream linux Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-15arm64: dts: colibri-imx8x: Add analogue inputsPhilippe Schenker
This commit does forward-port the ADC functionality from toradex_5.4-2.3.x-imx. Upstream-Status: Pending ADC support seems to be available in mainline, "nxp,imx8qxp-adc" compatible and node defined in "imx8-ss-dma.dtsi". However it was not possible to have it working on mainline so we postponed this for the moment. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-14arm64: dts: colibri-imx8x: Add iris v2 carrier boardPhilippe Schenker
Add the Toradex Iris V2 Carrier Board for Colibri iMX8X, small form-factor production ready board. Additional details available at: https://www.toradex.com/products/carrier-boards/iris-carrier-board Upstream-Status: Submitted [https://lore.kernel.org/linux-devicetree/20230314102410.424773-24-dev@pschenker.ch/T/#u] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2023-03-14arm64: dts: colibri-imx8x: Add iris carrier boardPhilippe Schenker
Add the Toradex Iris Carrier Board for Colibri iMX8X, small form-factor production ready board. Additional details available at: https://www.toradex.com/products/carrier-boards/iris-carrier-board Upstream-Status: Submitted [https://lore.kernel.org/linux-devicetree/20230314102410.424773-23-dev@pschenker.ch/T/#u] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>