Karsten Merker
2016-01-21 20:38:39 UTC
Hello everybody,
I have read today's IRC discussion about handling the regulator
control on the A64 via the SCPI protocol implemented by a
firmware running on the "arisc"/AR100 (OpenRisc Core) embedded in
the SoC, instead of controlling the PMIC directly from the ARM
cores.
For reference the SCPI spec:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0922c/index.html
Maxime has mentioned potential technical problems due to lack of
certain functionality in the SCPI spec, but I would also like to
point out another problematic angle of using loadable coprocessor
firmware for implementing essential functionality.
AFAICS, the firmware for the arisc gets supplied to the arisc by
either u-boot or the kernel. This poses a problem for Linux
distributions with strict policies such as Debian:
Debian/main can only contain free software that
a) complies with the Debian Free Software Guidelines (DFSG,
https://www.debian.org/social_contract#guidelines) and
b) has all its dependencies and build-dependencies fulfilled
within main.
Debian also has a "contrib" and a "non-free" repository, but
those are not part of the official Debian releases and are not
distributed on offical installation media. The user has the
option to enable package installations from those repositories
later on in the installation process if he explicitly wishes to
do so, but the Debian-Installer images published by Debian can
only contain software from main.
If the arisc firmware is required for basic bringup of the
system, this would mean that Debian would have to ship the
firmware as part of the installer images. This would only be
possible if the firmware fulfills the requirements for being
included in the "main" repository, which excludes any binary-only
vendor-supplied firmware file.
The Debian-Installer offers an option for the user to provide
loadable firmware on a USB stick, but that doesn't help when
getting to that point already requires the ability to control
the regulators.
Even if we had a firmware implementation under a DFSG-compatible
license, inclusion in main would still pose a problem as we
cannot build it with the tools in main: there is no OpenRisc
support in mainline binutils and gcc and that will probably not
change in the forseeable future:
https://people.debian.org/~mafm/posts/2015/20150421_about-the-debian-gnulinux-port-for-openrisc-or1k/
To avoid all these problems, I would like to strongly propose
doing the RSB and PMIC handling directly from the ARM core (as it
has been done for all other Allwinner SoCs) and not use the arisc
at all if that is technically feasible.
Regards,
Karsten
I have read today's IRC discussion about handling the regulator
control on the A64 via the SCPI protocol implemented by a
firmware running on the "arisc"/AR100 (OpenRisc Core) embedded in
the SoC, instead of controlling the PMIC directly from the ARM
cores.
For reference the SCPI spec:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0922c/index.html
Maxime has mentioned potential technical problems due to lack of
certain functionality in the SCPI spec, but I would also like to
point out another problematic angle of using loadable coprocessor
firmware for implementing essential functionality.
AFAICS, the firmware for the arisc gets supplied to the arisc by
either u-boot or the kernel. This poses a problem for Linux
distributions with strict policies such as Debian:
Debian/main can only contain free software that
a) complies with the Debian Free Software Guidelines (DFSG,
https://www.debian.org/social_contract#guidelines) and
b) has all its dependencies and build-dependencies fulfilled
within main.
Debian also has a "contrib" and a "non-free" repository, but
those are not part of the official Debian releases and are not
distributed on offical installation media. The user has the
option to enable package installations from those repositories
later on in the installation process if he explicitly wishes to
do so, but the Debian-Installer images published by Debian can
only contain software from main.
If the arisc firmware is required for basic bringup of the
system, this would mean that Debian would have to ship the
firmware as part of the installer images. This would only be
possible if the firmware fulfills the requirements for being
included in the "main" repository, which excludes any binary-only
vendor-supplied firmware file.
The Debian-Installer offers an option for the user to provide
loadable firmware on a USB stick, but that doesn't help when
getting to that point already requires the ability to control
the regulators.
Even if we had a firmware implementation under a DFSG-compatible
license, inclusion in main would still pose a problem as we
cannot build it with the tools in main: there is no OpenRisc
support in mainline binutils and gcc and that will probably not
change in the forseeable future:
https://people.debian.org/~mafm/posts/2015/20150421_about-the-debian-gnulinux-port-for-openrisc-or1k/
To avoid all these problems, I would like to strongly propose
doing the RSB and PMIC handling directly from the ARM core (as it
has been done for all other Allwinner SoCs) and not use the arisc
at all if that is technically feasible.
Regards,
Karsten
--
Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.
--
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.
--
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.