Qualcomm Innovation Center维护的仓库已经从codeaurora迁移到codelinaro。2022年3月31日起codeaurora不接受任何更新,且将在2023年3月31日删除。
https://git.codelinaro.org/explore/
下载12.1 release note
80-33890-2_aa_qca_networking_2022.spf.12.1_es_release_notes.pdf
This release is: | QCA_Networking_2022.SPF.12.1 ES |
The release version is: | IPQ9574.ILQ.12.1.r3-00051-P-1 IPQ5018.ILQ.12.1.r3-00051-LM512-1 |
The open-source label (CLO_TAG) that corresponds to this release is: | AU_LINUX_QSDK_NHSS.QSDK.12.1.R3_TARGET_ALL.12.1.03.841.039.xml |
Qualcomm ChipCode™ distribution tag (Use this tag to check out the code from git repository): | r12.1.r1_00001.8 |
下载chipcode私有spf 12.1代码:
git clone -b r12.1.r1_00001.8 --depth 1 https://chipmaster2.qti.qualcomm.com/home2/git/xiaomi-inc/qca-networking-2022-spf-12-1_qca_oem.git
下载codeauroa开源代码
$ manifest=AU_LINUX_QSDK_NHSS.QSDK.12.1.R3_TARGET_ALL.12.1.03.841.039.xml
$ repo init -u https://git.codelinaro.org/clo/qsdk/releases/manifest/qstak.git \
-b release -m $manifest
$ repo sync -j8 --no-tags -c
组装代码
下载ath 11.4 release note
80-yc735-8_aa_ath11k_11.4.0_csu1_upstream_release_notes.pdf
This release is: | ATH11K 11.4.0 CSu1 |
The release version is: | PQ5018.ATH.11.4.0-00186-O-1 IPQ6018.ATH.11.4.0-00186-O-1 IPQ8074.ATH.11.4.0-00186-O-1 |
The Linux Foundation hosted open source label (the CAF_TAG) that corresponds to this release is: | caf_AU_LINUX_QSDK_NHSS.QSDK.11.4.0.5_TARGET_ALL.11.4.0.5.7411.xml |
Qualcomm ChipCode distribution tag (Use this tag to check out the code from git repository): | r00186.1 |
下载chipcode:ipq5018-ath-11-4-0_qca_oem
$ git clone -b r00186.1 --depth 1 https://chipmaster2.qti.qualcomm.com/home2/git/xiaomi-inc/ipq5018-ath-11-4-0_qca_oem.git
下载codeaurora
$ manifest=caf_AU_LINUX_QSDK_NHSS.QSDK.11.4.0.5_TARGET_ALL.11.4.0.5.7411.xml
$ repo init -u git://codeaurora.org/quic/qsdk/releases/manifest/qstak -b release -m $manifest
$ repo sync -j8 --no-tags -c
组装代码
qsdk 12.1的内核版本是5.4。这里的工作是主要是参考qsdk的改动,移植到5.15内核。5.15内核是longterm内核版本。
首先我们下载linux仓库,方便做对比。使用codeaurora北京的linux镜像。
$ git remote -v
origin git://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/torvalds/linux.git (fetch)
origin git://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/torvalds/linux.git (push)
stable git://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/stable/linux.git (fetch)
stable git://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/stable/linux.git (push)
$ git branch -vv
* linux-5.4.y 01565c91b789 [stable/linux-5.4.y] Linux 5.4.193
master 4634129ad9fd [origin/master] Merge tag 'soc-fixes-5.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
查看qsdk 12.1的manifests。
<project name="clo/qsdk/oss/kernel/linux-ipq-5.4" path="qsdk/qca/src/linux-5.4" revision="c2f73a5387280d0fa225223ea517e6620d35f7e7" upstream="NHSS.QSDK.12.1.r3"/>
确定其分支是 NHSS.QSDK.12.1.r3,commit 是 c2f73a53.
然后下载quic维护的5.4内核仓库
$ git remote -v
origin https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-ipq-5.4.git (fetch)
origin https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-ipq-5.4.git (push)
$ git branch -vv
* NHSS.QSDK.12.1.r3 c2f73a5387280 [origin/NHSS.QSDK.12.1.r3] dts: ipq9574: Add IPQ9754 and QCN9224 Wifi nodes for AL02-C6
clo/main 4426e6017f73b [origin/clo/main] Linux 5.4.191
可以看到12.1.r3分支的HEAD就是c2f7。
linux官方的5.4.y分支的HEAD是5.4.193 tag。
查看 NHSS.QSDK.12.1.r3的git log发现它最近的tag是
e3c95128def1c (tag: v5.4.164) Linux 5.4.164
查看linux的5.4.164 tag
e3c95128def1 (tag: v5.4.164) Linux 5.4.164
他们的commit相同。也就是说,quic的所有提交都rebase到了5.4.164. 这样做应该也是为了更好的merge新的5.4.x版本。
这样就很好办了。直接在linux-ipq-5.4比较head和v5.4.164就可以了。
首先查看改动的文件
$ git diff --name-only v5.4.164 HEAD
有1300多个改动的文件,涉及Documentation, arch/arm, arch/arm64, arch/mips, block, drivers, fs, include, init, ipc, kernel, lib, mm, net, samples, scripts, security, sound, tools, usr, virt, Makfile.等目录的改动。找出涉及IPQ5018的改动,合入。
使用git log查看从tag到head一个文件或目录的改动,比如主Makefile.有改动
$ git log -p --stat --full-diff v5.4.164...HEAD Makefile
主要是arch/arm arch/amr64涉及的改动。
commit 2fc4a5e53116cfabe5a00696973a1ba45fce9ee0
Author: Manoharan Vijaya Raghavan <mraghava@codeaurora.org>
Date: Mon May 27 19:44:54 2019 +0530
ipq807x: arm: Text offset fix for 256M profile
arch/arm/Makefile | 1 +
arch/arm/boot/compressed/head.S | 3 ++-
arch/arm/kernel/head.S | 7 ++++---
arch/arm/mach-qcom/Kconfig | 6 ++++++
include/linux/memblock.h | 1 +
mm/memblock.c | 3 ++-
6 files changed, 16 insertions(+), 5 deletions(-)
commit e09e0034811ae7007b533cc89c4c81d8e47bff77
Author: Kathiravan T <kathirav@codeaurora.org>
Date: Tue Mar 16 13:35:57 2021 +0530
arm: qcom: enable ARM_GIC_V2M if PCI is defined
Enable ARM_GIC_V2M if PCI is enabled in ARCH_QCOM.
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
Change-Id: I18789ec868d4dfd58cf90f933fe71edc44bdafb4
---
arch/arm/mach-qcom/Kconfig | 1 +
commit 13f4de4d817224bf1bdffd39d62045be2163fa32
Author: Kathiravan T <kathirav@codeaurora.org>
Date: Wed Mar 2 14:46:12 2016 +0530
ARM: qcom: ipq807x: Add SMP support for IPQ807x
Implement support for the IPQ807x secondary CPU
release sequence.
Signed-off-by: Amandeep Singh <aosaha@codeaurora.org>
(cherry picked from commit c0486a64c7180faf126fbef39a944ab0baf7a30b)
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
Change-Id: I4f20405884e7be7990871ba2a7a8eba5520d625c
---
arch/arm/mach-qcom/platsmp.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 100 insertions(+), 1 deletion(-)
合入ipq5018的device tree。
commit e33d977f4187272f5f73739f47a734ee6dd47941
Author: Kathiravan T <kathirav@codeaurora.org>
Date: Thu Jun 3 21:16:50 2021 +0530
arm64: dts: ipq5018: add MP02.1 board support
Add snapshot of MP02.1 DTS file from win.linuxopenwrt.1.0 branch as of commit
bb7f270e45e3 ("ipq5018: MP02.1: Disable WPS button")
Change-Id: Ib6e961cce17bd5bc4cc28c62d4b952c417eaf424
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/ipq5018-mp02.1.dts | 23 +++
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/ipq5018-mp02.1.dts | 636 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 1 +
5 files changed, 663 insertions(+)
另外一个是就是关键驱动的改动
drivers/clk/qcom
drivers/pinctrl/qcom
include/dt-bindings/clock
include/dt-bindings/reset
include/linux/clk-provider.h
commit 7e749f3431ef60a4fef77f93b2d510810ad4343b
Author: Rajkumar Ayyasamy <quic_arajkuma@quicinc.com>
Date: Thu Dec 23 23:34:18 2021 +0530
clk: gcc: ipq8074: add audio_pll_main
Change-Id: I4c3527685fe4e7c9252a8ffe79e93d6382819668
Signed-off-by: Rajkumar Ayyasamy <quic_arajkuma@quicinc.com>
---
drivers/clk/qcom/clk-alpha-pll.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/clk/qcom/clk-alpha-pll.h | 1 +
drivers/clk/qcom/gcc-ipq8074.c | 47 +++++++++++++++++++++++++++++++++++
include/dt-bindings/clock/qcom,gcc-ipq8074.h | 2 ++
commit a0f27a75b3a8cde26435df2631b881ae4a082834
Author: Kathiravan T <quic_kathirav@quicinc.com>
Date: Thu Dec 16 16:42:18 2021 +0530
clk: qcom: ipq5018: remove clk_ignore_unused from bootargs
Align the GCC driver with linux-4.4 to remove the clk_ignore_unused
from the bootargs.
Change-Id: Ic976621e14012e59cf70f1254acd32e0be665525
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
---
arch/arm64/boot/dts/qcom/ipq5018-mp03.1-c2.dts | 2 +-
arch/arm64/boot/dts/qcom/ipq5018-mp03.1.dts | 2 +-
arch/arm64/boot/dts/qcom/ipq5018-mp03.3.dts | 2 +-
arch/arm64/boot/dts/qcom/ipq5018-mp03.5-c1.dts | 2 +-
arch/arm64/boot/dts/qcom/ipq5018-mp03.6-c1.dts | 2 +-
drivers/clk/qcom/gcc-ipq5018.c | 88 ++++++++++++++++++++++++++++++++++++++++++------------------
include/dt-bindings/clock/qcom,gcc-ipq5018.h | 2 ++
commit 2c5ff3cf58910fa0b87957f37d032babc3d34b9b
Author: Manikanta Mylavarapu <mmanikan@codeaurora.org>
Date: Wed Jun 2 22:37:48 2021 +0530
ipq5018: Add apss clock driver support
Signed-off-by: Manikanta Mylavarapu <mmanikan@codeaurora.org>
Change-Id: Ied1738f11a6726d4006ccd8ab6dc50656cb13cba
---
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 42 +++++++++++-
drivers/clk/qcom/Kconfig | 8 +++
drivers/clk/qcom/Makefile | 1 +
drivers/clk/qcom/apss-ipq5018.c | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/cpufreq/cpufreq-dt-platdev.c | 2 +
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 5 ++
include/dt-bindings/clock/qca,apss-ipq5018.h | 25 +++++++
7 files changed, 307 insertions(+), 3 deletions(-)