mirror of
https://github.com/Fishwaldo/build.git
synced 2025-06-05 13:51:45 +00:00
Merge branch 'micro-emmc' into olimex
This commit is contained in:
commit
25bf08e0de
6 changed files with 1423 additions and 0 deletions
17
config/boards/micro-emmc.conf
Normal file
17
config/boards/micro-emmc.conf
Normal file
|
@ -0,0 +1,17 @@
|
|||
# A20 dual core 1Gb SoC
|
||||
BOARD_NAME="Micro eMMC"
|
||||
LINUXFAMILY="sun7i"
|
||||
BOOTCONFIG="A20-OLinuXino_MICRO_eMMC_config"
|
||||
MODULES="hci_uart gpio_sunxi rfcomm hidp bonding spi_sun7i 8021q a20_tp"
|
||||
MODULES_NEXT="bonding"
|
||||
#
|
||||
KERNEL_TARGET="default,next,dev"
|
||||
CLI_TARGET=""
|
||||
DESKTOP_TARGET=""
|
||||
#
|
||||
RECOMMENDED="Ubuntu_xenial_default_desktop:90,Debian_jessie_next:100"
|
||||
#
|
||||
BOARDRATING=""
|
||||
CHIP="http://docs.armbian.com/Hardware_Allwinner-A20/"
|
||||
HARDWARE="https://linux-sunxi.org/Olimex_A20-OLinuXino-Micro"
|
||||
FORUMS="http://forum.armbian.com/index.php/forum/7-allwinner-a10a20/"
|
1088
config/fex/micro-emmc.fex
Normal file
1088
config/fex/micro-emmc.fex
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,35 @@
|
|||
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
|
||||
index 5352cd7..0004b8f 100644
|
||||
--- a/drivers/mmc/core/mmc.c
|
||||
+++ b/drivers/mmc/core/mmc.c
|
||||
@@ -480,21 +480,6 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
|
||||
}
|
||||
|
||||
if (card->ext_csd.rev >= 5) {
|
||||
- /* check whether the eMMC card supports HPI */
|
||||
- if (ext_csd[EXT_CSD_HPI_FEATURES] & 0x1) {
|
||||
- card->ext_csd.hpi = 1;
|
||||
- if (ext_csd[EXT_CSD_HPI_FEATURES] & 0x2)
|
||||
- card->ext_csd.hpi_cmd = MMC_STOP_TRANSMISSION;
|
||||
- else
|
||||
- card->ext_csd.hpi_cmd = MMC_SEND_STATUS;
|
||||
- /*
|
||||
- * Indicate the maximum timeout to close
|
||||
- * a command interrupted by HPI
|
||||
- */
|
||||
- card->ext_csd.out_of_int_time =
|
||||
- ext_csd[EXT_CSD_OUT_OF_INTERRUPT_TIME] * 10;
|
||||
- }
|
||||
-
|
||||
card->ext_csd.rel_param = ext_csd[EXT_CSD_WR_REL_PARAM];
|
||||
card->ext_csd.rst_n_function = ext_csd[EXT_CSD_RST_N_FUNCTION];
|
||||
}
|
||||
@@ -1026,7 +1011,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
|
||||
err = 0;
|
||||
if (card->ext_csd.hs_max_dtr > 52000000 &&
|
||||
host->caps2 & MMC_CAP2_HS200)
|
||||
- err = mmc_select_hs200(card);
|
||||
+ err = -EBADMSG;
|
||||
else if (host->caps & MMC_CAP_MMC_HIGHSPEED)
|
||||
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
|
||||
EXT_CSD_HS_TIMING, 1,
|
|
@ -0,0 +1,98 @@
|
|||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 175523f..4b024d2 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -867,6 +867,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
||||
sun7i-a20-olinuxino-lime2.dtb \
|
||||
sun7i-a20-olinuxino-lime2-emmc.dtb \
|
||||
sun7i-a20-olinuxino-micro.dtb \
|
||||
+ sun7i-a20-olinuxino-micro-emmc.dtb \
|
||||
sun7i-a20-orangepi.dtb \
|
||||
sun7i-a20-orangepi-mini.dtb \
|
||||
sun7i-a20-pcduino3.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
new file mode 100644
|
||||
index 0000000..9ee2800
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
@@ -0,0 +1,80 @@
|
||||
+ /*
|
||||
+ * Copyright 2017 Olimex Ltd.
|
||||
+ * Stefan Mavrodiev <stefan@olimex.com>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+#include "sun7i-a20-olinuxino-micro.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A20-OLinuXino-MICRO-eMMC";
|
||||
+ compatible = "olimex,a20-olinuxino-micro-emmc", "allwinner,sun7i-a20";
|
||||
+
|
||||
+ mmc2_pwrseq: pwrseq {
|
||||
+ pinctrl-0 = <&mmc2_pins_nrst>;
|
||||
+ pinctrl-names = "default";
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ mmc2_pins_nrst: mmc2-rst-pin {
|
||||
+ pins = "PC16";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins_a>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ emmc: emmc@0 {
|
||||
+ reg = <0>;
|
||||
+ compatible = "mmc-card";
|
||||
+ broken-hpi;
|
||||
+ };
|
||||
+};
|
|
@ -0,0 +1,25 @@
|
|||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
index def0ad8..3843b69 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
- pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
+ pinctrl-0 = <&gmac_pins_mii_a>,<&gmac_txerr>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@@ -229,6 +229,11 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
+ gmac_txerr: gmac_txerr@0 {
|
||||
+ pins = "PA17";
|
||||
+ function = "gmac";
|
||||
+ };
|
||||
+
|
||||
mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
|
||||
pins = "PH11";
|
||||
function = "gpio_in";
|
|
@ -0,0 +1,160 @@
|
|||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index 9cc5c1e..7ed687e 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -281,6 +281,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
||||
sun7i-a20-olinuxino-lime2.dtb \
|
||||
sun7i-a20-olinuxino-lime2-emmc.dtb \
|
||||
sun7i-a20-olinuxino-micro.dtb \
|
||||
+ sun7i-a20-olinuxino-micro-emmc.dtb \
|
||||
sun7i-a20-orangepi.dtb \
|
||||
sun7i-a20-orangepi-mini.dtb \
|
||||
sun7i-a20-pcduino3.dtb \
|
||||
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts b/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
new file mode 100644
|
||||
index 0000000..a39247a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
@@ -0,0 +1,83 @@
|
||||
+ /*
|
||||
+ * Copyright 2017 Olimex Ltd.
|
||||
+ * Stefan Mavrodiev <stefan@olimex.com>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+#include "sun7i-a20-olinuxino-micro.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A20-OLinuXino-MICRO-eMMC";
|
||||
+ compatible = "olimex,a20-olinuxino-micro-emmc", "allwinner,sun7i-a20";
|
||||
+
|
||||
+ mmc2_pwrseq: pwrseq {
|
||||
+ pinctrl-0 = <&mmc2_pins_nrst>;
|
||||
+ pinctrl-names = "default";
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ mmc2_pins_nrst: mmc2@0 {
|
||||
+ allwinner,pins = "PC16";
|
||||
+ allwinner,function = "gpio_out";
|
||||
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins_a>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ emmc: emmc@0 {
|
||||
+ reg = <0>;
|
||||
+ compatible = "mmc-card";
|
||||
+ broken-hpi;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
|
||||
index 7e3006f..eb701e3 100644
|
||||
--- a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
|
||||
+++ b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
- pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
+ pinctrl-0 = <&gmac_pins_mii_a>,<&gmac_txerr>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@@ -226,6 +226,13 @@
|
||||
};
|
||||
|
||||
&pio {
|
||||
+ gmac_txerr: gmac_txerr@0 {
|
||||
+ allwinner,pins = "PA17";
|
||||
+ allwinner,function = "gmac";
|
||||
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
+ };
|
||||
+
|
||||
mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
|
||||
allwinner,pins = "PH11";
|
||||
allwinner,function = "gpio_in";
|
||||
diff --git a/configs/A20-OLinuXino_MICRO_eMMC_defconfig b/configs/A20-OLinuXino_MICRO_eMMC_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..1ec93e4
|
||||
--- /dev/null
|
||||
+++ b/configs/A20-OLinuXino_MICRO_eMMC_defconfig
|
||||
@@ -0,0 +1,26 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_SUNXI=y
|
||||
+CONFIG_MACH_SUN7I=y
|
||||
+CONFIG_DRAM_CLK=384
|
||||
+CONFIG_MMC0_CD_PIN="PH1"
|
||||
+CONFIG_MMC3_CD_PIN="PH11"
|
||||
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
|
||||
+CONFIG_I2C1_ENABLE=y
|
||||
+CONFIG_VIDEO_VGA=y
|
||||
+CONFIG_SATAPWR="PB8"
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro-emmc"
|
||||
+CONFIG_AHCI=y
|
||||
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
+CONFIG_SPL=y
|
||||
+CONFIG_SPL_I2C_SUPPORT=y
|
||||
+# CONFIG_CMD_IMLS is not set
|
||||
+# CONFIG_CMD_FLASH is not set
|
||||
+# CONFIG_CMD_FPGA is not set
|
||||
+# CONFIG_SPL_DOS_PARTITION is not set
|
||||
+# CONFIG_SPL_ISO_PARTITION is not set
|
||||
+# CONFIG_SPL_EFI_PARTITION is not set
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_SUN7I_GMAC=y
|
||||
+CONFIG_AXP_ALDO3_VOLT=2800
|
||||
+CONFIG_AXP_ALDO4_VOLT=2800
|
||||
+CONFIG_USB_EHCI_HCD=y
|
Loading…
Add table
Reference in a new issue