summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2017-07-31 19:07:25 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2017-07-31 19:07:33 +0200
commitd02595e538b410237d97108d73376e803aac0eb3 (patch)
tree3ccf484bcda052c08ff3b4385e9b3b5afd496ccc
parentc277e6d98e7bef6fc332738c74be2f5a00a9b1fe (diff)
orange-pi-zero: make mini.config bootable, ethernet will only work for 4.13.x
-rw-r--r--target/arm/kernel/orange-pi024
-rw-r--r--target/config/Config.in.kernelversion9
-rw-r--r--target/linux/config/Config.in.block4
-rw-r--r--target/linux/config/Config.in.cpu11
-rw-r--r--target/linux/config/Config.in.dma6
-rw-r--r--target/linux/config/Config.in.ethernet4
-rw-r--r--target/linux/config/Config.in.i2c4
-rw-r--r--target/linux/config/Config.in.serial4
-rw-r--r--target/linux/config/Config.in.spi11
-rw-r--r--target/linux/kernel.config1
-rw-r--r--target/linux/patches/4.12.3/regmap-default-on.patch17
-rw-r--r--target/linux/patches/4.12.3/startup.patch34
12 files changed, 123 insertions, 6 deletions
diff --git a/target/arm/kernel/orange-pi0 b/target/arm/kernel/orange-pi0
index 6fc00e228..17a77cf2f 100644
--- a/target/arm/kernel/orange-pi0
+++ b/target/arm/kernel/orange-pi0
@@ -4,6 +4,24 @@ CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUN8I=y
CONFIG_ATAGS=y
-CONFIG_ARM_APPENDED_DTB=y
-CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_CMDLINE_FORCE=y
+CONFIG_SUNXI_CCU=y
+CONFIG_SUNXI_CCU_DIV=y
+CONFIG_SUNXI_CCU_FRAC=y
+CONFIG_SUNXI_CCU_GATE=y
+CONFIG_SUNXI_CCU_MUX=y
+CONFIG_SUNXI_CCU_MULT=y
+CONFIG_SUNXI_CCU_PHASE=y
+CONFIG_SUNXI_CCU_NK=y
+CONFIG_SUNXI_CCU_NKM=y
+CONFIG_SUNXI_CCU_NKMP=y
+CONFIG_SUNXI_CCU_NM=y
+CONFIG_SUNXI_CCU_MP=y
+CONFIG_SUN5I_CCU=y
+CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN8I_A23_CCU=y
+CONFIG_SUN8I_A33_CCU=y
+CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_V3S_CCU=y
+CONFIG_SUN9I_A80_CCU=y
+CONFIG_SUN8I_R_CCU=y
+
diff --git a/target/config/Config.in.kernelversion b/target/config/Config.in.kernelversion
index 452a34a6a..d55658ae5 100644
--- a/target/config/Config.in.kernelversion
+++ b/target/config/Config.in.kernelversion
@@ -16,6 +16,7 @@ default ADK_TARGET_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_CRIS
default ADK_TARGET_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_METAG
default ADK_TARGET_KERNEL_VERSION_4_4 if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU
default ADK_TARGET_KERNEL_VERSION_4_6 if ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
+default ADK_TARGET_KERNEL_VERSION_4_12 if ADK_TARGET_SYSTEM_ORANGE_PI0
default ADK_TARGET_KERNEL_VERSION_4_9
config ADK_TARGET_KERNEL_VERSION_GIT
@@ -49,6 +50,7 @@ config ADK_TARGET_KERNEL_VERSION_4_9
depends on !ADK_TARGET_ARCH_RISCV32
depends on !ADK_TARGET_ARCH_RISCV64
depends on !ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_4_6
bool "4.6.2"
@@ -65,6 +67,7 @@ config ADK_TARGET_KERNEL_VERSION_4_4
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_4_1
bool "4.1.42"
@@ -83,6 +86,7 @@ config ADK_TARGET_KERNEL_VERSION_4_1
depends on !ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_3_16
bool "3.16.43"
@@ -106,6 +110,7 @@ config ADK_TARGET_KERNEL_VERSION_3_16
depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_3_10
bool "3.10.105"
@@ -130,6 +135,7 @@ config ADK_TARGET_KERNEL_VERSION_3_10
depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_3_4
bool "3.4.113"
@@ -153,6 +159,7 @@ config ADK_TARGET_KERNEL_VERSION_3_4
depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_3_4_NDS32
bool "3.4-nds32"
@@ -181,6 +188,7 @@ config ADK_TARGET_KERNEL_VERSION_3_2
depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_KERNEL_VERSION_2_6_32
bool "2.6.32.70"
@@ -204,6 +212,7 @@ config ADK_TARGET_KERNEL_VERSION_2_6_32
depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
depends on !ADK_TARGET_CPU_MIPS_MIPS32R6
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
+ depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
endchoice
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index 179b59a0a..487cfd206 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -486,8 +486,10 @@ config ADK_KERNEL_MMC_SUNXI
select ADK_KERNEL_MMC_SDHCI_PLTFM
select ADK_KERNEL_MMC_UNSAFE_RESUME
select ADK_KERNEL_LBDAF
- depends on ADK_TARGET_SYSTEM_BANANA_PRO
+ depends on ADK_TARGET_SYSTEM_BANANA_PRO || \
+ ADK_TARGET_SYSTEM_ORANGE_PI0
default y if ADK_TARGET_SYSTEM_BANANA_PRO
+ default y if ADK_TARGET_SYSTEM_ORANGE_PI0
default n
config ADK_KERNEL_MMC_ATMELMCI
diff --git a/target/linux/config/Config.in.cpu b/target/linux/config/Config.in.cpu
index 43b5d107c..4c77970a7 100644
--- a/target/linux/config/Config.in.cpu
+++ b/target/linux/config/Config.in.cpu
@@ -43,6 +43,17 @@ config ADK_KERNEL_CPU_FREQ_GOV_ONDEMAND
config ADK_KERNEL_CPU_FREQ_GOV_CONSERVATIVE
bool
+config ADK_KERNEL_CPUFREQ_DT_PLATDEV
+ bool
+
+config ADK_KERNEL_CPUFREQ_DT
+ bool "CPU frequency support DT"
+ select ADK_KERNEL_CPU_FREQ
+ select ADK_KERNEL_CPUFREQ_DT_PLATDEV
+ depends on ADK_TARGET_SYSTEM_ORANGE_PI0
+ default y if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default n
+
config ADK_KERNEL_ARM_IMX6Q_CPUFREQ
bool "CPU frequency support for IMX6 boards"
select ADK_KERNEL_CPU_FREQ
diff --git a/target/linux/config/Config.in.dma b/target/linux/config/Config.in.dma
index d92326c36..c3bb8d67b 100644
--- a/target/linux/config/Config.in.dma
+++ b/target/linux/config/Config.in.dma
@@ -73,3 +73,9 @@ config ADK_KERNEL_IMX_SDMA
default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default n
+config ADK_KERNEL_DMA_SUN6I
+ bool
+ select ADK_KERNEL_DMADEVICES
+ depends on ADK_TARGET_SYSTEM_ORANGE_PI0
+ default y if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default n
diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet
index 6a5991111..97c2aee0b 100644
--- a/target/linux/config/Config.in.ethernet
+++ b/target/linux/config/Config.in.ethernet
@@ -438,8 +438,10 @@ config ADK_KERNEL_STMMAC_ETH
select ADK_KERNEL_NET_VENDOR_STMICRO
select ADK_KERNEL_STMMAC_PLATFORM
select ADK_KERNEL_DWMAC_SUNXI
- depends on ADK_TARGET_SYSTEM_BANANA_PRO
+ depends on ADK_TARGET_SYSTEM_BANANA_PRO \
+ || ADK_TARGET_SYSTEM_ORANGE_PI0
default y if ADK_TARGET_SYSTEM_BANANA_PRO
+ default y if ADK_TARGET_SYSTEM_ORANGE_PI0
default n
config ADK_KERNEL_ETHOC
diff --git a/target/linux/config/Config.in.i2c b/target/linux/config/Config.in.i2c
index f83d5e34c..9fe68f575 100644
--- a/target/linux/config/Config.in.i2c
+++ b/target/linux/config/Config.in.i2c
@@ -47,8 +47,10 @@ config ADK_KERNEL_I2C_SUNXI
select ADK_KERNEL_REGMAP
select ADK_KERNEL_REGMAP_I2C
select ADK_KERNEL_I2C_CHARDEV
- depends on ADK_TARGET_SYSTEM_BANANA_PRO
+ depends on ADK_TARGET_SYSTEM_BANANA_PRO || \
+ ADK_TARGET_SYSTEM_ORANGE_PI0
default y if ADK_TARGET_SYSTEM_BANANA_PRO
+ default y if ADK_TARGET_SYSTEM_ORANGE_PI0
default n
help
I2C driver for SUNXI boards.
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 5b7174a80..f82bf3c6e 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -4,6 +4,9 @@
menu "Serial devices support"
depends on ADK_TARGET_WITH_SERIAL || ADK_TARGET_QEMU || ADK_TARGET_VBOX || ADK_TARGET_SIM || ADK_TARGET_GENERIC
+config ADK_KERNEL_SERIAL_8250_DMA
+ bool
+
config ADK_KERNEL_SERIAL_8250_DW
bool
@@ -94,6 +97,7 @@ config ADK_KERNEL_SERIAL_8250
select ADK_KERNEL_SERIAL_8250_PNP if ADK_TARGET_SYSTEM_PCENGINES_APU
select ADK_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
select ADK_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ORANGE_PI0
+ select ADK_KERNEL_SERIAL_8250_DMA if ADK_TARGET_SYSTEM_ORANGE_PI0
select ADK_KERNEL_SERIAL_8250_CONSOLE
select ADK_KERNEL_SERIAL_8250_INGENIC if ADK_TARGET_SYSTEM_IMGTEC_CI20
depends on ADK_TARGET_SYSTEM_XILINX_KINTEX7 \
diff --git a/target/linux/config/Config.in.spi b/target/linux/config/Config.in.spi
index fe77cc921..de7871d0b 100644
--- a/target/linux/config/Config.in.spi
+++ b/target/linux/config/Config.in.spi
@@ -59,6 +59,17 @@ config ADK_KERNEL_SPI_RB4XX
default y if ADK_TARGET_SYSTEM_MIKROTIK_RB4XX
default n
+config ADK_KERNEL_SPI_SUN6I
+ tristate "SPI driver for SunXi"
+ select ADK_KERNEL_SPI
+ select ADK_KERNEL_SPI_MASTER
+ select ADK_KERNEL_SPI_BITBANG
+ select ADK_KERNEL_REGMAP
+ select ADK_KERNEL_REGMAP_SPI
+ depends on ADK_TARGET_SYSTEM_ORANGE_PI0
+ default y if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default n
+
config ADK_KERNEL_SPI_SPIDEV
tristate "SPI userland driver"
select ADK_KERNEL_SPI
diff --git a/target/linux/kernel.config b/target/linux/kernel.config
index 188bc89d1..7be2f40ed 100644
--- a/target/linux/kernel.config
+++ b/target/linux/kernel.config
@@ -27,3 +27,4 @@ CONFIG_EXPERT=y
CONFIG_MULTIUSER=y
CONFIG_VDSO=y
CONFIG_ADVISE_SYSCALLS=y
+CONFIG_POSIX_TIMERS=y
diff --git a/target/linux/patches/4.12.3/regmap-default-on.patch b/target/linux/patches/4.12.3/regmap-default-on.patch
new file mode 100644
index 000000000..f27eb1d94
--- /dev/null
+++ b/target/linux/patches/4.12.3/regmap-default-on.patch
@@ -0,0 +1,17 @@
+diff -Nur linux-4.12.3.orig/drivers/base/regmap/Kconfig linux-4.12.3/drivers/base/regmap/Kconfig
+--- linux-4.12.3.orig/drivers/base/regmap/Kconfig 2017-07-21 06:59:24.000000000 +0200
++++ linux-4.12.3/drivers/base/regmap/Kconfig 2017-07-25 23:02:14.060483161 +0200
+@@ -3,7 +3,7 @@
+ # subsystems should select the appropriate symbols.
+
+ config REGMAP
+- default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ)
++ default y
+ select LZO_COMPRESS
+ select LZO_DECOMPRESS
+ select IRQ_DOMAIN if REGMAP_IRQ
+@@ -29,3 +29,4 @@
+
+ config REGMAP_IRQ
+ bool
++ default y
diff --git a/target/linux/patches/4.12.3/startup.patch b/target/linux/patches/4.12.3/startup.patch
new file mode 100644
index 000000000..e54ac19a6
--- /dev/null
+++ b/target/linux/patches/4.12.3/startup.patch
@@ -0,0 +1,34 @@
+diff -Nur linux-4.4.6.orig/init/initramfs.c linux-4.4.6/init/initramfs.c
+--- linux-4.4.6.orig/init/initramfs.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/initramfs.c 2016-03-27 14:15:43.931044532 +0200
+@@ -653,6 +653,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
+--- linux-4.4.6.orig/init/main.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/main.c 2016-03-27 14:15:43.935044783 +0200
+@@ -1011,6 +1011,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+@@ -1019,7 +1021,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;