[PATCH RFC] ath79: switch TP-Link Archer C59 v1 to read partitions table

Rosen Penev rosenp at gmail.com
Tue Nov 15 17:29:58 PST 2022


On Thu, Nov 10, 2022 at 3:52 AM Rafał Miłecki <zajec5 at gmail.com> wrote:
>
> From: Rafał Miłecki <rafal at milecki.pl>
>
> So far DTS file for C59 V1 model was assuming flash partitions were
> fixed. It just used a little quirk with a custom "firmware" partition
> covering both: "os-image" and "file-system" to avoid hardcoding their
> offsets and sizes.
>
> That solution works quite reliably in most cases. "firmware" hack is a
> very minor one. Partitions other that "os-image" and "file-system" are
> rather never reorganized (thought they probably could be during firmware
> upgrade).
>
> This change is a minor design and code cleanup. It makes kernel read
> "partition-table" flash partition to register all partitions specified
> there.
This looks very nice.
>
> Benefits:
> 1. Partitions may get changed / reorganized without breaking things
> 2. We don't hardcode & duplicate info about flash partitions in DT
> 3. Linux doesn't have to split "firmware" partition (less magic)
>
> RFC part:
> This change gets rid of "firmware" partition as it isn't defined in the
> "partition-table". That probably breaks OpenWrt's sysupgrade.
So this is untested?
>
> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
> ---
>  .../dts/qca9561_tplink_archer-c59-v1.dts      | 33 ++++---------------
>  1 file changed, 6 insertions(+), 27 deletions(-)
>
> diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts
> index c385eb1592..6d1d1602fa 100644
> --- a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts
> +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts
> @@ -44,38 +44,17 @@
>                 spi-max-frequency = <25000000>;
>
>                 partitions {
> -                       compatible = "fixed-partitions";
> -                       #address-cells = <1>;
> -                       #size-cells = <1>;
> -
> -                       partition at 0 {
> -                               label = "u-boot";
> -                               reg = <0x000000 0x010000>;
> -                               read-only;
> -                       };
> -
> -                       info: partition at 10000 {
> -                               label = "info";
> -                               reg = <0x010000 0x010000>;
> -                               read-only;
> -                       };
> +                       compatible = "tplink,safeloader-partitions";
> +                       partitions-table-offset = <0xe50000>;
>
> -                       partition at 20000 {
> -                               compatible = "denx,uimage";
> -                               label = "firmware";
> -                               reg = <0x020000 0xe30000>;
> +                       partition-file-system {
> +                               linux,rootfs;
>                         };
>
> -                       partition at e50000 {
> -                               label = "tplink";
> -                               reg = <0xe50000 0x1a0000>;
> -                               read-only;
> +                       info: partition-default-mac {
>                         };
>
> -                       art: partition at ff0000 {
> -                               label = "art";
> -                               reg = <0xff0000 0x010000>;
> -                               read-only;
> +                       art: partition-radio {
>                         };
>                 };
>         };
> --
> 2.34.1
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list