diff --git a/main/linux-postmarketos-allwinner/0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch b/main/linux-postmarketos-allwinner/0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch deleted file mode 100644 index 0c2e361c6..000000000 --- a/main/linux-postmarketos-allwinner/0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3ed430f6b94479c7b4d26323b5fe6381ca11c0e4 Mon Sep 17 00:00:00 2001 -From: Tony Lindgren -Date: Tue, 27 Oct 2020 13:18:57 +0530 -Subject: [PATCH] usb: musb: avoid the hang in musb_pm_runtime_check_session - -See thread at: https://lore.kernel.org/linux-usb/20201027045519.GA947883@aquila.localdomain/ ---- - drivers/usb/musb/musb_core.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c -index 384a8039a7fd5..fe87046d8b28a 100644 ---- a/drivers/usb/musb/musb_core.c -+++ b/drivers/usb/musb/musb_core.c -@@ -2005,10 +2005,13 @@ static void musb_pm_runtime_check_session(struct musb *musb) - MUSB_DEVCTL_HR; - switch (devctl & ~s) { - case MUSB_QUIRK_B_DISCONNECT_99: -- musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); -- schedule_delayed_work(&musb->irq_work, -- msecs_to_jiffies(1000)); -- break; -+ if (musb->quirk_retries && !musb->flush_irq_work) { -+ musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); -+ schedule_delayed_work(&musb->irq_work, -+ msecs_to_jiffies(1000)); -+ musb->quirk_retries--; -+ break; -+ } - case MUSB_QUIRK_B_INVALID_VBUS_91: - if (musb->quirk_retries && !musb->flush_irq_work) { - musb_dbg(musb, --- -2.29.1 - diff --git a/main/linux-postmarketos-allwinner/0011-media-i2c-ov5640-implement-autofocus.patch b/main/linux-postmarketos-allwinner/0011-media-i2c-ov5640-implement-autofocus.patch deleted file mode 100644 index 467539db3..000000000 --- a/main/linux-postmarketos-allwinner/0011-media-i2c-ov5640-implement-autofocus.patch +++ /dev/null @@ -1,390 +0,0 @@ -From efe1edc1f5ddbdfd06f57c812874cb43b99ba79d Mon Sep 17 00:00:00 2001 -From: Martijn Braam -Date: Mon, 28 Sep 2020 14:26:11 +0200 -Subject: [PATCH] media: ov5640: Implement autofocus - -The autofocus functionality needs a firmware blob loaded into the -internal microcontroller. - -V4L2 doesn't have an api to control all autofocus functionality, but -this at least makes it possible to focus on the center of the sensor. - -Signed-off-by: Martijn Braam ---- - drivers/media/i2c/ov5640.c | 254 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 254 insertions(+) - -diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 16ecde24a192..74cdaa977551 100644 ---- a/drivers/media/i2c/ov5640.c -+++ b/drivers/media/i2c/ov5640.c -@@ -9,6 +9,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -31,7 +32,11 @@ - - #define OV5640_DEFAULT_SLAVE_ID 0x3c - -+#define OV5640_REG_SYS_RESET00 0x3000 -+#define OV5640_REG_SYS_RESET01 0x3001 - #define OV5640_REG_SYS_RESET02 0x3002 -+#define OV5640_REG_SYS_CLOCK_ENABLE00 0x3004 -+#define OV5640_REG_SYS_CLOCK_ENABLE01 0x3005 - #define OV5640_REG_SYS_CLOCK_ENABLE02 0x3006 - #define OV5640_REG_SYS_CTRL0 0x3008 - #define OV5640_REG_CHIP_ID 0x300a -@@ -39,6 +44,14 @@ - #define OV5640_REG_PAD_OUTPUT_ENABLE01 0x3017 - #define OV5640_REG_PAD_OUTPUT_ENABLE02 0x3018 - #define OV5640_REG_PAD_OUTPUT00 0x3019 -+#define OV5640_REG_FW_CMD_MAIN 0x3022 -+#define OV5640_REG_FW_CMD_ACK 0x3023 -+#define OV5640_REG_FW_CMD_PARA0 0x3024 -+#define OV5640_REG_FW_CMD_PARA1 0x3025 -+#define OV5640_REG_FW_CMD_PARA2 0x3026 -+#define OV5640_REG_FW_CMD_PARA3 0x3027 -+#define OV5640_REG_FW_CMD_PARA4 0x3028 -+#define OV5640_REG_FW_STATUS 0x3029 - #define OV5640_REG_SYSTEM_CONTROL1 0x302e - #define OV5640_REG_SC_PLL_CTRL0 0x3034 - #define OV5640_REG_SC_PLL_CTRL1 0x3035 -@@ -57,6 +70,7 @@ - #define OV5640_REG_AEC_PK_MANUAL 0x3503 - #define OV5640_REG_AEC_PK_REAL_GAIN 0x350a - #define OV5640_REG_AEC_PK_VTS 0x350c -+#define OV5640_REG_VCM_CONTROL4 0x3606 - #define OV5640_REG_TIMING_DVPHO 0x3808 - #define OV5640_REG_TIMING_DVPVO 0x380a - #define OV5640_REG_TIMING_HTS 0x380c -@@ -93,6 +107,20 @@ - #define OV5640_REG_SDE_CTRL4 0x5584 - #define OV5640_REG_SDE_CTRL5 0x5585 - #define OV5640_REG_AVG_READOUT 0x56a1 -+#define OV5640_REG_FIRMWARE_BASE 0x8000 -+ -+#define OV5640_FW_STATUS_S_FIRMWARE 0x7f -+#define OV5640_FW_STATUS_S_STARTUP 0x7e -+#define OV5640_FW_STATUS_S_IDLE 0x70 -+#define OV5640_FW_STATUS_S_FOCUSING 0x00 -+#define OV5640_FW_STATUS_S_FOCUSED 0x10 -+ -+#define OV5640_FW_CMD_TRIGGER_FOCUS 0x03 -+#define OV5640_FW_CMD_CONTINUOUS_FOCUS 0x04 -+#define OV5640_FW_CMD_GET_FOCUS_RESULT 0x07 -+#define OV5640_FW_CMD_RELEASE_FOCUS 0x08 -+#define OV5640_FW_CMD_ZONE_CONFIG 0x12 -+#define OV5640_FW_CMD_DEFAULT_ZONES 0x80 - - enum ov5640_mode_id { - OV5640_MODE_QCIF_176_144 = 0, -@@ -216,6 +244,12 @@ struct ov5640_ctrls { - struct v4l2_ctrl *auto_gain; - struct v4l2_ctrl *gain; - }; -+ struct { -+ struct v4l2_ctrl *focus_auto; -+ struct v4l2_ctrl *af_start; -+ struct v4l2_ctrl *af_stop; -+ struct v4l2_ctrl *af_status; -+ }; - struct v4l2_ctrl *brightness; - struct v4l2_ctrl *light_freq; - struct v4l2_ctrl *saturation; -@@ -259,6 +293,8 @@ struct ov5640_dev { - - bool pending_mode_change; - bool streaming; -+ -+ bool af_initialized; - }; - - static inline struct ov5640_dev *to_ov5640_dev(struct v4l2_subdev *sd) -@@ -1982,6 +2018,99 @@ static void ov5640_reset(struct ov5640_dev *sensor) - usleep_range(20000, 25000); - } - -+static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, -+ const struct firmware *fw) -+{ -+ struct i2c_client *client = sensor->i2c_client; -+ const u8 *data = (const u8 *)fw->data; -+ u8 fw_status; -+ int i; -+ int ret; -+ -+ // Putting MCU in reset state -+ ret = ov5640_write_reg(sensor, OV5640_REG_SYS_RESET00, 0x20); -+ if (ret) -+ return ret; -+ -+ // Write firmware -+ for (i = 0; i < fw->size / sizeof(u8); i++) -+ ov5640_write_reg(sensor, -+ OV5640_REG_FIRMWARE_BASE + i, -+ data[i]); -+ -+ // Reset MCU state -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_MAIN, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_ACK, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_PARA0, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_PARA1, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_PARA2, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_PARA3, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_CMD_PARA4, 0x00); -+ ov5640_write_reg(sensor, OV5640_REG_FW_STATUS, 0x7f); -+ -+ // Start AF MCU -+ ov5640_write_reg(sensor, OV5640_REG_SYS_RESET00, 0x00); -+ if (ret) -+ return ret; -+ -+ dev_info(&client->dev, "firmware upload success\n"); -+ -+ // Wait for firmware to be ready -+ for (i = 0; i < 100; i++) { -+ ret = ov5640_read_reg(sensor, OV5640_REG_FW_STATUS, &fw_status); -+ if (fw_status == OV5640_FW_STATUS_S_IDLE) { -+ dev_info(&client->dev, "fw started after %d ms\n", i * 50); -+ return ret; -+ } -+ msleep(50); -+ } -+ dev_err(&client->dev, "uploaded firmware didn't start, got to 0x%x\n", fw_status); -+ return -ETIMEDOUT; -+} -+ -+static int ov5640_af_init(struct ov5640_dev *sensor) -+{ -+ struct i2c_client *client = sensor->i2c_client; -+ const char* fwname = "ov5640_af.bin"; -+ const struct firmware *fw; -+ int ret; -+ -+ if (sensor->af_initialized) { -+ return 0; -+ } -+ -+ if (firmware_request_nowarn(&fw, fwname, &client->dev) == 0) { -+ ret = ov5640_copy_fw_to_device(sensor, fw); -+ if (ret == 0) -+ sensor->af_initialized = 1; -+ } else { -+ dev_warn(&client->dev, "%s: no autofocus firmware available (%s)\n", -+ __func__, fwname); -+ ret = -1; -+ } -+ release_firmware(fw); -+ -+ if (ret) -+ return ret; -+ -+ // Enable AF systems -+ ret = ov5640_mod_reg(sensor, OV5640_REG_SYS_CLOCK_ENABLE00, -+ (BIT(6) | BIT(5)), (BIT(6) | BIT(5))); -+ if (ret) -+ return ret; -+ ret = ov5640_mod_reg(sensor, OV5640_REG_SYS_CLOCK_ENABLE01, -+ BIT(6), BIT(6)); -+ if (ret) -+ return ret; -+ -+ // Set lens focus driver on -+ ov5640_write_reg(sensor, OV5640_REG_VCM_CONTROL4, 0x3f); -+ if (ret) -+ return ret; -+ -+ return ret; -+} -+ - static int ov5640_set_power_on(struct ov5640_dev *sensor) - { - struct i2c_client *client = sensor->i2c_client; -@@ -2003,6 +2132,8 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor) - goto xclk_off; - } - -+ sensor->af_initialized = 0; -+ - ov5640_reset(sensor); - ov5640_power(sensor, true); - -@@ -2392,6 +2523,35 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor, - is_jpeg ? (BIT(5) | BIT(3)) : 0); - } - -+static int ov5640_fw_command(struct ov5640_dev *sensor, int command) -+{ -+ u8 fw_ack; -+ int i; -+ int ret; -+ -+ ret = ov5640_write_reg(sensor, OV5640_REG_FW_CMD_ACK, 0x01); -+ if(ret) -+ return ret; -+ -+ ret = ov5640_write_reg(sensor, OV5640_REG_FW_CMD_MAIN, command); -+ if(ret) -+ return ret; -+ -+ for (i = 0; i < 100; i++) { -+ ret = ov5640_read_reg(sensor, OV5640_REG_FW_CMD_ACK, &fw_ack); -+ if (ret) -+ return ret; -+ -+ if (fw_ack == 0){ -+ return ret; -+ } -+ -+ msleep(50); -+ } -+ return -ETIMEDOUT; -+} -+ -+ - /* - * Sensor Controls. - */ -@@ -2508,6 +2668,41 @@ static int ov5640_set_ctrl_exposure(struct ov5640_dev *sensor, - return ret; - } - -+static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command) -+{ -+ struct i2c_client *client = sensor->i2c_client; -+ int ret; -+ -+ ret = ov5640_af_init(sensor); -+ if (ret) { -+ dev_err(&client->dev, "%s: no autofocus firmware loaded\n", -+ __func__); -+ return 0; -+ } -+ -+ if (command == OV5640_FW_CMD_RELEASE_FOCUS) { -+ dev_dbg(&client->dev, "%s: Releasing autofocus\n", -+ __func__); -+ return ov5640_fw_command(sensor, OV5640_FW_CMD_RELEASE_FOCUS); -+ } -+ -+ // Restart zone config -+ ret = ov5640_fw_command(sensor, OV5640_FW_CMD_ZONE_CONFIG); -+ if (ret) -+ return ret; -+ -+ // Set default focus zones -+ ret = ov5640_fw_command(sensor, OV5640_FW_CMD_DEFAULT_ZONES); -+ if (ret) -+ return ret; -+ -+ dev_dbg(&client->dev, "%s: Triggering autofocus\n", -+ __func__); -+ -+ // Start focussing -+ return ov5640_fw_command(sensor, command); -+} -+ - static int ov5640_set_ctrl_gain(struct ov5640_dev *sensor, bool auto_gain) - { - struct ov5640_ctrls *ctrls = &sensor->ctrls; -@@ -2614,6 +2809,32 @@ static int ov5640_set_ctrl_vflip(struct ov5640_dev *sensor, int value) - (BIT(2) | BIT(1)) : 0); - } - -+static int ov5640_get_af_status(struct ov5640_dev *sensor) -+{ -+ u8 fw_status; -+ int ret; -+ -+ ret = ov5640_read_reg(sensor, OV5640_REG_FW_STATUS, &fw_status); -+ if (ret) -+ return ret; -+ -+ switch (fw_status) { -+ case OV5640_FW_STATUS_S_FIRMWARE: -+ case OV5640_FW_STATUS_S_STARTUP: -+ return V4L2_AUTO_FOCUS_STATUS_FAILED; -+ break; -+ case OV5640_FW_STATUS_S_IDLE: -+ return V4L2_AUTO_FOCUS_STATUS_IDLE; -+ break; -+ case OV5640_FW_STATUS_S_FOCUSED: -+ return V4L2_AUTO_FOCUS_STATUS_REACHED; -+ break; -+ default: -+ return V4L2_AUTO_FOCUS_STATUS_BUSY; -+ break; -+ } -+} -+ - static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl) - { - struct v4l2_subdev *sd = ctrl_to_sd(ctrl); -@@ -2635,6 +2856,12 @@ static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl) - return val; - sensor->ctrls.exposure->val = val; - break; -+ case V4L2_CID_FOCUS_AUTO: -+ val = ov5640_get_af_status(sensor); -+ if (val < 0) -+ return val; -+ sensor->ctrls.af_status->val = val; -+ break; - } - - return 0; -@@ -2666,6 +2893,18 @@ static int ov5640_s_ctrl(struct v4l2_ctrl *ctrl) - case V4L2_CID_AUTO_WHITE_BALANCE: - ret = ov5640_set_ctrl_white_balance(sensor, ctrl->val); - break; -+ case V4L2_CID_FOCUS_AUTO: -+ if (ctrl->val) -+ ret = ov5640_set_ctrl_focus(sensor, OV5640_FW_CMD_CONTINUOUS_FOCUS); -+ else -+ ret = ov5640_set_ctrl_focus(sensor, OV5640_FW_CMD_RELEASE_FOCUS); -+ break; -+ case V4L2_CID_AUTO_FOCUS_START: -+ ret = ov5640_set_ctrl_focus(sensor, OV5640_FW_CMD_TRIGGER_FOCUS); -+ break; -+ case V4L2_CID_AUTO_FOCUS_STOP: -+ ret = ov5640_set_ctrl_focus(sensor, OV5640_FW_CMD_RELEASE_FOCUS); -+ break; - case V4L2_CID_HUE: - ret = ov5640_set_ctrl_hue(sensor, ctrl->val); - break; -@@ -2738,6 +2977,20 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) - ctrls->gain = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_GAIN, - 0, 1023, 1, 0); - -+ /* Autofocus */ -+ ctrls->focus_auto = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_FOCUS_AUTO, -+ 0, 1, 1, 0); -+ ctrls->af_start = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_AUTO_FOCUS_START, -+ 0, 1, 1, 0); -+ ctrls->af_stop = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_AUTO_FOCUS_STOP, -+ 0, 1, 1, 0); -+ ctrls->af_status = v4l2_ctrl_new_std(hdl, ops, -+ V4L2_CID_AUTO_FOCUS_STATUS, 0, -+ (V4L2_AUTO_FOCUS_STATUS_BUSY | -+ V4L2_AUTO_FOCUS_STATUS_REACHED | -+ V4L2_AUTO_FOCUS_STATUS_FAILED), -+ 0, V4L2_AUTO_FOCUS_STATUS_IDLE); -+ - ctrls->saturation = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_SATURATION, - 0, 255, 1, 64); - ctrls->hue = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_HUE, -@@ -2771,6 +3024,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) - v4l2_ctrl_auto_cluster(3, &ctrls->auto_wb, 0, false); - v4l2_ctrl_auto_cluster(2, &ctrls->auto_gain, 0, true); - v4l2_ctrl_auto_cluster(2, &ctrls->auto_exp, 1, true); -+ v4l2_ctrl_cluster(4, &ctrls->focus_auto); - - sensor->sd.ctrl_handler = hdl; - return 0; --- -GitLab - diff --git a/main/linux-postmarketos-allwinner/0012-drm-sun4i-Fix-mipi-dsi-panel-framerate-being-2-3-of-.patch b/main/linux-postmarketos-allwinner/0012-drm-sun4i-Fix-mipi-dsi-panel-framerate-being-2-3-of-.patch deleted file mode 100644 index 0f0706f23..000000000 --- a/main/linux-postmarketos-allwinner/0012-drm-sun4i-Fix-mipi-dsi-panel-framerate-being-2-3-of-.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 29533cb13f24e26e7ddbc044597a3020437352e2 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Thu, 29 Oct 2020 01:13:49 +0100 -Subject: [PATCH 1/2] drm/sun4i: Fix mipi-dsi panel framerate being 2/3 of the - expected value - -This happens on Pinephone and on Pinetab. Both use MIPI-DSI panels. - -On Pinephone framerate is 36.6 instead of expected 55. -On Pinetab the similar 2/3 ratio holds. - -Myabe there's a bug in BSP and dclk_div should really be 6 instead of 4. - -Signed-off-by: Ondrej Jirman ---- - drivers/gpu/drm/sun4i/sun4i_tcon.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c -index ab06f5e1fc952..1c56b4fb9ac89 100644 ---- a/drivers/gpu/drm/sun4i/sun4i_tcon.c -+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c -@@ -398,8 +398,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon, - u32 block_space, start_delay; - u32 tcon_div; - -- tcon->dclk_min_div = SUN6I_DSI_TCON_DIV; -- tcon->dclk_max_div = SUN6I_DSI_TCON_DIV; -+ tcon->dclk_min_div = 6; -+ tcon->dclk_max_div = 6; - - sun4i_tcon0_mode_set_common(tcon, mode); - --- -2.29.1 - diff --git a/main/linux-postmarketos-allwinner/0013-drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-.patch b/main/linux-postmarketos-allwinner/0013-drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-.patch deleted file mode 100644 index 3a25bae05..000000000 --- a/main/linux-postmarketos-allwinner/0013-drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e8be2e4affb906af7137437ac62fb3912609c11e Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Thu, 29 Oct 2020 04:55:40 +0100 -Subject: [PATCH 2/2] drm: panel: st7703: Fix xbd599 timings to make refresh - rate exactly 60.006Hz - -Signed-off-by: Ondrej Jirman ---- - drivers/gpu/drm/panel/panel-sitronix-st7703.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index 4287aabb9007a..070ef2baef6f2 100644 ---- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c -+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -@@ -334,14 +334,14 @@ static int xbd599_init_sequence(struct st7703 *ctx) - - static const struct drm_display_mode xbd599_mode = { - .hdisplay = 720, -- .hsync_start = 720 + 40, -- .hsync_end = 720 + 40 + 40, -- .htotal = 720 + 40 + 40 + 40, -+ .hsync_start = 720 + 30, -+ .hsync_end = 720 + 30 + 28, -+ .htotal = 720 + 30 + 28 + 30, - .vdisplay = 1440, - .vsync_start = 1440 + 18, - .vsync_end = 1440 + 18 + 10, - .vtotal = 1440 + 18 + 10 + 17, -- .clock = 69000, -+ .clock = 72000, - .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, - .width_mm = 68, - .height_mm = 136, --- -2.29.1 - diff --git a/main/linux-postmarketos-allwinner/APKBUILD b/main/linux-postmarketos-allwinner/APKBUILD index 3f86aa0a8..b78f3da09 100644 --- a/main/linux-postmarketos-allwinner/APKBUILD +++ b/main/linux-postmarketos-allwinner/APKBUILD @@ -5,9 +5,9 @@ _flavor=postmarketos-allwinner _config="config-$_flavor.$CARCH" pkgname=linux-$_flavor -pkgver=5.9.1_git20201019 -pkgrel=4 -_tag="orange-pi-5.9-20201019-1553" +pkgver=5.9.3_git20201101 +pkgrel=0 +_tag="orange-pi-5.9-20201101-2057" pkgdesc="Kernel fork with Pine64 patches (megi's tree, slightly patched)" arch="aarch64" _carch="arm64" @@ -35,10 +35,6 @@ source="$pkgname-$_tag.tar.gz::https://github.com/megous/linux/archive/$_tag.tar 0007-dts-pinetab-make-audio-routing-consistent-with-pinep.patch 0008-pinetab-bluetooth.patch 0009-dts-pinephone-remove-bt-firmware-suffix.patch - 0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch - 0011-media-i2c-ov5640-implement-autofocus.patch - 0012-drm-sun4i-Fix-mipi-dsi-panel-framerate-being-2-3-of-.patch - 0013-drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-.patch " subpackages="$pkgname-dev" builddir="$srcdir/linux-$_tag" @@ -79,7 +75,7 @@ dev() { INSTALL_HDR_PATH="$subpkgdir"/usr } -sha512sums="fd08e2c580ca2e89513d5d78e09af2c782dc8b06165fa5125ee0ebdafc002f0748c631aaba54415d0dbc520b8b7388f39076de4ce0c6510878089877478dacf0 linux-postmarketos-allwinner-orange-pi-5.9-20201019-1553.tar.gz +sha512sums="4b082e90284b8febf2d8379ef0212d899cdbe5ae36e0885446412bc5d7a49e7c970f140d939e54bb10ddb43a5bdfe970a83fbc45749c6dae37e079a6a56e0955 linux-postmarketos-allwinner-orange-pi-5.9-20201101-2057.tar.gz 5a145385f31e64518abc760c7012c96a69074ebb87af7640bc6056ce2f7b46aecbfeb4d1f1516e70dceb8934e3f4a25b36b864f7d95d020d5cf8a16e10e006ff config-postmarketos-allwinner.aarch64 bfeb383784e495a5d7c58fdd7abf44fa0d3460b48ddae09d69997791bb58beb55da8d04f05f30d12f4bdadbe81d0d5f8781c37a4904c1d7a283da3f7ecbadeda 0001-dts-add-dontbeevil-pinephone-devkit.patch c157e2495a02417c2ef54c9e1788db7b32a111dd412146c4c925f2f489d0b5a94be4b484d71285abe83c4523f1ae1d4ec6f4af0acad922cb676e8a8f07611698 0002-dts-add-pinetab-dev-old-display-panel.patch @@ -89,8 +85,4 @@ ab72dffc08e56c7ee96f87b30454f38eed6c4deb041f4cc562bdbf358a66821a698517ba9b095e32 60322820a6048c95f7a62180f3aa872f929c8c0aa6bc5cecff882cf671c132666ef803c6754e6d6f4b3d4342362ba9901c21cb23e5186601327ea17ac3d97573 0006-dts-pinetab-add-missing-bma223-ohci1.patch 36c310b00520650aec1e4ece3e995ab649d79315e5057f85587f3a6b1b5546549599c7db14bbf9b6cba76d87512116e132d0064f14aed0a6b7bbe66856e322d9 0007-dts-pinetab-make-audio-routing-consistent-with-pinep.patch 5bb1352b0bf35ff72eb9729248162faa37b0f1fe28c5cf9bd39b54148ff7750ca53d5934d6a128002a7a190180ef8e626733f260db722831ac35e3a5c1b25661 0008-pinetab-bluetooth.patch -a392e7b04dc411986b90adf8774ce8f4b77617993e7ca068ea202aa3c925d0ec3bdbd4c395505696816dce6284955bf96901d75833a9b6ca9df544386b07ff65 0009-dts-pinephone-remove-bt-firmware-suffix.patch -f222b41c7900609210795c062b6d9f2fd79c9989f9a604d1d67f10e915b3fc18fcfc712f364b343b506461ff717ac9de2b5ec0edd5d69b2c73f9a5461ab4a919 0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch -69d7f6e2123d78910930302a4628c8af5c9baeee4e88873f15334c13dc8ed53425f1aa47c16b1a0ad8525ac396576d0dd5cdd962d645f1273837229ad817f3f3 0011-media-i2c-ov5640-implement-autofocus.patch -65210b347455e91cf85fce043ca031ee139500da89bcef05a7c97326705b14a1c59ef1277282fee5507998a6408e4c3b945126cbbf648a3ce69d3c68a995aae2 0012-drm-sun4i-Fix-mipi-dsi-panel-framerate-being-2-3-of-.patch -669cf3aaf1c101a924808185bda51f735fadad9e6f5c0485e368347312a36427f7b53430bb08798b8ceb1a661a3ca4a36dd1787cb074a3b40bbb6af02dd32618 0013-drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-.patch" +a392e7b04dc411986b90adf8774ce8f4b77617993e7ca068ea202aa3c925d0ec3bdbd4c395505696816dce6284955bf96901d75833a9b6ca9df544386b07ff65 0009-dts-pinephone-remove-bt-firmware-suffix.patch"