dts: dtsi: add dtsi for ab update [1/6]
authorXindong Xu <xindong.xu@amlogic.com>
Fri, 26 Oct 2018 06:29:30 +0000 (14:29 +0800)
committerXindong Xu <xindong.xu@amlogic.com>
Tue, 20 Nov 2018 08:35:43 +0000 (00:35 -0800)
PD#SWPL-1513

Problem:
ab update can not work on P

Solution:
add dtsi for ab update for P

Verify:
test pass in ampere

Change-Id: I6ff219170a16c0081fba7297110e8dfaadcff401
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
Documentation/devicetree/bindings/vendor-prefixes.txt
MAINTAINERS
arch/arm/boot/dts/amlogic/firmware_ab.dtsi [new file with mode: 0644]
arch/arm/boot/dts/amlogic/firmware_avb_ab.dtsi [new file with mode: 0644]
arch/arm/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/amlogic/firmware_ab.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/amlogic/firmware_avb_ab.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi [new file with mode: 0644]

index 012e88b..3e09d25 100644 (file)
@@ -24,6 +24,13 @@ ampire       Ampire Co., Ltd.
 ams    AMS AG
 amstaos        AMS-Taos Inc.
 analogix       Analogix Semiconductor, Inc.
+android
+android,odm
+android,product
+android,fstab
+android,vbmeta
+android,vendor
+android,firmware
 apm    Applied Micro Circuits Corporation (APM)
 aptina Aptina Imaging
 arasan Arasan Chip Systems
index 4569fba..6cb839c 100644 (file)
@@ -14697,3 +14697,12 @@ F:     arch/arm64/boot/dts/amlogic/g12b_a311d_w400_buildroot_vccktest.dts
 AMLOGIC DDR TOOL
 M:     wenbiao zhang <wenbiao.zhang@amlogic.com>
 F:     include/linux/amlogic/aml_dmc.h
+
+AMLOGIC AB UPDATE DTS
+M:     Xindong Xu <xindong.xu@amlogic.com>
+F:     arch/arm/boot/dts/amlogic/firmware_ab.dtsi
+F:     arch/arm/boot/dts/amlogic/firmware_avb_ab.dtsi
+F:     arch/arm64/boot/dts/amlogic/firmware_ab.dtsi
+F:     arch/arm/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi
+F:     arch/arm64/boot/dts/amlogic/firmware_avb_ab.dtsi
+F:     arch/arm64/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi
diff --git a/arch/arm/boot/dts/amlogic/firmware_ab.dtsi b/arch/arm/boot/dts/amlogic/firmware_ab.dtsi
new file mode 100644 (file)
index 0000000..3b2d7d9
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * arch/arm/boot/dts/amlogic/firmware_ab.dtsi
+ *
+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * This program 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 program 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.
+ *
+ */
+
+/ {
+firmware {
+       android {
+               compatible = "android,firmware";
+               vbmeta {
+                       compatible = "android,vbmeta";
+                       parts = "vbmeta,boot,system,vendor";
+                       by_name_prefix="/dev/block";
+               };
+       fstab {
+               compatible = "android,fstab";
+
+               vendor {
+                       compatible = "android,vendor";
+                       dev = "/dev/block/vendor";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               product {
+                       compatible = "android,product";
+                       dev = "/dev/block/product";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               odm {
+                       compatible = "android,odm";
+                       dev = "/dev/block/odm";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               };
+       };
+};
+};/* end of / */
diff --git a/arch/arm/boot/dts/amlogic/firmware_avb_ab.dtsi b/arch/arm/boot/dts/amlogic/firmware_avb_ab.dtsi
new file mode 100644 (file)
index 0000000..d1154cc
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * arch/arm/boot/dts/amlogic/firmware_avb_ab.dtsi
+ *
+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * This program 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 program 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.
+ *
+ */
+
+/ {
+firmware {
+       android {
+               compatible = "android,firmware";
+               vbmeta {
+                       compatible = "android,vbmeta";
+                       parts = "vbmeta,boot,system,vendor";
+                       by_name_prefix="/dev/block";
+               };
+       fstab {
+               compatible = "android,fstab";
+
+               vendor {
+                       compatible = "android,vendor";
+                       dev = "/dev/block/vendor";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect,avb";
+               };
+               product {
+                       compatible = "android,product";
+                       dev = "/dev/block/product";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+               };
+               odm {
+                       compatible = "android,odm";
+                       dev = "/dev/block/odm";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               };
+       };
+};
+};/* end of / */
diff --git a/arch/arm/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi b/arch/arm/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi
new file mode 100644 (file)
index 0000000..d210d92
--- /dev/null
@@ -0,0 +1,173 @@
+/*
+ * arch/arm/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi
+ *
+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * This program 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 program 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.
+ *
+ */
+
+#include "firmware_ab.dtsi"
+
+/ {
+    partitions: partitions{
+               parts = <23>;
+               part-0 = <&logo>;
+               part-1 = <&boot_a>;
+               part-2 = <&misc>;
+               part-3 = <&dtbo_a>;
+               part-4 = <&dtbo_b>;
+               part-5 = <&cri_data>;
+               part-6 = <&param>;
+               part-7 = <&boot_b>;
+               part-8 = <&rsv>;
+               part-9 = <&metadata_a>;
+               part-10 = <&metadata_b>;
+               part-11 = <&vbmeta_a>;
+               part-12 = <&vbmeta_b>;
+               part-13 = <&tee>;
+               part-14 = <&vendor_a>;
+               part-15 = <&vendor_b>;
+               part-16 = <&odm_a>;
+               part-17 = <&odm_b>;
+               part-18 = <&system_a>;
+               part-19 = <&system_b>;
+               part-20 = <&product_a>;
+               part-21 = <&product_b>;
+               part-22 = <&data>;
+
+               logo:logo{
+                       pname = "logo";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               boot_a:boot_a
+               {
+                       pname = "boot_a";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               misc:misc{
+                       pname = "misc";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               dtbo_a:dtbo_a{
+                       pname = "dtbo_a";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               dtbo_b:dtbo_b{
+                       pname = "dtbo_b";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               cri_data:cri_data
+               {
+                       pname = "cri_data";
+                       size = <0x0 0x800000>;
+                       mask = <2>;
+               };
+               rsv:rsv{
+                       pname = "rsv";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               metadata_a:metadata_a{
+                       pname = "metadata_a";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               metadata_b:metadata_b{
+                       pname = "metadata_b";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               vbmeta_a:vbmeta_a{
+                       pname = "vbmeta_a";
+                       size = <0x0 0x200000>;
+                       mask = <1>;
+               };
+               vbmeta_b:vbmeta_b{
+                       pname = "vbmeta_b";
+                       size = <0x0 0x200000>;
+                       mask = <1>;
+               };
+               param:param{
+                       pname = "param";
+                       size = <0x0 0x1000000>;
+                       mask = <2>;
+               };
+               boot_b:boot_b
+               {
+                       pname = "boot_b";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               tee:tee{
+                       pname = "tee";
+                       size = <0x0 0x2000000>;
+                       mask = <1>;
+               };
+               vendor_a:vendor_a
+               {
+                       pname = "vendor_a";
+                       size = <0x0 0x10000000>;
+                       mask = <1>;
+               };
+               vendor_b:vendor_b
+               {
+                       pname = "vendor_b";
+                       size = <0x0 0x10000000>;
+                       mask = <1>;
+               };
+               odm_a:odm_a
+               {
+                       pname = "odm_a";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               odm_b:odm_b
+               {
+                       pname = "odm_b";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               system_a:system_a
+               {
+                       pname = "system_a";
+                       size = <0x0 0x50000000>;
+                       mask = <1>;
+               };
+               system_b:system_b
+               {
+                       pname = "system_b";
+                       size = <0x0 0x50000000>;
+                       mask = <1>;
+               };
+               product_a:product_a{
+                       pname = "product_a";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               product_b:product_b{
+                       pname = "product_b";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               data:data
+               {
+                       pname = "data";
+                       size = <0xffffffff 0xffffffff>;
+                       mask = <4>;
+               };
+       };
+};/* end of / */
diff --git a/arch/arm64/boot/dts/amlogic/firmware_ab.dtsi b/arch/arm64/boot/dts/amlogic/firmware_ab.dtsi
new file mode 100644 (file)
index 0000000..328b7f1
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * arch/arm64/boot/dts/amlogic/firmware_ab.dtsi
+ *
+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * This program 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 program 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.
+ *
+ */
+
+/ {
+firmware {
+       android {
+               compatible = "android,firmware";
+               vbmeta {
+                       compatible = "android,vbmeta";
+                       parts = "vbmeta,boot,system,vendor";
+                       by_name_prefix="/dev/block";
+               };
+       fstab {
+               compatible = "android,fstab";
+
+               vendor {
+                       compatible = "android,vendor";
+                       dev = "/dev/block/vendor";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               product {
+                       compatible = "android,product";
+                       dev = "/dev/block/product";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               odm {
+                       compatible = "android,odm";
+                       dev = "/dev/block/odm";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               };
+       };
+};
+};/* end of / */
diff --git a/arch/arm64/boot/dts/amlogic/firmware_avb_ab.dtsi b/arch/arm64/boot/dts/amlogic/firmware_avb_ab.dtsi
new file mode 100644 (file)
index 0000000..0ec3f8c
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * arch/arm64/boot/dts/amlogic/firmware_avb_ab.dtsi
+ *
+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * This program 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 program 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.
+ *
+ */
+
+/ {
+firmware {
+       android {
+               compatible = "android,firmware";
+               vbmeta {
+                       compatible = "android,vbmeta";
+                       parts = "vbmeta,boot,system,vendor";
+                       by_name_prefix="/dev/block";
+               };
+       fstab {
+               compatible = "android,fstab";
+
+               vendor {
+                       compatible = "android,vendor";
+                       dev = "/dev/block/vendor";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect,avb";
+                       };
+               product {
+                       compatible = "android,product";
+                       dev = "/dev/block/product";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               odm {
+                       compatible = "android,odm";
+                       dev = "/dev/block/odm";
+                       type = "ext4";
+                       mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
+                       fsmgr_flags = "wait,slotselect";
+                       };
+               };
+       };
+};
+};/* end of / */
diff --git a/arch/arm64/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi b/arch/arm64/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi
new file mode 100644 (file)
index 0000000..fc5a9b7
--- /dev/null
@@ -0,0 +1,173 @@
+/*
+ * arch/arm64/boot/dts/amlogic/partition_mbox_ab_P_32.dtsi
+ *
+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * This program 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 program 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.
+ *
+ */
+
+#include "firmware_ab.dtsi"
+
+/ {
+    partitions: partitions{
+               parts = <23>;
+               part-0 = <&logo>;
+               part-1 = <&boot_a>;
+               part-2 = <&misc>;
+               part-3 = <&dtbo_a>;
+               part-4 = <&dtbo_b>;
+               part-5 = <&cri_data>;
+               part-6 = <&param>;
+               part-7 = <&boot_b>;
+               part-8 = <&rsv>;
+               part-9 = <&metadata_a>;
+               part-10 = <&metadata_b>;
+               part-11 = <&vbmeta_a>;
+               part-12 = <&vbmeta_b>;
+               part-13 = <&tee>;
+               part-14 = <&vendor_a>;
+               part-15 = <&vendor_b>;
+               part-16 = <&odm_a>;
+               part-17 = <&odm_b>;
+               part-18 = <&system_a>;
+               part-19 = <&system_b>;
+               part-20 = <&product_a>;
+               part-21 = <&product_b>;
+               part-22 = <&data>;
+
+               logo:logo{
+                       pname = "logo";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               boot_a:boot_a
+               {
+                       pname = "boot_a";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               misc:misc{
+                       pname = "misc";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               dtbo_a:dtbo_a{
+                       pname = "dtbo_a";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               dtbo_b:dtbo_b{
+                       pname = "dtbo_b";
+                       size = <0x0 0x800000>;
+                       mask = <1>;
+               };
+               cri_data:cri_data
+               {
+                       pname = "cri_data";
+                       size = <0x0 0x800000>;
+                       mask = <2>;
+               };
+               rsv:rsv{
+                       pname = "rsv";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               metadata_a:metadata_a{
+                       pname = "metadata_a";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               metadata_b:metadata_b{
+                       pname = "metadata_b";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               vbmeta_a:vbmeta_a{
+                       pname = "vbmeta_a";
+                       size = <0x0 0x200000>;
+                       mask = <1>;
+               };
+               vbmeta_b:vbmeta_b{
+                       pname = "vbmeta_b";
+                       size = <0x0 0x200000>;
+                       mask = <1>;
+               };
+               param:param{
+                       pname = "param";
+                       size = <0x0 0x1000000>;
+                       mask = <2>;
+               };
+               boot_b:boot_b
+               {
+                       pname = "boot_b";
+                       size = <0x0 0x1000000>;
+                       mask = <1>;
+               };
+               tee:tee{
+                       pname = "tee";
+                       size = <0x0 0x2000000>;
+                       mask = <1>;
+               };
+               vendor_a:vendor_a
+               {
+                       pname = "vendor_a";
+                       size = <0x0 0x10000000>;
+                       mask = <1>;
+               };
+               vendor_b:vendor_b
+               {
+                       pname = "vendor_b";
+                       size = <0x0 0x10000000>;
+                       mask = <1>;
+               };
+               odm_a:odm_a
+               {
+                       pname = "odm_a";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               odm_b:odm_b
+               {
+                       pname = "odm_b";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               system_a:system_a
+               {
+                       pname = "system_a";
+                       size = <0x0 0x50000000>;
+                       mask = <1>;
+               };
+               system_b:system_b
+               {
+                       pname = "system_b";
+                       size = <0x0 0x50000000>;
+                       mask = <1>;
+               };
+               product_a:product_a{
+                       pname = "product_a";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               product_b:product_b{
+                       pname = "product_b";
+                       size = <0x0 0x8000000>;
+                       mask = <1>;
+               };
+               data:data
+               {
+                       pname = "data";
+                       size = <0xffffffff 0xffffffff>;
+                       mask = <4>;
+               };
+       };
+};/* end of / */