ucm-imx8m-mini: Some fixes

Fix DTB compiling
Fix PMIC DTS node
Enable brcm Bluetooth

Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
This commit is contained in:
Kirill Kapranov
2020-08-17 22:40:18 +03:00
parent 4d32733f68
commit 6cdc2ece9a
7 changed files with 491 additions and 0 deletions
+6
View File
@@ -38,5 +38,11 @@ SRC_URI_append = " \
file://0036-mcm-imx8m-mini-dts-Enable-brcm-bcm4330-bt.patch \
file://0037-mcm-imx8m-mini-config-Set-CONFIG_IMX_SDMA-m-for-brcm.patch \
file://0039-mcm-imx8m-mini-config-Add-the-brcm-firmware-to-the-k.patch \
file://0040-ucm-imx8m-mini-Fix-DTB-abcense.patch \
file://0041-ucm-imx8m-mini-dts-Fix-PMIC-node.patch \
file://0042-ucm-imx8m-mini-dts-Cleaning.patch \
file://0043-ucm-imx8m-mini-dts-Enable-brcm-bcm4330-bt.patch \
file://0044-ucm-imx8m-mini-config-Set-CONFIG_IMX_SDMA-m-for-brcm.patch \
file://0045-ucm-imx8m-mini-config-Add-brcm-firmware-to-kernel-bu.patch \
file://defconfig \
"
@@ -0,0 +1,22 @@
From db6a2c7633819db35da919bce7c15d5a912b7599 Mon Sep 17 00:00:00 2001
From: Kirill Kapranov <kirill.kapranov@compulab.co.il>
Date: Mon, 17 Aug 2020 21:34:39 +0300
Subject: [PATCH 40/45] ucm-imx8m-mini: Fix DTB abcense
Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
---
arch/arm64/boot/dts/compulab/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/compulab/Makefile b/arch/arm64/boot/dts/compulab/Makefile
index b0ae57c5cb12..9fac7769acca 100644
--- a/arch/arm64/boot/dts/compulab/Makefile
+++ b/arch/arm64/boot/dts/compulab/Makefile
@@ -1,3 +1,4 @@
+dtb-$(CONFIG_ARCH_MXC) += ucm-imx8m-mini.dtb
dtb-$(CONFIG_ARCH_MXC) += mcm-imx8m-mini.dtb
dtb-$(CONFIG_ARCH_MXC) += mcm-imx8m-mini-m4.dtb
dtb-$(CONFIG_ARCH_MXC) += mcm-imx8m-mini-thermal.dtb
--
2.11.0
@@ -0,0 +1,196 @@
From 0bd96ee6c9876db1e86ec6d5939c42dc237d9f4f Mon Sep 17 00:00:00 2001
From: Kirill Kapranov <kirill.kapranov@compulab.co.il>
Date: Mon, 17 Aug 2020 21:40:09 +0300
Subject: [PATCH 41/45] ucm-imx8m-mini:dts: Fix PMIC node
Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
---
arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi | 91 ++++++++++--------------
1 file changed, 36 insertions(+), 55 deletions(-)
diff --git a/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi b/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
index 7f0e2ee6be10..76179f9fa6d5 100644
--- a/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
+++ b/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
@@ -439,20 +439,9 @@
rohm,reset-snvs-powered;
status = "okay";
- gpo {
- rohm,drv = <0x0C>; /* 0b0000_1100 all gpos with cmos output mode */
- };
-
regulators {
- #address-cells = <1>;
- #size-cells = <0>;
-
- bd71837,pmic-buck2-uses-i2c-dvs;
- bd71837,pmic-buck2-dvs-voltage = <1000000>, <900000>, <0>; /* VDD_ARM: Run-Idle */
-
- buck1_reg: regulator@0 {
- reg = <0>;
- regulator-compatible = "buck1";
+ buck1_reg: BUCK1 {
+ regulator-name = "BUCK1";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-boot-on;
@@ -460,121 +449,113 @@
regulator-ramp-delay = <1250>;
};
- buck2_reg: regulator@1 {
- reg = <1>;
- regulator-compatible = "buck2";
+ buck2_reg: BUCK2 {
+ regulator-name = "BUCK2";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <1250>;
+ rohm,dvs-run-voltage = <1000000>;
+ rohm,dvs-idle-voltage = <900000>;
};
- buck3_reg: regulator@2 {
- reg = <2>;
- regulator-compatible = "buck3";
+ buck3_reg: BUCK3 {
+ regulator-name = "BUCK3";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
+ regulator-boot-on;
+ regulator-always-on;
};
- buck4_reg: regulator@3 {
- reg = <3>;
- regulator-compatible = "buck4";
+ buck4_reg: BUCK4 {
+ regulator-name = "BUCK4";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
+ regulator-boot-on;
+ regulator-always-on;
};
- buck5_reg: regulator@4 {
- reg = <4>;
- regulator-compatible = "buck5";
+ buck5_reg: BUCK5 {
+ regulator-name = "BUCK5";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1350000>;
regulator-boot-on;
regulator-always-on;
};
- buck6_reg: regulator@5 {
- reg = <5>;
- regulator-compatible = "buck6";
+ buck6_reg: BUCK6 {
+ regulator-name = "BUCK6";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
- buck7_reg: regulator@6 {
- reg = <6>;
- regulator-compatible = "buck7";
+ buck7_reg: BUCK7 {
+ regulator-name = "BUCK7";
regulator-min-microvolt = <1605000>;
regulator-max-microvolt = <1995000>;
regulator-boot-on;
regulator-always-on;
};
- buck8_reg: regulator@7 {
- reg = <7>;
- regulator-compatible = "buck8";
+ buck8_reg: BUCK8 {
+ regulator-name = "BUCK8";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
regulator-always-on;
};
- ldo1_reg: regulator@8 {
- reg = <8>;
- regulator-compatible = "ldo1";
+ ldo1_reg: LDO1 {
+ regulator-name = "LDO1";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
- ldo2_reg: regulator@9 {
- reg = <9>;
- regulator-compatible = "ldo2";
+ ldo2_reg: LDO2 {
+ regulator-name = "LDO2";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-boot-on;
regulator-always-on;
};
- ldo3_reg: regulator@10 {
- reg = <10>;
- regulator-compatible = "ldo3";
+ ldo3_reg: LDO3 {
+ regulator-name = "LDO3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
- ldo4_reg: regulator@11 {
- reg = <11>;
- regulator-compatible = "ldo4";
+ ldo4_reg: LDO4 {
+ regulator-name = "LDO4";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
- ldo5_reg: regulator@12 {
- reg = <12>;
- regulator-compatible = "ldo5";
+ ldo5_reg: LDO5 {
+ regulator-name = "LDO5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
- ldo6_reg: regulator@13 {
- reg = <13>;
- regulator-compatible = "ldo6";
+ ldo6_reg: LDO6 {
+ regulator-name = "LDO6";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
- ldo7_reg: regulator@14 {
- reg = <14>;
- regulator-compatible = "ldo7";
+ ldo7_reg: LDO7 {
+ regulator-name = "LDO7";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
--
2.11.0
@@ -0,0 +1,99 @@
From 049c1c44dd688766cce01b27ae02b4f048738faa Mon Sep 17 00:00:00 2001
From: Kirill Kapranov <kirill.kapranov@compulab.co.il>
Date: Mon, 17 Aug 2020 21:41:46 +0300
Subject: [PATCH 42/45] ucm-imx8m-mini:dts: Cleaning
Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
---
arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi | 68 ------------------------
1 file changed, 68 deletions(-)
diff --git a/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi b/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
index 76179f9fa6d5..08112178c8ef 100644
--- a/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
+++ b/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
@@ -429,7 +429,6 @@
status = "okay";
};
-
pmic: bd71837@4b {
reg = <0x4b>;
compatible = "rohm,bd71837";
@@ -576,73 +575,6 @@
status = "disabled";
};
-&i2c4 {
- clock-frequency = <400000>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c4>;
- status = "okay";
-#if 0
- ov5640_mipi: ov5640_mipi@3c {
- compatible = "ovti,ov5640_mipi";
- reg = <0x3c>;
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_csi1>;
- clocks = <&clk IMX8MM_CLK_CLKO1>;
- clock-names = "csi_mclk";
- assigned-clocks = <&clk IMX8MM_CLK_CLKO1>;
- assigned-clock-parents = <&clk IMX8MM_CLK_24M>;
- assigned-clock-rates = <0>, <24000000>;
- csi_id = <0>;
- /*
- To be looked into & fixed
- As of now the device is alwas out of reset & under the power
- */
- pwn-gpios = <&pca9555 8 GPIO_ACTIVE_LOW>;
- rst-gpios = <&pca9555 3 GPIO_ACTIVE_HIGH>;
-
- mclk = <24000000>;
- mclk_source = <0>;
- port {
- ov5640_mipi1_ep: endpoint {
- remote-endpoint = <&mipi1_sensor_ep>;
- };
- };
- };
-#endif
-};
-#if 0
-&mipi_csi_1 {
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
- port {
- mipi1_sensor_ep: endpoint1 {
- remote-endpoint = <&ov5640_mipi1_ep>;
- data-lanes = <2>;
- csis-hs-settle = <13>;
- csis-clk-settle = <2>;
- csis-wclk;
- };
-
- csi1_mipi_ep: endpoint2 {
- remote-endpoint = <&csi1_ep>;
- };
- };
-};
-
-&csi1_bridge {
- fsl,mipi-mode;
- status = "okay";
-
- port {
- csi1_ep: endpoint {
- remote-endpoint = <&csi1_mipi_ep>;
- };
- };
-};
-#endif
-
&snvs {
status = "okay";
};
--
2.11.0
@@ -0,0 +1,114 @@
From 6142815e6063387fa2ec471104bd0b6945da7893 Mon Sep 17 00:00:00 2001
From: Kirill Kapranov <kirill.kapranov@compulab.co.il>
Date: Mon, 17 Aug 2020 22:04:34 +0300
Subject: [PATCH 43/45] ucm-imx8m-mini: dts: Enable brcm,bcm4330-bt
Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
---
arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi | 56 ++++++++----------------
1 file changed, 19 insertions(+), 37 deletions(-)
diff --git a/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi b/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
index 08112178c8ef..09e25440ce40 100644
--- a/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
+++ b/arch/arm64/boot/dts/compulab/ucm-imx8m-mini.dtsi
@@ -73,42 +73,11 @@
startup-delay-us = <500>;
};
- regulator_bt_dev_wake: bt_dev_wake {
- compatible = "regulator-fixed";
- regulator-name = "bt_dev_wake";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio2 7 GPIO_ACTIVE_HIGH>;
- regulator-always-on;
- enable-active-high;
- startup-delay-us = <500>;
- };
-
- regulator_bt_host_wake: bt_host_wake {
- compatible = "regulator-fixed";
- regulator-name = "bt_host_wake";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio2 8 GPIO_ACTIVE_HIGH>;
- regulator-always-on;
- regulator-boot-on;
- enable-active-high;
- vin-supply = <&regulator_bt_dev_wake>;
- };
-
usdhc1_pwrseq: usdhc1_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
};
- modem_reset: modem-reset {
- compatible = "gpio-reset";
- reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
- reset-delay-us = <2000>;
- reset-post-delay-ms = <40>;
- #reset-cells = <0>;
- };
-
backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 3000000 0>;
@@ -143,9 +112,6 @@
fsl,pins = <
MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x19
MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x190
- /* BT */
- MX8MM_IOMUXC_SD1_DATA5_GPIO2_IO7 0x19
- MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8 0x19
>;
};
@@ -235,7 +201,6 @@
MX8MM_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX 0x140
MX8MM_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B 0x140
MX8MM_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX 0x140
- MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 0x19
>;
};
@@ -413,6 +378,14 @@
MX8MM_IOMUXC_GPIO1_IO13_PWM2_OUT 0x03
>;
};
+
+ pinctrl_bt: bt0grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 0x19 /* BT_REG_ON */
+ MX8MM_IOMUXC_SD1_DATA5_GPIO2_IO7 0x19 /* BT_DEV_WU */
+ MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8 0x19 /* BT_HST_WU */
+ >;
+ };
};
};
@@ -633,9 +606,18 @@
pinctrl-0 = <&pinctrl_uart4>;
assigned-clocks = <&clk IMX8MM_CLK_UART4>;
assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
- fsl,uart-has-rtscts;
- resets = <&modem_reset>;
+ uart-has-rtscts;
status = "okay";
+
+ bluetooth {
+ compatible = "brcm,bcm4330-bt";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_bt>;
+ max-speed = <3000000>;
+ device-wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+ host-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
+ shutdown-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+ };
};
&usdhc1 {
--
2.11.0
@@ -0,0 +1,27 @@
From bf748b2769d9803733b3b6f4e7ad294266f7e0dd Mon Sep 17 00:00:00 2001
From: Kirill Kapranov <kirill.kapranov@compulab.co.il>
Date: Mon, 17 Aug 2020 22:08:07 +0300
Subject: [PATCH 44/45] ucm-imx8m-mini: config: Set CONFIG_IMX_SDMA=m for
brcm,bcm4330-bt
Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
---
arch/arm64/configs/ucm-imx8m-mini_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/configs/ucm-imx8m-mini_defconfig b/arch/arm64/configs/ucm-imx8m-mini_defconfig
index b2cf1065805b..6572585a40e6 100644
--- a/arch/arm64/configs/ucm-imx8m-mini_defconfig
+++ b/arch/arm64/configs/ucm-imx8m-mini_defconfig
@@ -651,7 +651,7 @@ CONFIG_DMADEVICES=y
CONFIG_BCM_SBA_RAID=m
CONFIG_FSL_EDMA=y
CONFIG_FSL_EDMA_V3=y
-CONFIG_IMX_SDMA=y
+CONFIG_IMX_SDMA=m
CONFIG_MV_XOR_V2=y
CONFIG_MXS_DMA=y
CONFIG_PL330_DMA=y
--
2.11.0
@@ -0,0 +1,27 @@
From 256aa1b7d6d96ab8eadb7add54a1c3a106b041de Mon Sep 17 00:00:00 2001
From: Kirill Kapranov <kirill.kapranov@compulab.co.il>
Date: Mon, 17 Aug 2020 22:10:42 +0300
Subject: [PATCH 45/45] ucm-imx8m-mini: config: Add brcm firmware to kernel
build
Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
---
arch/arm64/configs/ucm-imx8m-mini_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/configs/ucm-imx8m-mini_defconfig b/arch/arm64/configs/ucm-imx8m-mini_defconfig
index 6572585a40e6..5ef8d6048baf 100644
--- a/arch/arm64/configs/ucm-imx8m-mini_defconfig
+++ b/arch/arm64/configs/ucm-imx8m-mini_defconfig
@@ -194,6 +194,8 @@ CONFIG_PCIE_KIRIN=y
CONFIG_PCIE_LAYERSCAPE_GEN4=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_EXTRA_FIRMWARE="brcm/BCM4335C0.hcd"
+CONFIG_EXTRA_FIRMWARE_DIR="firmware"
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_BRCMSTB_GISB_ARB=y
--
2.11.0