diff mbox series

[U-Boot,v3] board: sun50i: Add Amarula A64-Relic initial support

Message ID 20180528110443.13550-1-jagan@amarulasolutions.com
State Changes Requested
Delegated to: Jagannadha Sutradharudu Teki
Headers show
Series [U-Boot,v3] board: sun50i: Add Amarula A64-Relic initial support | expand

Commit Message

Jagan Teki May 28, 2018, 11:04 a.m. UTC
Amarula A64-Relic is A64 based IoT device, which support
- Allwinner A64 Cortex-A53
- Mali-400MP2 GPU
- AXP803 PMIC
- 1GB DDR3 RAM
- 8GB eMMC
- AP6330 Wifi/BLE
- MIPI-DSI
- CSI: OV5640 sensor
- USB OTG
- 12V DC power supply

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- Use sun50i-a64-relic.dts name
Changes for v2:
- Rename dts name to sun50i-a64-relic.dts which is simple to use
- Rename defconfig to a64_relic_defconfig
- Use licence year as 2018

 arch/arm/dts/Makefile                     |  1 +
 arch/arm/dts/sun50i-a64-amarula-relic.dts | 65 +++++++++++++++++++++++++++++++
 board/sunxi/MAINTAINERS                   |  6 +++
 configs/amarula_a64_relic_defconfig       | 18 +++++++++
 4 files changed, 90 insertions(+)
 create mode 100644 arch/arm/dts/sun50i-a64-amarula-relic.dts
 create mode 100644 configs/amarula_a64_relic_defconfig

Comments

Maxime Ripard May 29, 2018, 4:14 p.m. UTC | #1
On Mon, May 28, 2018 at 04:34:43PM +0530, Jagan Teki wrote:
> +CONFIG_CMD_USB_MASS_STORAGE=y

You still haven't explained why this is useful to add it by default on
this particular board.

Maxime
Jagan Teki May 29, 2018, 4:20 p.m. UTC | #2
On Tue, May 29, 2018 at 9:44 PM, Maxime Ripard
<maxime.ripard@bootlin.com> wrote:
> On Mon, May 28, 2018 at 04:34:43PM +0530, Jagan Teki wrote:
>> +CONFIG_CMD_USB_MASS_STORAGE=y
>
> You still haven't explained why this is useful to add it by default on
> this particular board.

This board does have only eMMC and no external storage
possibilities(like eMMC or Ethernet) so to copy images between eMMC vs
host intermediate way (other than fastboot) ums can be the possible
way.
Maxime Ripard May 31, 2018, 9:37 a.m. UTC | #3
On Tue, May 29, 2018 at 09:50:39PM +0530, Jagan Teki wrote:
> On Tue, May 29, 2018 at 9:44 PM, Maxime Ripard
> <maxime.ripard@bootlin.com> wrote:
> > On Mon, May 28, 2018 at 04:34:43PM +0530, Jagan Teki wrote:
> >> +CONFIG_CMD_USB_MASS_STORAGE=y
> >
> > You still haven't explained why this is useful to add it by default on
> > this particular board.
> 
> This board does have only eMMC and no external storage
> possibilities(like eMMC or Ethernet) so to copy images between eMMC vs
> host intermediate way (other than fastboot) ums can be the possible
> way.

We have fastboot and DFU to address that already, and a number of
other boards accomodate that just fine (the CHIP, the NES Classic,
etc.).

Maxime
Jagan Teki May 31, 2018, 9:43 a.m. UTC | #4
On Thu, May 31, 2018 at 3:07 PM, Maxime Ripard
<maxime.ripard@bootlin.com> wrote:
> On Tue, May 29, 2018 at 09:50:39PM +0530, Jagan Teki wrote:
>> On Tue, May 29, 2018 at 9:44 PM, Maxime Ripard
>> <maxime.ripard@bootlin.com> wrote:
>> > On Mon, May 28, 2018 at 04:34:43PM +0530, Jagan Teki wrote:
>> >> +CONFIG_CMD_USB_MASS_STORAGE=y
>> >
>> > You still haven't explained why this is useful to add it by default on
>> > this particular board.
>>
>> This board does have only eMMC and no external storage
>> possibilities(like eMMC or Ethernet) so to copy images between eMMC vs
>> host intermediate way (other than fastboot) ums can be the possible
>> way.
>
> We have fastboot and DFU to address that already, and a number of
> other boards accomodate that just fine (the CHIP, the NES Classic,
> etc.).

Yes, but ums is different where we can simply mount the flash on host
and update the partitions data directly instead of create partitions
with new data to write again. what's wrong with using ums. I always
believe fastboot, DFU is different than ums where former need to
create image file and later simply copy.

Jagan.
Maxime Ripard June 1, 2018, 3:13 p.m. UTC | #5
On Thu, May 31, 2018 at 03:13:15PM +0530, Jagan Teki wrote:
> On Thu, May 31, 2018 at 3:07 PM, Maxime Ripard
> <maxime.ripard@bootlin.com> wrote:
> > On Tue, May 29, 2018 at 09:50:39PM +0530, Jagan Teki wrote:
> >> On Tue, May 29, 2018 at 9:44 PM, Maxime Ripard
> >> <maxime.ripard@bootlin.com> wrote:
> >> > On Mon, May 28, 2018 at 04:34:43PM +0530, Jagan Teki wrote:
> >> >> +CONFIG_CMD_USB_MASS_STORAGE=y
> >> >
> >> > You still haven't explained why this is useful to add it by default on
> >> > this particular board.
> >>
> >> This board does have only eMMC and no external storage
> >> possibilities(like eMMC or Ethernet) so to copy images between eMMC vs
> >> host intermediate way (other than fastboot) ums can be the possible
> >> way.
> >
> > We have fastboot and DFU to address that already, and a number of
> > other boards accomodate that just fine (the CHIP, the NES Classic,
> > etc.).
> 
> Yes, but ums is different where we can simply mount the flash on host
> and update the partitions data directly instead of create partitions
> with new data to write again. what's wrong with using ums. I always
> believe fastboot, DFU is different than ums where former need to
> create image file and later simply copy.

I'm not arguing the usefulness of the UMS gadget itself, I don't have
any objections to that, and I totally get why and how it can be
useful. What I'm arguing for is why you should enable it *by default*.

You can very easily do that with menuconfig already, and we won't
enable each and every command and feature someone finds
interesting. We've already been bitten hard by this, and I have no
intention of doing that kind of thing a second time.

So yeah, you can definitely use UMS if you wish so. But enabling it by
default when we have already two alternatives for the same use case
enabled is pointless.

Maxime
diff mbox series

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index a0349a8975..3efa3b99b9 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -381,6 +381,7 @@  dtb-$(CONFIG_MACH_SUN50I_H5) += \
 	sun50i-h5-orangepi-prime.dtb \
 	sun50i-h5-orangepi-zero-plus2.dtb
 dtb-$(CONFIG_MACH_SUN50I) += \
+	sun50i-a64-amarula-relic.dtb \
 	sun50i-a64-bananapi-m64.dtb \
 	sun50i-a64-nanopi-a64.dtb \
 	sun50i-a64-olinuxino.dtb \
diff --git a/arch/arm/dts/sun50i-a64-amarula-relic.dts b/arch/arm/dts/sun50i-a64-amarula-relic.dts
new file mode 100644
index 0000000000..f3b4e93ece
--- /dev/null
+++ b/arch/arm/dts/sun50i-a64-amarula-relic.dts
@@ -0,0 +1,65 @@ 
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2018 Amarula Solutions B.V.
+ * Author: Jagan Teki <jagan@amarulasolutions.com>
+ */
+
+/dts-v1/;
+
+#include "sun50i-a64.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "Amarula A64-Relic";
+	compatible = "amarula,a64-relic", "allwinner,sun50i-a64";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	reg_vcc3v3: vcc3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+};
+
+&ehci0 {
+	status = "okay";
+};
+
+&mmc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc2_pins>;
+	vmmc-supply = <&reg_vcc3v3>;
+	bus-width = <8>;
+	non-removable;
+	cap-mmc-hw-reset;
+	status = "okay";
+};
+
+&ohci0 {
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_pins_a>;
+	status = "okay";
+};
+
+&usb_otg {
+	dr_mode = "otg";
+	status = "okay";
+};
+
+&usbphy {
+	usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
+	status = "okay";
+};
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index 1bb2fa8f51..e90c87b560 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -116,6 +116,12 @@  M:	Paul Kocialkowski <contact@paulk.fr>
 S:	Maintained
 F:	configs/Ainol_AW1_defconfig
 
+AMARULA A64-RELIC
+M:	Jagan Teki <jagan@amarulasolutions.com>
+S:	Maintained
+F:	configs/amarula_a64_relic_defconfig
+F:	arch/arm/dts/sun50i-a64-amarula-relic.dts
+
 AMPE A76 BOARD
 M:	Paul Kocialkowski <contact@paulk.fr>
 S:	Maintained
diff --git a/configs/amarula_a64_relic_defconfig b/configs/amarula_a64_relic_defconfig
new file mode 100644
index 0000000000..6eab0d2ae5
--- /dev/null
+++ b/configs/amarula_a64_relic_defconfig
@@ -0,0 +1,18 @@ 
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SPL=y
+CONFIG_MACH_SUN50I=y
+CONFIG_DRAM_ODT_EN=y
+CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-amarula-relic"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+# CONFIG_VIDEO_DE2 is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_USB_MUSB_GADGET=y
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y