mirror of
https://github.com/archlinux-jerry/pkgbuilds
synced 2024-11-25 07:20:40 +08:00
add package: linux-phicomm-n1
This commit is contained in:
parent
ff431783d7
commit
e047b26807
15 changed files with 9820 additions and 0 deletions
44
linux-phicomm-n1/.SRCINFO
Normal file
44
linux-phicomm-n1/.SRCINFO
Normal file
|
@ -0,0 +1,44 @@
|
|||
pkgbase = linux-phicomm-n1
|
||||
pkgver = 5.2.11
|
||||
pkgrel = 2
|
||||
url = http://www.kernel.org/
|
||||
arch = aarch64
|
||||
license = GPL2
|
||||
makedepends = xmlto
|
||||
makedepends = docbook-xsl
|
||||
makedepends = kmod
|
||||
makedepends = inetutils
|
||||
makedepends = bc
|
||||
makedepends = git
|
||||
makedepends = uboot-tools
|
||||
makedepends = vboot-utils
|
||||
makedepends = dtc
|
||||
depends = uboot-tools
|
||||
options = !strip
|
||||
source = http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.2.tar.xz
|
||||
source = http://www.kernel.org/pub/linux/kernel/v5.x/patch-5.2.11.xz
|
||||
source = 0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
|
||||
source = 0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
|
||||
source = 0003-arm64-dts-rockchip-add-usb3-controller-node-for-RK33.patch
|
||||
source = 0004-arm64-dts-rockchip-enable-usb3-nodes-on-rk3328-rock6.patch
|
||||
source = 0005-watchdog-bcm2835_wdt-Fix-module-autoload.patch
|
||||
source = config
|
||||
source = linux.preset
|
||||
source = 60-linux.hook
|
||||
source = 90-linux.hook
|
||||
md5sums = ddf994de00d7b18395886dd9b30b9262
|
||||
md5sums = 44dfa2755410b72ee660fa29bfb15af1
|
||||
md5sums = 6ee347975dca719ecd63a846cc5983b2
|
||||
md5sums = 7005141e542864b4e3cf6141ff642cf9
|
||||
md5sums = 9986e28b5c2c3c62a5c3bb53abd94640
|
||||
md5sums = 552ea82c3a5e14ca9149da8c4b4d5a82
|
||||
md5sums = 79a9339191904f10f5659eea9cf51a6c
|
||||
md5sums = aa697ec98d7e2016a85fb4c237559794
|
||||
md5sums = 66e0ae63183426b28c0ec0c7e10b5e16
|
||||
md5sums = ce6c81ad1ad1f8b333fd6077d47abdaf
|
||||
md5sums = bdeb5fb852fd92b4e76b4796db500dd4
|
||||
|
||||
pkgname = linux-phicomm-n1
|
||||
|
||||
pkgname = linux-phicomm-n1-headers
|
||||
|
4
linux-phicomm-n1/.gitignore
vendored
Normal file
4
linux-phicomm-n1/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
linux*.tar.xz
|
||||
patch*.xz
|
||||
src
|
||||
pkg
|
|
@ -0,0 +1,95 @@
|
|||
From 9d67e07fc4387a19c35ac5a26d7f4d1fb1d9f4ba Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Tue, 18 Feb 2014 01:43:50 -0300
|
||||
Subject: [PATCH 1/5] net/smsc95xx: Allow mac address to be set as a parameter
|
||||
|
||||
---
|
||||
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 56 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
|
||||
index e3d08626828e..2eaae00b4033 100644
|
||||
--- a/drivers/net/usb/smsc95xx.c
|
||||
+++ b/drivers/net/usb/smsc95xx.c
|
||||
@@ -60,6 +60,7 @@
|
||||
#define SUSPEND_SUSPEND3 (0x08)
|
||||
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
|
||||
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
|
||||
+#define MAC_ADDR_LEN (6)
|
||||
|
||||
#define CARRIER_CHECK_DELAY (2 * HZ)
|
||||
|
||||
@@ -82,6 +83,10 @@ static bool turbo_mode = true;
|
||||
module_param(turbo_mode, bool, 0644);
|
||||
MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
|
||||
|
||||
+static char *macaddr = ":";
|
||||
+module_param(macaddr, charp, 0);
|
||||
+MODULE_PARM_DESC(macaddr, "MAC address");
|
||||
+
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -911,8 +916,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||
}
|
||||
|
||||
+/* Check the macaddr module parameter for a MAC address */
|
||||
+static int smsc95xx_is_macaddr_param(struct usbnet *dev, u8 *dev_mac)
|
||||
+{
|
||||
+ int i, j, got_num, num;
|
||||
+ u8 mtbl[MAC_ADDR_LEN];
|
||||
+
|
||||
+ if (macaddr[0] == ':')
|
||||
+ return 0;
|
||||
+
|
||||
+ i = 0;
|
||||
+ j = 0;
|
||||
+ num = 0;
|
||||
+ got_num = 0;
|
||||
+ while (j < MAC_ADDR_LEN) {
|
||||
+ if (macaddr[i] && macaddr[i] != ':') {
|
||||
+ got_num++;
|
||||
+ if ('0' <= macaddr[i] && macaddr[i] <= '9')
|
||||
+ num = num * 16 + macaddr[i] - '0';
|
||||
+ else if ('A' <= macaddr[i] && macaddr[i] <= 'F')
|
||||
+ num = num * 16 + 10 + macaddr[i] - 'A';
|
||||
+ else if ('a' <= macaddr[i] && macaddr[i] <= 'f')
|
||||
+ num = num * 16 + 10 + macaddr[i] - 'a';
|
||||
+ else
|
||||
+ break;
|
||||
+ i++;
|
||||
+ } else if (got_num == 2) {
|
||||
+ mtbl[j++] = (u8) num;
|
||||
+ num = 0;
|
||||
+ got_num = 0;
|
||||
+ i++;
|
||||
+ } else {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (j == MAC_ADDR_LEN) {
|
||||
+ netif_dbg(dev, ifup, dev->net, "Overriding MAC address with: "
|
||||
+ "%02x:%02x:%02x:%02x:%02x:%02x\n", mtbl[0], mtbl[1], mtbl[2],
|
||||
+ mtbl[3], mtbl[4], mtbl[5]);
|
||||
+ for (i = 0; i < MAC_ADDR_LEN; i++)
|
||||
+ dev_mac[i] = mtbl[i];
|
||||
+ return 1;
|
||||
+ } else {
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||
{
|
||||
+ /* Check module parameters */
|
||||
+ if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
|
||||
+ return;
|
||||
+
|
||||
const u8 *mac_addr;
|
||||
|
||||
/* maybe the boot loader passed the MAC address in devicetree */
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
From d33b99832841943f7e787605d7f364fd49f5f007 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Mon, 7 Aug 2017 19:34:57 -0600
|
||||
Subject: [PATCH 2/5] arm64: dts: rockchip: disable pwm0 on rk3399-firefly
|
||||
|
||||
Workaround for intermittent boot hangs due to pwm0 probe disabling the PWM clock.
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
|
||||
index c706db0ee9ec..24adeca99711 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
|
||||
@@ -640,7 +640,7 @@
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
From 1a9d394ffb964839f90b4d4efd1b9730c16efd22 Mon Sep 17 00:00:00 2001
|
||||
From: William Wu <william.wu@rock-chips.com>
|
||||
Date: Mon, 4 Dec 2017 10:40:39 +0100
|
||||
Subject: [PATCH 3/5] arm64: dts: rockchip: add usb3 controller node for RK3328
|
||||
SoCs
|
||||
|
||||
RK3328 has one USB 3.0 OTG controller which uses DWC_USB3
|
||||
core's general architecture. It can act as static xHCI host
|
||||
controller, static device controller, USB 3.0/2.0 OTG basing
|
||||
on ID of USB3.0 PHY.
|
||||
|
||||
Signed-off-by: William Wu <william.wu@rock-chips.com>
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 27 ++++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
index dabef1a21649..56e4a0649ec2 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
@@ -917,6 +917,33 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ usbdrd3: usb@ff600000 {
|
||||
+ compatible = "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3";
|
||||
+ clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
|
||||
+ <&cru ACLK_USB3OTG>;
|
||||
+ clock-names = "ref_clk", "suspend_clk",
|
||||
+ "bus_clk";
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ usbdrd_dwc3: dwc3@ff600000 {
|
||||
+ compatible = "snps,dwc3";
|
||||
+ reg = <0x0 0xff600000 0x0 0x100000>;
|
||||
+ interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ dr_mode = "otg";
|
||||
+ phy_type = "utmi_wide";
|
||||
+ snps,dis_enblslpm_quirk;
|
||||
+ snps,dis-u2-freeclk-exists-quirk;
|
||||
+ snps,dis_u2_susphy_quirk;
|
||||
+ snps,dis_u3_susphy_quirk;
|
||||
+ snps,dis-del-phy-power-chg-quirk;
|
||||
+ snps,dis-tx-ipgap-linecheck-quirk;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gic: interrupt-controller@ff811000 {
|
||||
compatible = "arm,gic-400";
|
||||
#interrupt-cells = <3>;
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From fc0ef0a1243aaa7992157260e928ea96c5ff7986 Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Stuebner <heiko@sntech.de>
|
||||
Date: Mon, 4 Dec 2017 10:40:41 +0100
|
||||
Subject: [PATCH 4/5] arm64: dts: rockchip: enable usb3 nodes on rk3328-rock64
|
||||
|
||||
Enable the nodes to make the usb3 port usable on that board.
|
||||
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
|
||||
index 79b4d1d4b5d6..57c8741665c3 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
|
||||
@@ -369,6 +369,15 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usbdrd3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbdrd_dwc3 {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&vop {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 5aef2cc938fd9446724b175d92a0f7701b9934e2 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Wahren <wahrenst@gmx.net>
|
||||
Date: Wed, 15 May 2019 19:14:18 +0200
|
||||
Subject: [PATCH 5/5] watchdog: bcm2835_wdt: Fix module autoload
|
||||
|
||||
The commit 5e6acc3e678e ("bcm2835-pm: Move bcm2835-watchdog's DT probe
|
||||
to an MFD.") broke module autoloading on Raspberry Pi. So add a
|
||||
module alias this fix this.
|
||||
|
||||
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
|
||||
---
|
||||
drivers/watchdog/bcm2835_wdt.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/watchdog/bcm2835_wdt.c b/drivers/watchdog/bcm2835_wdt.c
|
||||
index 1834524ae373..c7695a0c933f 100644
|
||||
--- a/drivers/watchdog/bcm2835_wdt.c
|
||||
+++ b/drivers/watchdog/bcm2835_wdt.c
|
||||
@@ -241,6 +241,7 @@ module_param(nowayout, bool, 0);
|
||||
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
|
||||
__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
|
||||
|
||||
+MODULE_ALIAS("platform:bcm2835-wdt");
|
||||
MODULE_AUTHOR("Lubomir Rintel <lkundrak@v3.sk>");
|
||||
MODULE_DESCRIPTION("Driver for Broadcom BCM2835 watchdog timer");
|
||||
MODULE_LICENSE("GPL");
|
||||
--
|
||||
2.21.0
|
||||
|
12
linux-phicomm-n1/60-linux.hook
Normal file
12
linux-phicomm-n1/60-linux.hook
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Trigger]
|
||||
Type = File
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Operation = Remove
|
||||
Target = usr/lib/modules/%KERNVER%/*
|
||||
Target = usr/lib/modules/%EXTRAMODULES%/*
|
||||
|
||||
[Action]
|
||||
Description = Updating %PKGBASE% module dependencies...
|
||||
When = PostTransaction
|
||||
Exec = /usr/bin/depmod %KERNVER%
|
11
linux-phicomm-n1/90-linux.hook
Normal file
11
linux-phicomm-n1/90-linux.hook
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Trigger]
|
||||
Type = File
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Target = boot/zImage
|
||||
Target = usr/lib/initcpio/*
|
||||
|
||||
[Action]
|
||||
Description = Updating %PKGBASE% initcpios...
|
||||
When = PostTransaction
|
||||
Exec = /usr/bin/sh -ce "/usr/bin/mkinitcpio -p %PKGBASE% && mkimage -A arm64 -O linux -T ramdisk -C gzip -n uInitrd -d /boot/initramfs-%PKGBASE%.img /boot/uInitrd"
|
238
linux-phicomm-n1/PKGBUILD
Normal file
238
linux-phicomm-n1/PKGBUILD
Normal file
|
@ -0,0 +1,238 @@
|
|||
# AArch64 multi-platform
|
||||
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
|
||||
buildarch=8
|
||||
|
||||
pkgbase=linux-phicomm-n1
|
||||
_srcname=linux-5.2
|
||||
_kernelname=${pkgbase#linux}
|
||||
_desc="AArch64 kernel for Phicomm N1"
|
||||
pkgver=5.2.11
|
||||
pkgrel=2
|
||||
arch=('aarch64')
|
||||
url="http://www.kernel.org/"
|
||||
license=('GPL2')
|
||||
depends=('uboot-tools')
|
||||
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc')
|
||||
options=('!strip')
|
||||
source=("http://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz"
|
||||
"http://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
|
||||
'0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
|
||||
'0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch'
|
||||
'0003-arm64-dts-rockchip-add-usb3-controller-node-for-RK33.patch'
|
||||
'0004-arm64-dts-rockchip-enable-usb3-nodes-on-rk3328-rock6.patch'
|
||||
'0005-watchdog-bcm2835_wdt-Fix-module-autoload.patch'
|
||||
'config'
|
||||
'linux.preset'
|
||||
'60-linux.hook'
|
||||
'90-linux.hook')
|
||||
md5sums=('ddf994de00d7b18395886dd9b30b9262'
|
||||
'44dfa2755410b72ee660fa29bfb15af1'
|
||||
'6ee347975dca719ecd63a846cc5983b2'
|
||||
'7005141e542864b4e3cf6141ff642cf9'
|
||||
'9986e28b5c2c3c62a5c3bb53abd94640'
|
||||
'552ea82c3a5e14ca9149da8c4b4d5a82'
|
||||
'79a9339191904f10f5659eea9cf51a6c'
|
||||
'aa697ec98d7e2016a85fb4c237559794'
|
||||
'66e0ae63183426b28c0ec0c7e10b5e16'
|
||||
'ce6c81ad1ad1f8b333fd6077d47abdaf'
|
||||
'bdeb5fb852fd92b4e76b4796db500dd4')
|
||||
|
||||
prepare() {
|
||||
cd ${_srcname}
|
||||
|
||||
# add upstream patch
|
||||
git apply --whitespace=nowarn ../patch-${pkgver}
|
||||
|
||||
# ALARM patches
|
||||
git apply ../0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
|
||||
git apply ../0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
|
||||
git apply ../0003-arm64-dts-rockchip-add-usb3-controller-node-for-RK33.patch
|
||||
git apply ../0004-arm64-dts-rockchip-enable-usb3-nodes-on-rk3328-rock6.patch
|
||||
git apply ../0005-watchdog-bcm2835_wdt-Fix-module-autoload.patch
|
||||
|
||||
cat "${srcdir}/config" > ./.config
|
||||
|
||||
# Amlogic meson SoC TEXT_OFFSET
|
||||
sed -i "s/TEXT_OFFSET := 0x00080000/TEXT_OFFSET := 0x01080000/g" arch/arm64/Makefile
|
||||
sed -i "s/#error TEXT_OFFSET must be less than 2MB//g" arch/arm64/kernel/head.S
|
||||
|
||||
# self-maintained dtb for phicomm-n1
|
||||
target_dts="meson-gxl-s905d-phicomm-n1.dts"
|
||||
cat "${srcdir}/${target_dts}" > "./arch/arm64/boot/dts/amlogic/${target_dts}"
|
||||
|
||||
# add pkgrel to extraversion
|
||||
sed -ri "s|^(EXTRAVERSION =)(.*)|\1 \2-${pkgrel}|" Makefile
|
||||
|
||||
# don't run depmod on 'make install'. We'll do this ourselves in packaging
|
||||
sed -i '2iexit 0' scripts/depmod.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
cd ${_srcname}
|
||||
|
||||
# get kernel version
|
||||
make prepare
|
||||
|
||||
# load configuration
|
||||
# Configure the kernel. Replace the line below with one of your choice.
|
||||
#make menuconfig # CLI menu for configuration
|
||||
#make nconfig # new CLI menu for configuration
|
||||
#make xconfig # X-based configuration
|
||||
#make oldconfig # using old config from previous kernel version
|
||||
# ... or manually edit .config
|
||||
|
||||
# Copy back our configuration (use with new kernel version)
|
||||
#cp ./.config ../${pkgbase}.config
|
||||
|
||||
####################
|
||||
# stop here
|
||||
# this is useful to configure the kernel
|
||||
#msg "Stopping build"
|
||||
#return 1
|
||||
####################
|
||||
|
||||
#yes "" | make config
|
||||
|
||||
# build!
|
||||
unset LDFLAGS
|
||||
make ${MAKEFLAGS} Image modules
|
||||
# Generate device tree blobs with symbols to support applying device tree overlays in U-Boot
|
||||
make ${MAKEFLAGS} DTC_FLAGS="-@" dtbs
|
||||
}
|
||||
|
||||
_package() {
|
||||
pkgdesc="The Linux Kernel and modules - ${_desc}"
|
||||
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
|
||||
optdepends=('crda: to set the correct wireless channels of your country')
|
||||
provides=('kernel26' "linux=${pkgver}")
|
||||
replaces=('linux-phicomm-n1')
|
||||
conflicts=('linux')
|
||||
backup=("etc/mkinitcpio.d/${pkgbase}.preset")
|
||||
install=${pkgname}.install
|
||||
|
||||
cd ${_srcname}
|
||||
|
||||
KARCH=arm64
|
||||
|
||||
# get kernel version
|
||||
_kernver="$(make kernelrelease)"
|
||||
_basekernel=${_kernver%%-*}
|
||||
_basekernel=${_basekernel%.*}
|
||||
|
||||
mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
|
||||
make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install
|
||||
make INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs" dtbs_install
|
||||
cp arch/$KARCH/boot/Image "${pkgdir}/boot/zImage"
|
||||
cp "${pkgdir}/boot/dtbs/amlogic/meson-gxl-s905d-phicomm-n1.dtb" "${pkgdir}/boot/dtb.img"
|
||||
|
||||
# make room for external modules
|
||||
local _extramodules="extramodules-${_basekernel}${_kernelname}"
|
||||
ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules"
|
||||
|
||||
# add real version for building modules and running depmod from hook
|
||||
echo "${_kernver}" |
|
||||
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version"
|
||||
|
||||
# remove build and source links
|
||||
rm "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build}
|
||||
|
||||
# now we call depmod...
|
||||
depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"
|
||||
|
||||
# add vmlinux
|
||||
install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
|
||||
|
||||
# sed expression for following substitutions
|
||||
local _subst="
|
||||
s|%PKGBASE%|${pkgbase}|g
|
||||
s|%KERNVER%|${_kernver}|g
|
||||
s|%EXTRAMODULES%|${_extramodules}|g
|
||||
"
|
||||
|
||||
# install mkinitcpio preset file
|
||||
sed "${_subst}" ../linux.preset |
|
||||
install -Dm644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
|
||||
|
||||
# install pacman hooks
|
||||
sed "${_subst}" ../60-linux.hook |
|
||||
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/60-${pkgbase}.hook"
|
||||
sed "${_subst}" ../90-linux.hook |
|
||||
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook"
|
||||
}
|
||||
|
||||
_package-headers() {
|
||||
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
|
||||
provides=("linux-headers=${pkgver}")
|
||||
replaces=('linux-phicomm-n1-headers')
|
||||
conflicts=('linux-headers')
|
||||
|
||||
cd ${_srcname}
|
||||
local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||
|
||||
install -Dt "${_builddir}" -m644 Makefile .config Module.symvers
|
||||
install -Dt "${_builddir}/kernel" -m644 kernel/Makefile
|
||||
|
||||
mkdir "${_builddir}/.tmp_versions"
|
||||
|
||||
cp -t "${_builddir}" -a include scripts
|
||||
|
||||
install -Dt "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile
|
||||
install -Dt "${_builddir}/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s arch/$KARCH/kernel/module.lds
|
||||
|
||||
cp -t "${_builddir}/arch/${KARCH}" -a arch/${KARCH}/include
|
||||
mkdir -p "${_builddir}/arch/arm"
|
||||
cp -t "${_builddir}/arch/arm" -a arch/arm/include
|
||||
|
||||
install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
|
||||
install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
|
||||
|
||||
# http://bugs.archlinux.org/task/13146
|
||||
install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
|
||||
|
||||
# http://bugs.archlinux.org/task/20402
|
||||
install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
|
||||
install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
|
||||
install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h
|
||||
|
||||
# add xfs and shmem for aufs building
|
||||
mkdir -p "${_builddir}"/{fs/xfs,mm}
|
||||
|
||||
# copy in Kconfig files
|
||||
find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;
|
||||
|
||||
# remove unneeded architectures
|
||||
local _arch
|
||||
for _arch in "${_builddir}"/arch/*/; do
|
||||
[[ ${_arch} == */${KARCH}/ || ${_arch} == */arm/ ]] && continue
|
||||
rm -r "${_arch}"
|
||||
done
|
||||
|
||||
# remove files already in linux-docs package
|
||||
rm -r "${_builddir}/Documentation"
|
||||
|
||||
# remove now broken symlinks
|
||||
find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete
|
||||
|
||||
# Fix permissions
|
||||
chmod -R u=rwX,go=rX "${_builddir}"
|
||||
|
||||
# strip scripts directory
|
||||
local _binary _strip
|
||||
while read -rd '' _binary; do
|
||||
case "$(file -bi "${_binary}")" in
|
||||
*application/x-sharedlib*) _strip="${STRIP_SHARED}" ;; # Libraries (.so)
|
||||
*application/x-archive*) _strip="${STRIP_STATIC}" ;; # Libraries (.a)
|
||||
*application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries
|
||||
*) continue ;;
|
||||
esac
|
||||
/usr/bin/strip ${_strip} "${_binary}"
|
||||
done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null)
|
||||
}
|
||||
|
||||
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||
for _p in ${pkgname[@]}; do
|
||||
eval "package_${_p}() {
|
||||
_package${_p#${pkgbase}}
|
||||
}"
|
||||
done
|
4
linux-phicomm-n1/autobuild.yaml
Normal file
4
linux-phicomm-n1/autobuild.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
type:
|
||||
auto
|
||||
timeout:
|
||||
720
|
9161
linux-phicomm-n1/config
Normal file
9161
linux-phicomm-n1/config
Normal file
File diff suppressed because it is too large
Load diff
10
linux-phicomm-n1/linux-phicomm-n1.install
Normal file
10
linux-phicomm-n1/linux-phicomm-n1.install
Normal file
|
@ -0,0 +1,10 @@
|
|||
post_upgrade() {
|
||||
if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then
|
||||
echo "WARNING: /boot appears to be a separate partition but is not mounted."
|
||||
fi
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
rm -f boot/initramfs-%PKGBASE%.img
|
||||
rm -f boot/initramfs-%PKGBASE%-fallback.img
|
||||
}
|
14
linux-phicomm-n1/linux.preset
Normal file
14
linux-phicomm-n1/linux.preset
Normal file
|
@ -0,0 +1,14 @@
|
|||
# mkinitcpio preset file for the '%PKGBASE%' package
|
||||
|
||||
ALL_config="/etc/mkinitcpio.conf"
|
||||
ALL_kver="%KERNVER%"
|
||||
|
||||
PRESETS=('default' 'fallback')
|
||||
|
||||
#default_config="/etc/mkinitcpio.conf"
|
||||
default_image="/boot/initramfs-%PKGBASE%.img"
|
||||
#default_options=""
|
||||
|
||||
#fallback_config="/etc/mkinitcpio.conf"
|
||||
fallback_image="/boot/initramfs-%PKGBASE%-fallback.img"
|
||||
fallback_options="-S autodetect"
|
78
linux-phicomm-n1/meson-gxl-s905d-phicomm-n1.dts
Normal file
78
linux-phicomm-n1/meson-gxl-s905d-phicomm-n1.dts
Normal file
|
@ -0,0 +1,78 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2018 He Yangxuan
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "meson-gxl-s905d-p230.dts"
|
||||
|
||||
/ {
|
||||
compatible = "phicomm,n1", "amlogic,s905d", "amlogic,meson-gxl";
|
||||
model = "Phicomm N1";
|
||||
|
||||
cvbs-connector {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
status {
|
||||
label = "n1:white:status";
|
||||
gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
ðmac {
|
||||
pinctrl-0 = <ð_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
/* Select external PHY by default */
|
||||
phy-handle = <ð_phy0>;
|
||||
|
||||
amlogic,tx-delay-ns = <2>;
|
||||
|
||||
/* External PHY reset is shared with internal PHY Led signals */
|
||||
snps,reset-gpio = <&gpio GPIOZ_14 0>;
|
||||
snps,reset-delays-us = <0 10000 1000000>;
|
||||
snps,reset-active-low;
|
||||
|
||||
/* External PHY is in RGMII */
|
||||
phy-mode = "rgmii";
|
||||
|
||||
mdio {
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
compatible = "snps,dwmac-mdio";
|
||||
phandle = <0x1a>;
|
||||
|
||||
eth_phy0: ethernet-phy@0 {
|
||||
reg = <0x0>;
|
||||
phandle = <0x1d>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* This UART is connected to the Bluetooth module */
|
||||
&uart_A {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
||||
pinctrl-names = "default";
|
||||
uart-has-rtscts;
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
|
||||
max-speed = <2000000>;
|
||||
clocks = <&wifi32k>;
|
||||
clock-names = "lpo";
|
||||
};
|
||||
};
|
||||
|
||||
&cvbs_vdac_port {
|
||||
status = "disabled";
|
||||
};
|
Loading…
Reference in a new issue