diff options
author | Zhang Bo <bo.zhang@nxp.com> | 2022-07-29 10:00:16 +0800 |
---|---|---|
committer | Ji Luo <ji.luo@nxp.com> | 2022-08-03 09:41:28 +0800 |
commit | 0ca8e826c1045ae43ed0c23e3814d84568a3489c (patch) | |
tree | 6818360bd6eaf8605b34927a629ef5f10b56c0fa /arch/arm | |
parent | 5291a09953ab9c9c96792a4992b3e4eb69e536c9 (diff) |
MA-20481-1 Add board files and defconfig for imx8ulp watch board
New imx8ulp_watch files are based on imx8ulp_evk and modified for watch board.
Change-Id: I0ad6130cd7df60cb453abb9adcf36242f3cc0fd5
Signed-off-by: Zhang Bo <bo.zhang@nxp.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/dts/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/dts/imx8ulp-watch-u-boot.dtsi | 106 | ||||
-rw-r--r-- | arch/arm/dts/imx8ulp-watch.dts | 157 | ||||
-rw-r--r-- | arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx8ulp/Kconfig | 11 |
5 files changed, 277 insertions, 1 deletions
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0ba62a4271..37be88c70e 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -958,7 +958,8 @@ dtb-$(CONFIG_ARCH_IMX8ULP) += \ imx8ulp-evk.dtb \ imx8ulp-evk-i3c.dtb \ imx8ulp-9x9-evk.dtb \ - imx8ulp-9x9-evk-i3c.dtb + imx8ulp-9x9-evk-i3c.dtb \ + imx8ulp-watch.dtb dtb-$(CONFIG_ARCH_IMX8M) += \ imx8mm-ddr4-evk.dtb \ diff --git a/arch/arm/dts/imx8ulp-watch-u-boot.dtsi b/arch/arm/dts/imx8ulp-watch-u-boot.dtsi new file mode 100644 index 0000000000..a918ce0a05 --- /dev/null +++ b/arch/arm/dts/imx8ulp-watch-u-boot.dtsi @@ -0,0 +1,106 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2021 NXP + */ + +/ { + aliases { + usbgadget0 = &usbg1; + }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + dsi_host: dsi-host { + compatible = "northwest,mipi-dsi"; + status = "okay"; + }; +}; + +&{/soc@0} { + u-boot,dm-spl; +}; + +&{/firmware} { + u-boot,dm-pre-reloc; +}; + +&{/firmware/scmi} { + u-boot,dm-pre-reloc; +}; + +&{/firmware/scmi/protocol@15} { + u-boot,dm-pre-reloc; +}; + +&per_bridge3 { + u-boot,dm-spl; +}; + +&per_bridge4 { + u-boot,dm-spl; +}; + +&iomuxc1 { + u-boot,dm-spl; + fsl,mux_mask = <0xf00>; +}; + +&pinctrl_lpuart5 { + u-boot,dm-spl; +}; + +&s400_mu { + u-boot,dm-spl; +}; + +&lpuart5 { + u-boot,dm-spl; +}; + +&usdhc0 { + u-boot,dm-spl; + mmc-hs400-1_8v; + mmc-hs400-enhanced-strobe; +}; + +&pinctrl_usdhc0 { + u-boot,dm-spl; +}; + +&crypto { + u-boot,dm-spl; +}; + +&sec_jr0 { + u-boot,dm-spl; +}; + +&sec_jr1 { + u-boot,dm-spl; +}; + +&sec_jr2 { + u-boot,dm-spl; +}; + +&sec_jr3 { + u-boot,dm-spl; +}; + +&scmi_buf { + reg = <0x0 0x1000>; /* Align page size */ +}; + +&dsi { + data-lanes-num = <4>; +}; + +&usbotg1 { + compatible = "fsl,imx8ulp-usb", "fsl,imx7ulp-usb", "fsl,imx27-usb"; + fsl,usbphy = <&usbphy1>; +}; diff --git a/arch/arm/dts/imx8ulp-watch.dts b/arch/arm/dts/imx8ulp-watch.dts new file mode 100644 index 0000000000..232485486c --- /dev/null +++ b/arch/arm/dts/imx8ulp-watch.dts @@ -0,0 +1,157 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2022 NXP + */ + +/dts-v1/; + +#include "imx8ulp.dtsi" + +/ { + model = "NXP i.MX8ULP WATCH"; + compatible = "fsl,imx8ulp-watch", "fsl,imx8ulp"; + + chosen { + stdout-path = &lpuart5; + bootargs = "console=ttyLP1,115200 earlycon"; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + linux,cma { + compatible = "shared-dma-pool"; + reusable; + size = <0 0x28000000>; + linux,cma-default; + }; + + }; + + reg_5v: regulator-5v { + compatible = "regulator-fixed"; + regulator-name = "5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; +}; + + +&clock_ext_ts { + /* External ts clock is 50MHZ from PHY on EVK board. */ + clock-frequency = <50000000>; +}; + +&lpuart5 { + /* console */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_lpuart5>; + pinctrl-1 = <&pinctrl_lpuart5>; + status = "okay"; +}; + +&usbotg1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_otgid1>; + pinctrl-1 = <&pinctrl_otgid1>; + dr_mode = "otg"; + hnp-disable; + srp-disable; + adp-disable; + over-current-active-low; + status = "okay"; +}; + +&usbphy1 { + status = "okay"; +}; + +&usbmisc1 { + status = "okay"; +}; + +&usdhc0 { + pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; + pinctrl-0 = <&pinctrl_usdhc0>; + pinctrl-1 = <&pinctrl_usdhc0>; + pinctrl-2 = <&pinctrl_usdhc0>; + pinctrl-3 = <&pinctrl_usdhc0>; + non-removable; + bus-width = <8>; + status = "okay"; +}; + +&iomuxc1 { + pinctrl_lpuart5: lpuart5grp { + fsl,pins = < + MX8ULP_PAD_PTF14__LPUART5_TX 0x3 + MX8ULP_PAD_PTF15__LPUART5_RX 0x3 + >; + }; + + pinctrl_otgid1: usb1grp { + fsl,pins = < + MX8ULP_PAD_PTE16__USB0_ID 0x10003 + >; + }; + + pinctrl_usdhc0: usdhc0grp { + fsl,pins = < + MX8ULP_PAD_PTD1__SDHC0_CMD 0x3 + MX8ULP_PAD_PTD2__SDHC0_CLK 0x10002 + MX8ULP_PAD_PTD10__SDHC0_D0 0x3 + MX8ULP_PAD_PTD9__SDHC0_D1 0x3 + MX8ULP_PAD_PTD8__SDHC0_D2 0x3 + MX8ULP_PAD_PTD7__SDHC0_D3 0x3 + MX8ULP_PAD_PTD6__SDHC0_D4 0x3 + MX8ULP_PAD_PTD5__SDHC0_D5 0x3 + MX8ULP_PAD_PTD4__SDHC0_D6 0x3 + MX8ULP_PAD_PTD3__SDHC0_D7 0x3 + MX8ULP_PAD_PTD11__SDHC0_DQS 0x10002 + >; + }; +}; + +&dsi { + status = "okay"; + + panel@0 { + compatible = "usmp,rm67162"; + reg = <0>; + dsi-lanes = <1>; + reset,otherway; + vcc-supply = <®_5v>; + iovcc-supply = <®_5v>; + + port { + panel_in: endpoint { + remote-endpoint = <&mipi_dsi_out>; + }; + }; + }; + + ports { + port@1 { + reg = <1>; + + mipi_dsi_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; +}; + +&dcnano { + status = "okay"; +}; + +&dphy { + status = "okay"; +}; + +&usbotg2 { + status = "disabled"; +}; diff --git a/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h b/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h index b002970fd8..3638f0db53 100644 --- a/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h +++ b/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h @@ -30,6 +30,7 @@ enum { IMX8ULP_PAD_PTC8__FLEXSPI0_A_DATA2 = IOMUX_PAD(0x0120, 0x0120, IOMUX_CONFIG_MPORTS | 0x8, 0x0000, 0x0, 0), IMX8ULP_PAD_PTC9__FLEXSPI0_A_DATA1 = IOMUX_PAD(0x0124, 0x0124, IOMUX_CONFIG_MPORTS | 0x8, 0x0000, 0x0, 0), IMX8ULP_PAD_PTC10__FLEXSPI0_A_DATA0 = IOMUX_PAD(0x0128, 0x0128, IOMUX_CONFIG_MPORTS | 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTC10__PTC10 = IOMUX_PAD(0x0128, 0x0128, IOMUX_CONFIG_MPORTS | 0x1, 0x0000, 0x0, 0), IMX8ULP_PAD_PTD0__SDHC0_RESET_b = IOMUX_PAD(0x0000, 0x0000, 0x8, 0x0000, 0x0, 0), diff --git a/arch/arm/mach-imx/imx8ulp/Kconfig b/arch/arm/mach-imx/imx8ulp/Kconfig index fe6ff51917..e82347ed68 100644 --- a/arch/arm/mach-imx/imx8ulp/Kconfig +++ b/arch/arm/mach-imx/imx8ulp/Kconfig @@ -43,8 +43,19 @@ config TARGET_IMX8ULP_9X9_EVK select ARCH_MISC_INIT select SPL_CRYPTO_SUPPORT if SPL +config TARGET_IMX8ULP_WATCH + bool "imx8ulp_watch" + select IMX8ULP + select SUPPORT_SPL + select IMX8ULP_DRAM + select FSL_CAAM + select FSL_BLOB + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL + endchoice source "board/freescale/imx8ulp_evk/Kconfig" +source "board/freescale/imx8ulp_watch/Kconfig" endif |