* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
@ 2018-10-28 21:18 Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 1/5] mmc: sunxi: add support for automatic delay calibration Vasily Khoruzhick
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-10-28 21:18 UTC (permalink / raw)
To: u-boot
This series adds support for the Pinebook, an allwinner A64 laptop
produced by Pine64. It also syncs sun50i-a64.dtsi with linux,
adds support for mmc delay calibration, R_I2C controller,
and addresses the issue with activating video bridge when any of
GPIOs is missing.
v2: - sync sun50i-a64.dtsi with linux instead of adding missing nodes
- take sun50i-a64-pinebook.dts from linux
- don't introduce new Kconfig for A64 MMC calibration
- improve code in video bridge uclass to check for presensce of
GPIO instead of ingoring EINVAL errors
v3: - enable calibration for H6 as well
- init ret variable in video_bridge_set_active()
- fix order of dts files Makefile
- split anx6345 binding into sun50i-a64-pinebook-u-boot.dts
- drop speaker_amp node from pinebook dts
- drop unnecessary options from defconfig
v4: - sync device tree files with linux-next
Vasily Khoruzhick (5):
mmc: sunxi: add support for automatic delay calibration
dm: video: bridge: don't fail to activate bridge if reset or sleep
GPIO is missing
sunxi: DT: A64: update device tree files for Allwinner A64 SoC
sun50i: A64: add support for R_I2C controller
sunxi: DT: add support for Pinebook
arch/arm/dts/Makefile | 1 +
arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
arch/arm/dts/sun50i-a64-pinebook.dts | 294 +++++++++++++++++
arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
arch/arm/dts/sun50i-a64.dtsi | 313 +++++++++++++++++--
arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
arch/arm/include/asm/arch-sunxi/mmc.h | 6 +-
arch/arm/mach-sunxi/Kconfig | 1 +
board/sunxi/board.c | 6 +
configs/pinebook_defconfig | 22 ++
drivers/mmc/sunxi_mmc.c | 21 +-
drivers/video/bridge/video-bridge-uclass.c | 16 +-
19 files changed, 1296 insertions(+), 52 deletions(-)
create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
create mode 100644 configs/pinebook_defconfig
--
2.19.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 1/5] mmc: sunxi: add support for automatic delay calibration
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
@ 2018-10-28 21:18 ` Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 2/5] dm: video: bridge: don't fail to activate bridge if reset or sleep GPIO is missing Vasily Khoruzhick
` (4 subsequent siblings)
5 siblings, 0 replies; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-10-28 21:18 UTC (permalink / raw)
To: u-boot
A64 and H6 support automatic delay calibration and Linux driver uses it
instead of hardcoded delays. Add support for it to u-boot driver.
Fixes eMMC instability on Pinebook
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cc: Vagrant Cascadian <vagrant@debian.org>
---
arch/arm/include/asm/arch-sunxi/mmc.h | 6 +++++-
drivers/mmc/sunxi_mmc.c | 21 ++++++++++++++++++++-
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/arch-sunxi/mmc.h b/arch/arm/include/asm/arch-sunxi/mmc.h
index d98c53faaa..f2deafddd2 100644
--- a/arch/arm/include/asm/arch-sunxi/mmc.h
+++ b/arch/arm/include/asm/arch-sunxi/mmc.h
@@ -46,7 +46,9 @@ struct sunxi_mmc {
u32 cbda; /* 0x94 */
u32 res2[26];
#if defined(CONFIG_SUNXI_GEN_SUN6I) || defined(CONFIG_MACH_SUN50I_H6)
- u32 res3[64];
+ u32 res3[17];
+ u32 samp_dl;
+ u32 res4[46];
#endif
u32 fifo; /* 0x100 / 0x200 FIFO access address */
};
@@ -130,5 +132,7 @@ struct sunxi_mmc {
#define SUNXI_MMC_COMMON_CLK_GATE (1 << 16)
#define SUNXI_MMC_COMMON_RESET (1 << 18)
+#define SUNXI_MMC_CAL_DL_SW_EN (0x1 << 7)
+
struct mmc *sunxi_mmc_init(int sdc_no);
#endif /* _SUNXI_MMC_H */
diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
index 39f15eb423..147eb9b4d5 100644
--- a/drivers/mmc/sunxi_mmc.c
+++ b/drivers/mmc/sunxi_mmc.c
@@ -99,11 +99,16 @@ static int mmc_set_mod_clk(struct sunxi_mmc_priv *priv, unsigned int hz)
{
unsigned int pll, pll_hz, div, n, oclk_dly, sclk_dly;
bool new_mode = false;
+ bool calibrate = false;
u32 val = 0;
if (IS_ENABLED(CONFIG_MMC_SUNXI_HAS_NEW_MODE) && (priv->mmc_no == 2))
new_mode = true;
+#if defined(CONFIG_MACH_SUN50I) || defined(CONFIG_MACH_SUN50I_H6)
+ calibrate = true;
+#endif
+
/*
* The MMC clock has an extra /2 post-divider when operating in the new
* mode.
@@ -174,7 +179,11 @@ static int mmc_set_mod_clk(struct sunxi_mmc_priv *priv, unsigned int hz)
val = CCM_MMC_CTRL_MODE_SEL_NEW;
setbits_le32(&priv->reg->ntsr, SUNXI_MMC_NTSR_MODE_SEL_NEW);
#endif
- } else {
+ } else if (!calibrate) {
+ /*
+ * Use hardcoded delay values if controller doesn't support
+ * calibration
+ */
val = CCM_MMC_CTRL_OCLK_DLY(oclk_dly) |
CCM_MMC_CTRL_SCLK_DLY(sclk_dly);
}
@@ -228,6 +237,16 @@ static int mmc_config_clock(struct sunxi_mmc_priv *priv, struct mmc *mmc)
rval &= ~SUNXI_MMC_CLK_DIVIDER_MASK;
writel(rval, &priv->reg->clkcr);
+#if defined(CONFIG_MACH_SUN50I) || defined(CONFIG_MACH_SUN50I_H6)
+ /* A64 supports calibration of delays on MMC controller and we
+ * have to set delay of zero before starting calibration.
+ * Allwinner BSP driver sets a delay only in the case of
+ * using HS400 which is not supported by mainline U-Boot or
+ * Linux at the moment
+ */
+ writel(SUNXI_MMC_CAL_DL_SW_EN, &priv->reg->samp_dl);
+#endif
+
/* Re-enable Clock */
rval |= SUNXI_MMC_CLK_ENABLE;
writel(rval, &priv->reg->clkcr);
--
2.19.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 2/5] dm: video: bridge: don't fail to activate bridge if reset or sleep GPIO is missing
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 1/5] mmc: sunxi: add support for automatic delay calibration Vasily Khoruzhick
@ 2018-10-28 21:18 ` Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 3/5] sunxi: DT: A64: update device tree files for Allwinner A64 SoC Vasily Khoruzhick
` (3 subsequent siblings)
5 siblings, 0 replies; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-10-28 21:18 UTC (permalink / raw)
To: u-boot
Both GPIOs are optional, so we shouldn't fail if any is missing.
Without this fix reset is not deasserted if sleep GPIO is missing.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cc: Vagrant Cascadian <vagrant@debian.org>
---
drivers/video/bridge/video-bridge-uclass.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/drivers/video/bridge/video-bridge-uclass.c b/drivers/video/bridge/video-bridge-uclass.c
index cd4959cc71..5fecb4cfd5 100644
--- a/drivers/video/bridge/video-bridge-uclass.c
+++ b/drivers/video/bridge/video-bridge-uclass.c
@@ -106,13 +106,19 @@ static int video_bridge_pre_probe(struct udevice *dev)
int video_bridge_set_active(struct udevice *dev, bool active)
{
struct video_bridge_priv *uc_priv = dev_get_uclass_priv(dev);
- int ret;
+ int ret = 0;
debug("%s: %d\n", __func__, active);
- ret = dm_gpio_set_value(&uc_priv->sleep, !active);
- if (ret)
- return ret;
- if (active) {
+ if (uc_priv->sleep.dev) {
+ ret = dm_gpio_set_value(&uc_priv->sleep, !active);
+ if (ret)
+ return ret;
+ }
+
+ if (!active)
+ return 0;
+
+ if (uc_priv->reset.dev) {
ret = dm_gpio_set_value(&uc_priv->reset, true);
if (ret)
return ret;
--
2.19.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 3/5] sunxi: DT: A64: update device tree files for Allwinner A64 SoC
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 1/5] mmc: sunxi: add support for automatic delay calibration Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 2/5] dm: video: bridge: don't fail to activate bridge if reset or sleep GPIO is missing Vasily Khoruzhick
@ 2018-10-28 21:18 ` Vasily Khoruzhick
2018-10-28 21:19 ` [U-Boot] [PATCH v4 4/5] sun50i: A64: add support for R_I2C controller Vasily Khoruzhick
` (2 subsequent siblings)
5 siblings, 0 replies; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-10-28 21:18 UTC (permalink / raw)
To: u-boot
Updates the device tree files from the linux-next tree,
exactly Linux commit:
commit 8c60c36d0b8c (tag: next-20181019)
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri Oct 19 18:13:43 2018 +1100
Add linux-next specific files for 20181019
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Cc: Vagrant Cascadian <vagrant@debian.org>
---
arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
arch/arm/dts/sun50i-a64.dtsi | 313 +++++++++++++++++--
9 files changed, 920 insertions(+), 45 deletions(-)
diff --git a/arch/arm/dts/sun50i-a64-amarula-relic.dts b/arch/arm/dts/sun50i-a64-amarula-relic.dts
index f3b4e93ece..6cb2b7f0c8 100644
--- a/arch/arm/dts/sun50i-a64-amarula-relic.dts
+++ b/arch/arm/dts/sun50i-a64-amarula-relic.dts
@@ -22,11 +22,11 @@
stdout-path = "serial0:115200n8";
};
- reg_vcc3v3: vcc3v3 {
- compatible = "regulator-fixed";
- regulator-name = "vcc3v3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
+ wifi_pwrseq: wifi-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rtc 1>;
+ clock-names = "ext_clock";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* WL-PMU-EN: PL2 */
};
};
@@ -34,10 +34,34 @@
status = "okay";
};
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <®_dcdc1>;
+ /*
+ * Schematic shows both dldo4 and eldo1 connected for vcc-io-wifi, but
+ * dldo4 connection shows DNP(Do Not Populate) and eldo1 connected with
+ * 0Ohm register to vcc-io-wifi so eldo1 is used.
+ */
+ vqmmc-supply = <®_eldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcmf: wifi at 1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&r_pio>;
+ interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* WL-WAKE-AP: PL3 */
+ interrupt-names = "host-wake";
+ };
+};
+
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins>;
- vmmc-supply = <®_vcc3v3>;
+ vmmc-supply = <®_dcdc1>;
bus-width = <8>;
non-removable;
cap-mmc-hw-reset;
@@ -48,9 +72,138 @@
status = "okay";
};
+&r_rsb {
+ status = "okay";
+
+ axp803: pmic at 3a3 {
+ compatible = "x-powers,axp803";
+ reg = <0x3a3>;
+ interrupt-parent = <&r_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
+ };
+};
+
+#include "axp803.dtsi"
+
+®_aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-name = "avdd-csi";
+};
+
+®_aldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pl";
+};
+
+®_aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "vcc-pll-avcc";
+};
+
+®_dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3";
+};
+
+®_dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1040000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-name = "vdd-cpux";
+};
+
+/* DCDC3 is polyphased with DCDC2 */
+
+®_dcdc5 {
+ regulator-always-on;
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vcc-dram";
+};
+
+®_dcdc6 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-sys";
+};
+
+®_dldo1 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-hdmi-dsi-sensor";
+};
+
+®_dldo2 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-mipi";
+};
+
+®_dldo3 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-name = "dovdd-csi";
+};
+
+®_dldo4 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-wifi-io";
+};
+
+®_drivevbus {
+ regulator-name = "usb0-vbus";
+ status = "okay";
+};
+
+®_eldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "cpvdd";
+};
+
+®_eldo3 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "dvdd-csi";
+};
+
+®_fldo1 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "vcc-1v2-hsic";
+};
+
+/*
+ * The A64 chip cannot work without this regulator off, although
+ * it seems to be only driving the AR100 core.
+ * Maybe we don't still know well about CPUs domain.
+ */
+®_fldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-cpus";
+};
+
+®_rtc_ldo {
+ regulator-name = "vcc-rtc";
+};
+
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
@@ -61,5 +214,6 @@
&usbphy {
usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
+ usb0_vbus-supply = <®_drivevbus>;
status = "okay";
};
diff --git a/arch/arm/dts/sun50i-a64-bananapi-m64.dts b/arch/arm/dts/sun50i-a64-bananapi-m64.dts
index 0716b14411..ef1c90401b 100644
--- a/arch/arm/dts/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm/dts/sun50i-a64-bananapi-m64.dts
@@ -60,6 +60,17 @@
stdout-path = "serial0:115200n8";
};
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
leds {
compatible = "gpio-leds";
@@ -86,6 +97,10 @@
};
};
+&de {
+ status = "okay";
+};
+
&ehci0 {
status = "okay";
};
@@ -103,6 +118,17 @@
status = "okay";
};
+&hdmi {
+ hvcc-supply = <®_dldo1>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
@@ -151,7 +177,7 @@
&mmc2 {
pinctrl-names = "default";
- pinctrl-0 = <&mmc2_pins>;
+ pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
vmmc-supply = <®_dcdc1>;
bus-width = <8>;
non-removable;
@@ -296,9 +322,13 @@
regulator-name = "vcc-rtc";
};
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
diff --git a/arch/arm/dts/sun50i-a64-nanopi-a64.dts b/arch/arm/dts/sun50i-a64-nanopi-a64.dts
index e2dce48fa2..31884dbc88 100644
--- a/arch/arm/dts/sun50i-a64-nanopi-a64.dts
+++ b/arch/arm/dts/sun50i-a64-nanopi-a64.dts
@@ -51,12 +51,44 @@
compatible = "friendlyarm,nanopi-a64", "allwinner,sun50i-a64";
aliases {
+ ethernet0 = &emac;
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
+
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ blue {
+ label = "nanopi-a64:blue:status";
+ gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
+ };
+ };
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rtc 1>;
+ clock-names = "ext_clock";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+ };
+};
+
+&de {
+ status = "okay";
};
&ehci0 {
@@ -67,6 +99,26 @@
status = "okay";
};
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <®_dcdc1>;
+ status = "okay";
+};
+
+&hdmi {
+ hvcc-supply = <®_dldo1>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
/* i2c1 connected with gpio headers like pine64, bananapi */
&i2c1 {
pinctrl-names = "default";
@@ -78,6 +130,13 @@
bias-pull-up;
};
+&mdio {
+ ext_rgmii_phy: ethernet-phy at 1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <7>;
+ };
+};
+
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
@@ -88,6 +147,24 @@
status = "okay";
};
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <®_dcdc1>;
+ vqmmc-supply = <®_dldo4>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ rtl8189etv: wifi at 1 {
+ reg = <1>;
+ interrupt-parent = <&r_pio>;
+ interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
+ interrupt-names = "host-wake";
+ };
+};
+
&ohci0 {
status = "okay";
};
@@ -125,9 +202,9 @@
®_dcdc1 {
regulator-always-on;
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- regulator-name = "vcc-3v";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3";
};
®_dcdc2 {
@@ -195,9 +272,13 @@
regulator-name = "vcc-rtc";
};
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
diff --git a/arch/arm/dts/sun50i-a64-olinuxino.dts b/arch/arm/dts/sun50i-a64-olinuxino.dts
index 3b3081b10e..f7a4bccaa5 100644
--- a/arch/arm/dts/sun50i-a64-olinuxino.dts
+++ b/arch/arm/dts/sun50i-a64-olinuxino.dts
@@ -51,6 +51,7 @@
compatible = "olimex,a64-olinuxino", "allwinner,sun50i-a64";
aliases {
+ ethernet0 = &emac;
serial0 = &uart0;
};
@@ -58,12 +59,74 @@
stdout-path = "serial0:115200n8";
};
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
+ reg_usb1_vbus: usb1-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb1-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ enable-active-high;
+ gpio = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
+ status = "okay";
+ };
+
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
};
};
+&de {
+ status = "okay";
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <®_dcdc1>;
+ allwinner,tx-delay-ps = <600>;
+ status = "okay";
+};
+
+&hdmi {
+ hvcc-supply = <®_dldo1>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
+&mdio {
+ ext_rgmii_phy: ethernet-phy at 1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
@@ -92,6 +155,14 @@
};
};
+&ohci0 {
+ status = "okay";
+};
+
+&ohci1 {
+ status = "okay";
+};
+
&r_rsb {
status = "okay";
@@ -100,6 +171,7 @@
reg = <0x3a3>;
interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
};
};
@@ -142,10 +214,14 @@
/* DCDC3 is polyphased with DCDC2 */
+/*
+ * The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
+ * 1.35V that the PMIC can drive.
+ */
®_dcdc5 {
regulator-always-on;
- regulator-min-microvolt = <1500000>;
- regulator-max-microvolt = <1500000>;
+ regulator-min-microvolt = <1360000>;
+ regulator-max-microvolt = <1360000>;
regulator-name = "vcc-ddr3";
};
@@ -180,6 +256,11 @@
regulator-name = "vcc-wifi-io";
};
+®_drivevbus {
+ regulator-name = "usb0-vbus";
+ status = "okay";
+};
+
®_eldo1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
@@ -214,8 +295,24 @@
regulator-name = "vcc-rtc";
};
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
+&usbphy {
status = "okay";
+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
+ usb0_vbus-supply = <®_drivevbus>;
+ usb1_vbus-supply = <®_usb1_vbus>;
};
diff --git a/arch/arm/dts/sun50i-a64-orangepi-win.dts b/arch/arm/dts/sun50i-a64-orangepi-win.dts
index bf42690a33..b0c64f7579 100644
--- a/arch/arm/dts/sun50i-a64-orangepi-win.dts
+++ b/arch/arm/dts/sun50i-a64-orangepi-win.dts
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
+ * Copyright (C) 2017-2018 Samuel Holland <samuel@sholland.org>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
@@ -51,23 +52,127 @@
compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64";
aliases {
+ ethernet0 = &emac;
serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ serial3 = &uart3;
+ serial4 = &uart4;
};
chosen {
stdout-path = "serial0:115200n8";
};
+
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ status {
+ label = "orangepi:green:status";
+ gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
+ };
+ };
+
+ reg_gmac_3v3: gmac-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "gmac-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ enable-active-high;
+ gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
+ status = "okay";
+ };
+
+ reg_usb1_vbus: usb1-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb1-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ enable-active-high;
+ gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; /* PD7 */
+ status = "okay";
+ };
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
+ };
+};
+
+&de {
+ status = "okay";
+};
+
+&ehci0 {
+ status = "okay";
};
&ehci1 {
status = "okay";
};
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <®_gmac_3v3>;
+ status = "okay";
+};
+
+&hdmi {
+ hvcc-supply = <®_dldo1>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
+&mdio {
+ ext_rgmii_phy: ethernet-phy at 1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <®_dcdc1>;
- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ disable-wp;
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <®_dldo2>;
+ vqmmc-supply = <®_dldo4>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+};
+
+&ohci0 {
status = "okay";
};
@@ -89,9 +194,8 @@
#include "axp803.dtsi"
®_aldo1 {
- regulator-always-on;
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
regulator-name = "afvcc-csi";
};
@@ -163,12 +267,23 @@
regulator-name = "vcc-wifi-io";
};
+®_drivevbus {
+ regulator-name = "usb0-vbus";
+ status = "okay";
+};
+
®_eldo1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "cpvdd";
};
+®_eldo3 {
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "dvdd-csi";
+};
+
®_fldo1 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
@@ -191,13 +306,65 @@
regulator-name = "vcc-rtc";
};
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
+&spi0 {
+ status = "okay";
+
+ spi-flash at 0 {
+ compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <80000000>;
+ m25p,fast-read;
+ status = "okay";
+ };
+};
+
+/* On debug connector */
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
-&usbphy {
+/* Bluetooth */
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+ status = "okay";
+};
+
+/* On Pi-2 connector, RTS/CTS optional */
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2_pins>;
+ status = "disabled";
+};
+
+/* On Pi-2 connector, RTS/CTS optional */
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart3_pins>;
+ status = "disabled";
+};
+
+/* On Pi-2 connector (labeled for SPI1), RTS/CTS optional */
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4_pins>;
+ status = "disabled";
+};
+
+&usb_otg {
+ dr_mode = "otg";
status = "okay";
};
+&usbphy {
+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
+ usb0_vbus-supply = <®_drivevbus>;
+ usb1_vbus-supply = <®_usb1_vbus>;
+ status = "okay";
+};
diff --git a/arch/arm/dts/sun50i-a64-pine64.dts b/arch/arm/dts/sun50i-a64-pine64.dts
index a75825798a..c077b6c1f4 100644
--- a/arch/arm/dts/sun50i-a64-pine64.dts
+++ b/arch/arm/dts/sun50i-a64-pine64.dts
@@ -62,6 +62,21 @@
chosen {
stdout-path = "serial0:115200n8";
};
+
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+};
+
+&de {
+ status = "okay";
};
&ehci0 {
@@ -82,6 +97,17 @@
};
+&hdmi {
+ hvcc-supply = <®_dldo1>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
@@ -229,6 +255,10 @@
regulator-name = "vcc-rtc";
};
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
/* On Euler connector */
&spdif {
status = "disabled";
@@ -237,7 +267,7 @@
/* On Exp and Euler connectors */
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
diff --git a/arch/arm/dts/sun50i-a64-sopine-baseboard.dts b/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
index abe179de35..53fcc9098d 100644
--- a/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
@@ -61,6 +61,17 @@
stdout-path = "serial0:115200n8";
};
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
reg_vcc1v8: vcc1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc1v8";
@@ -69,6 +80,10 @@
};
};
+&de {
+ status = "okay";
+};
+
&ehci0 {
status = "okay";
};
@@ -86,6 +101,17 @@
status = "okay";
};
+&hdmi {
+ hvcc-supply = <®_dldo1>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
&mdio {
ext_rgmii_phy: ethernet-phy at 1 {
compatible = "ethernet-phy-ieee802.3-c22";
@@ -134,9 +160,13 @@
regulator-name = "vcc-wifi";
};
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
&uart0 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
+ pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
diff --git a/arch/arm/dts/sun50i-a64-sopine.dtsi b/arch/arm/dts/sun50i-a64-sopine.dtsi
index 43418bd881..6723b8695e 100644
--- a/arch/arm/dts/sun50i-a64-sopine.dtsi
+++ b/arch/arm/dts/sun50i-a64-sopine.dtsi
@@ -45,6 +45,8 @@
#include "sun50i-a64.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
@@ -52,6 +54,7 @@
non-removable;
disable-wp;
bus-width = <4>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";
};
@@ -66,6 +69,18 @@
};
};
+&spi0 {
+ status = "okay";
+
+ flash at 0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <40000000>;
+ };
+};
+
#include "axp803.dtsi"
®_aldo2 {
diff --git a/arch/arm/dts/sun50i-a64.dtsi b/arch/arm/dts/sun50i-a64.dtsi
index 7a083637c4..f3a66f8882 100644
--- a/arch/arm/dts/sun50i-a64.dtsi
+++ b/arch/arm/dts/sun50i-a64.dtsi
@@ -43,9 +43,12 @@
*/
#include <dt-bindings/clock/sun50i-a64-ccu.h>
+#include <dt-bindings/clock/sun8i-de2.h>
#include <dt-bindings/clock/sun8i-r-ccu.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/sun50i-a64-ccu.h>
+#include <dt-bindings/reset/sun8i-de2.h>
+#include <dt-bindings/reset/sun8i-r-ccu.h>
/ {
interrupt-parent = <&gic>;
@@ -57,17 +60,21 @@
#size-cells = <1>;
ranges;
-/*
- * The pipeline mixer0-lcd0 depends on clock CLK_MIXER0 from DE2 CCU.
- * However there is no support for this clock on A64 yet, so we depend
- * on the upstream clocks here to keep them (and thus CLK_MIXER0) up.
- */
simplefb_lcd: framebuffer-lcd {
compatible = "allwinner,simple-framebuffer",
"simple-framebuffer";
allwinner,pipeline = "mixer0-lcd0";
clocks = <&ccu CLK_TCON0>,
- <&ccu CLK_DE>, <&ccu CLK_BUS_DE>;
+ <&display_clocks CLK_MIXER0>;
+ status = "disabled";
+ };
+
+ simplefb_hdmi: framebuffer-hdmi {
+ compatible = "allwinner,simple-framebuffer",
+ "simple-framebuffer";
+ allwinner,pipeline = "mixer1-lcd1-hdmi";
+ clocks = <&display_clocks CLK_MIXER1>,
+ <&ccu CLK_TCON1>, <&ccu CLK_HDMI>;
status = "disabled";
};
};
@@ -81,6 +88,7 @@
device_type = "cpu";
reg = <0>;
enable-method = "psci";
+ next-level-cache = <&L2>;
};
cpu1: cpu at 1 {
@@ -88,6 +96,7 @@
device_type = "cpu";
reg = <1>;
enable-method = "psci";
+ next-level-cache = <&L2>;
};
cpu2: cpu at 2 {
@@ -95,6 +104,7 @@
device_type = "cpu";
reg = <2>;
enable-method = "psci";
+ next-level-cache = <&L2>;
};
cpu3: cpu at 3 {
@@ -102,7 +112,20 @@
device_type = "cpu";
reg = <3>;
enable-method = "psci";
+ next-level-cache = <&L2>;
};
+
+ L2: l2-cache {
+ compatible = "cache";
+ cache-level = <2>;
+ };
+ };
+
+ de: display-engine {
+ compatible = "allwinner,sun50i-a64-display-engine";
+ allwinner,pipelines = <&mixer0>,
+ <&mixer1>;
+ status = "disabled";
};
osc24M: osc24M_clk {
@@ -168,10 +191,92 @@
#size-cells = <1>;
ranges;
+ de2 at 1000000 {
+ compatible = "allwinner,sun50i-a64-de2";
+ reg = <0x1000000 0x400000>;
+ allwinner,sram = <&de2_sram 1>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x1000000 0x400000>;
+
+ display_clocks: clock at 0 {
+ compatible = "allwinner,sun50i-a64-de2-clk";
+ reg = <0x0 0x100000>;
+ clocks = <&ccu CLK_DE>,
+ <&ccu CLK_BUS_DE>;
+ clock-names = "mod",
+ "bus";
+ resets = <&ccu RST_BUS_DE>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ mixer0: mixer at 100000 {
+ compatible = "allwinner,sun50i-a64-de2-mixer-0";
+ reg = <0x100000 0x100000>;
+ clocks = <&display_clocks CLK_BUS_MIXER0>,
+ <&display_clocks CLK_MIXER0>;
+ clock-names = "bus",
+ "mod";
+ resets = <&display_clocks RST_MIXER0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mixer0_out: port at 1 {
+ reg = <1>;
+
+ mixer0_out_tcon0: endpoint {
+ remote-endpoint = <&tcon0_in_mixer0>;
+ };
+ };
+ };
+ };
+
+ mixer1: mixer at 200000 {
+ compatible = "allwinner,sun50i-a64-de2-mixer-1";
+ reg = <0x200000 0x100000>;
+ clocks = <&display_clocks CLK_BUS_MIXER1>,
+ <&display_clocks CLK_MIXER1>;
+ clock-names = "bus",
+ "mod";
+ resets = <&display_clocks RST_MIXER1>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mixer1_out: port at 1 {
+ reg = <1>;
+
+ mixer1_out_tcon1: endpoint {
+ remote-endpoint = <&tcon1_in_mixer1>;
+ };
+ };
+ };
+ };
+ };
+
syscon: syscon at 1c00000 {
- compatible = "allwinner,sun50i-a64-system-controller",
- "syscon";
+ compatible = "allwinner,sun50i-a64-system-control";
reg = <0x01c00000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ sram_c: sram at 18000 {
+ compatible = "mmio-sram";
+ reg = <0x00018000 0x28000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x00018000 0x28000>;
+
+ de2_sram: sram-section at 0 {
+ compatible = "allwinner,sun50i-a64-sram-c";
+ reg = <0x0000 0x28000>;
+ };
+ };
};
dma: dma-controller at 1c02000 {
@@ -185,6 +290,75 @@
#dma-cells = <1>;
};
+ tcon0: lcd-controller at 1c0c000 {
+ compatible = "allwinner,sun50i-a64-tcon-lcd",
+ "allwinner,sun8i-a83t-tcon-lcd";
+ reg = <0x01c0c000 0x1000>;
+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
+ clock-names = "ahb", "tcon-ch0";
+ clock-output-names = "tcon-pixel-clock";
+ resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
+ reset-names = "lcd", "lvds";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ tcon0_in: port at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ tcon0_in_mixer0: endpoint at 0 {
+ reg = <0>;
+ remote-endpoint = <&mixer0_out_tcon0>;
+ };
+ };
+
+ tcon0_out: port at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ };
+ };
+ };
+
+ tcon1: lcd-controller at 1c0d000 {
+ compatible = "allwinner,sun50i-a64-tcon-tv",
+ "allwinner,sun8i-a83t-tcon-tv";
+ reg = <0x01c0d000 0x1000>;
+ interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
+ clock-names = "ahb", "tcon-ch1";
+ resets = <&ccu RST_BUS_TCON1>;
+ reset-names = "lcd";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ tcon1_in: port at 0 {
+ reg = <0>;
+
+ tcon1_in_mixer1: endpoint {
+ remote-endpoint = <&mixer1_out_tcon1>;
+ };
+ };
+
+ tcon1_out: port at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ tcon1_out_hdmi: endpoint at 1 {
+ reg = <1>;
+ remote-endpoint = <&hdmi_in_tcon1>;
+ };
+ };
+ };
+ };
+
mmc0: mmc at 1c0f000 {
compatible = "allwinner,sun50i-a64-mmc";
reg = <0x01c0f000 0x1000>;
@@ -227,6 +401,11 @@
#size-cells = <0>;
};
+ sid: eeprom at 1c14000 {
+ compatible = "allwinner,sun50i-a64-sid";
+ reg = <0x1c14000 0x400>;
+ };
+
usb_otg: usb at 1c19000 {
compatible = "allwinner,sun8i-a33-musb";
reg = <0x01c19000 0x0400>;
@@ -356,7 +535,7 @@
};
mmc2_pins: mmc2-pins {
- pins = "PC1", "PC5", "PC6", "PC8", "PC9",
+ pins = "PC5", "PC6", "PC8", "PC9",
"PC10","PC11", "PC12", "PC13",
"PC14", "PC15", "PC16";
function = "mmc2";
@@ -364,6 +543,18 @@
bias-pull-up;
};
+ mmc2_ds_pin: mmc2-ds-pin {
+ pins = "PC1";
+ function = "mmc2";
+ drive-strength = <30>;
+ bias-pull-up;
+ };
+
+ pwm_pin: pwm_pin {
+ pins = "PD22";
+ function = "pwm";
+ };
+
rmii_pins: rmii_pins {
pins = "PD10", "PD11", "PD13", "PD14", "PD17",
"PD18", "PD19", "PD20", "PD22", "PD23";
@@ -394,7 +585,7 @@
function = "spi1";
};
- uart0_pins_a: uart0 {
+ uart0_pb_pins: uart0-pb-pins {
pins = "PB8", "PB9";
function = "uart0";
};
@@ -474,15 +665,6 @@
status = "disabled";
};
- pwm: pwm at 1c21400 {
- compatible = "allwinner,sun50i-a64-pwm",
- "allwinner,sun5i-a13-pwm";
- reg = <0x01c21400 0x8>;
- clocks = <&osc24M>;
- #pwm-cells = <3>;
- status = "disabled";
- };
-
uart0: serial at 1c28000 {
compatible = "snps,dw-apb-uart";
reg = <0x01c28000 0x400>;
@@ -617,8 +799,6 @@
clocks = <&ccu CLK_BUS_EMAC>;
clock-names = "stmmaceth";
status = "disabled";
- #address-cells = <1>;
- #size-cells = <0>;
mdio: mdio {
compatible = "snps,dwmac-mdio";
@@ -638,11 +818,69 @@
#interrupt-cells = <3>;
};
+ pwm: pwm at 1c21400 {
+ compatible = "allwinner,sun50i-a64-pwm",
+ "allwinner,sun5i-a13-pwm";
+ reg = <0x01c21400 0x400>;
+ clocks = <&osc24M>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm_pin>;
+ #pwm-cells = <3>;
+ status = "disabled";
+ };
+
+ hdmi: hdmi at 1ee0000 {
+ compatible = "allwinner,sun50i-a64-dw-hdmi",
+ "allwinner,sun8i-a83t-dw-hdmi";
+ reg = <0x01ee0000 0x10000>;
+ reg-io-width = <1>;
+ interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
+ <&ccu CLK_HDMI>;
+ clock-names = "iahb", "isfr", "tmds";
+ resets = <&ccu RST_BUS_HDMI1>;
+ reset-names = "ctrl";
+ phys = <&hdmi_phy>;
+ phy-names = "hdmi-phy";
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hdmi_in: port at 0 {
+ reg = <0>;
+
+ hdmi_in_tcon1: endpoint {
+ remote-endpoint = <&tcon1_out_hdmi>;
+ };
+ };
+
+ hdmi_out: port at 1 {
+ reg = <1>;
+ };
+ };
+ };
+
+ hdmi_phy: hdmi-phy at 1ef0000 {
+ compatible = "allwinner,sun50i-a64-hdmi-phy";
+ reg = <0x01ef0000 0x10000>;
+ clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
+ <&ccu 7>;
+ clock-names = "bus", "mod", "pll-0";
+ resets = <&ccu RST_BUS_HDMI0>;
+ reset-names = "phy";
+ #phy-cells = <0>;
+ };
+
rtc: rtc at 1f00000 {
compatible = "allwinner,sun6i-a31-rtc";
reg = <0x01f00000 0x54>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+ clock-output-names = "rtc-osc32k", "rtc-osc32k-out";
+ clocks = <&osc32k>;
+ #clock-cells = <1>;
};
r_intc: interrupt-controller at 1f00c00 {
@@ -664,6 +902,29 @@
#reset-cells = <1>;
};
+ r_i2c: i2c at 1f02400 {
+ compatible = "allwinner,sun50i-a64-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x01f02400 0x400>;
+ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_APB0_I2C>;
+ resets = <&r_ccu RST_APB0_I2C>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ r_pwm: pwm at 1f03800 {
+ compatible = "allwinner,sun50i-a64-pwm",
+ "allwinner,sun5i-a13-pwm";
+ reg = <0x01f03800 0x400>;
+ clocks = <&osc24M>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_pwm_pin>;
+ #pwm-cells = <3>;
+ status = "disabled";
+ };
+
r_pio: pinctrl at 1f02c00 {
compatible = "allwinner,sun50i-a64-r-pinctrl";
reg = <0x01f02c00 0x400>;
@@ -675,6 +936,16 @@
interrupt-controller;
#interrupt-cells = <3>;
+ r_i2c_pl89_pins: r-i2c-pl89-pins {
+ pins = "PL8", "PL9";
+ function = "s_i2c";
+ };
+
+ r_pwm_pin: pwm {
+ pins = "PL10";
+ function = "s_pwm";
+ };
+
r_rsb_pins: rsb {
pins = "PL0", "PL1";
function = "s_rsb";
--
2.19.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 4/5] sun50i: A64: add support for R_I2C controller
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
` (2 preceding siblings ...)
2018-10-28 21:18 ` [U-Boot] [PATCH v4 3/5] sunxi: DT: A64: update device tree files for Allwinner A64 SoC Vasily Khoruzhick
@ 2018-10-28 21:19 ` Vasily Khoruzhick
2018-10-28 21:19 ` [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook Vasily Khoruzhick
2018-10-30 21:36 ` [U-Boot] [PATCH v4 0/5] Add " Vagrant Cascadian
5 siblings, 0 replies; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-10-28 21:19 UTC (permalink / raw)
To: u-boot
Allwinner A64 has a I2C controller, which is in the R_ MMIO zone and has
two groups of pinmuxes on PL bank, so it's called R_I2C.
Add support for this I2C controller and the pinmux which doesn't conflict
with RSB.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Vagrant Cascadian <vagrant@debian.org>
---
arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
arch/arm/mach-sunxi/Kconfig | 1 +
board/sunxi/board.c | 6 ++++++
3 files changed, 8 insertions(+)
diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
index 6a5eafc3d3..2daf23f6f5 100644
--- a/arch/arm/include/asm/arch-sunxi/gpio.h
+++ b/arch/arm/include/asm/arch-sunxi/gpio.h
@@ -211,6 +211,7 @@ enum sunxi_gpio_number {
#define SUN8I_H3_GPL_R_TWI 2
#define SUN8I_A23_GPL_R_TWI 3
#define SUN8I_GPL_R_UART 2
+#define SUN50I_GPL_R_TWI 2
#define SUN9I_GPN_R_RSB 3
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index 686f38fec4..7ba429c744 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -272,6 +272,7 @@ config MACH_SUN50I
select ARM64
select DM_I2C
select PHY_SUN4I_USB
+ select SUN6I_PRCM
select SUNXI_DE2
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index d1d7f9f400..90f8bc0a6e 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -168,10 +168,16 @@ void i2c_init_board(void)
#endif
#ifdef CONFIG_R_I2C_ENABLE
+#ifdef CONFIG_MACH_SUN50I
+ clock_twi_onoff(5, 1);
+ sunxi_gpio_set_cfgpin(SUNXI_GPL(8), SUN50I_GPL_R_TWI);
+ sunxi_gpio_set_cfgpin(SUNXI_GPL(9), SUN50I_GPL_R_TWI);
+#else
clock_twi_onoff(5, 1);
sunxi_gpio_set_cfgpin(SUNXI_GPL(0), SUN8I_H3_GPL_R_TWI);
sunxi_gpio_set_cfgpin(SUNXI_GPL(1), SUN8I_H3_GPL_R_TWI);
#endif
+#endif
}
#if defined(CONFIG_ENV_IS_IN_MMC) && defined(CONFIG_ENV_IS_IN_FAT)
--
2.19.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
` (3 preceding siblings ...)
2018-10-28 21:19 ` [U-Boot] [PATCH v4 4/5] sun50i: A64: add support for R_I2C controller Vasily Khoruzhick
@ 2018-10-28 21:19 ` Vasily Khoruzhick
2018-10-29 15:29 ` Loic Devulder
2018-10-30 21:36 ` [U-Boot] [PATCH v4 0/5] Add " Vagrant Cascadian
5 siblings, 1 reply; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-10-28 21:19 UTC (permalink / raw)
To: u-boot
Pinebook is a laptop produced by Pine64, with USB-connected keyboard,
USB-connected touchpad and an eDP LCD panel connected via a RGB-eDP
bridge from Analogix.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Vagrant Cascadian <vagrant@debian.org>
---
arch/arm/dts/Makefile | 1 +
arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
arch/arm/dts/sun50i-a64-pinebook.dts | 294 +++++++++++++++++++
configs/pinebook_defconfig | 22 ++
4 files changed, 332 insertions(+)
create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
create mode 100644 configs/pinebook_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 0de6234eec..94ec15a8ac 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -405,6 +405,7 @@ dtb-$(CONFIG_MACH_SUN50I) += \
sun50i-a64-orangepi-win.dtb \
sun50i-a64-pine64-plus.dtb \
sun50i-a64-pine64.dtb \
+ sun50i-a64-pinebook.dtb \
sun50i-a64-sopine-baseboard.dtb
dtb-$(CONFIG_MACH_SUN9I) += \
sun9i-a80-optimus.dtb \
diff --git a/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
new file mode 100644
index 0000000000..a99b7171d0
--- /dev/null
+++ b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
+ *
+ */
+
+/* The ANX6345 eDP-bridge is on r_i2c */
+&r_i2c {
+ anx6345: edp-bridge at 38 {
+ compatible = "analogix,anx6345";
+ reg = <0x38>;
+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
+ status = "okay";
+ };
+};
diff --git a/arch/arm/dts/sun50i-a64-pinebook.dts b/arch/arm/dts/sun50i-a64-pinebook.dts
new file mode 100644
index 0000000000..ec537c5297
--- /dev/null
+++ b/arch/arm/dts/sun50i-a64-pinebook.dts
@@ -0,0 +1,294 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
+ * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
+ *
+ */
+
+/dts-v1/;
+
+#include "sun50i-a64.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+ model = "Pinebook";
+ compatible = "pine64,pinebook", "allwinner,sun50i-a64";
+
+ aliases {
+ serial0 = &uart0;
+ ethernet0 = &rtl8723cs;
+ };
+
+ vdd_bl: regulator at 0 {
+ compatible = "regulator-fixed";
+ regulator-name = "bl-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
+ enable-active-high;
+ };
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm 0 50000 0>;
+ brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
+ default-brightness-level = <2>;
+ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
+ power-supply = <&vdd_bl>;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+
+ framebuffer-lcd {
+ panel-supply = <®_dc1sw>;
+ dvdd25-supply = <®_dldo2>;
+ dvdd12-supply = <®_fldo1>;
+ };
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ lid_switch {
+ label = "Lid Switch";
+ gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ linux,can-disable;
+ wakeup-source;
+ };
+ };
+
+ reg_vcc3v3: vcc3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+ };
+};
+
+&ehci0 {
+ phys = <&usbphy 0>;
+ phy-names = "usb";
+ status = "okay";
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
+ vmmc-supply = <®_dcdc1>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
+ disable-wp;
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <®_dldo4>;
+ vqmmc-supply = <®_eldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ rtl8723cs: wifi at 1 {
+ reg = <1>;
+ };
+};
+
+&mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
+ vmmc-supply = <®_dcdc1>;
+ vqmmc-supply = <®_eldo1>;
+ bus-width = <8>;
+ non-removable;
+ cap-mmc-hw-reset;
+ mmc-hs200-1_8v;
+ status = "okay";
+};
+
+&ohci0 {
+ phys = <&usbphy 0>;
+ phy-names = "usb";
+ status = "okay";
+};
+
+&ohci1 {
+ status = "okay";
+};
+
+&pwm {
+ status = "okay";
+};
+
+&r_rsb {
+ status = "okay";
+
+ axp803: pmic at 3a3 {
+ compatible = "x-powers,axp803";
+ reg = <0x3a3>;
+ interrupt-parent = <&r_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ };
+};
+
+/* The ANX6345 eDP-bridge is on r_i2c */
+&r_i2c {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_i2c_pl89_pins>;
+ status = "okay";
+};
+
+#include "axp803.dtsi"
+
+®_aldo1 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-name = "vcc-csi";
+};
+
+®_aldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pl";
+};
+
+®_aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <2700000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pll-avcc";
+};
+
+®_dc1sw {
+ regulator-name = "vcc-lcd";
+};
+
+®_dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3";
+};
+
+®_dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-name = "vdd-cpux";
+};
+
+/* DCDC3 is polyphased with DCDC2 */
+
+®_dcdc5 {
+ regulator-always-on;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "vcc-dram";
+};
+
+®_dcdc6 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-sys";
+};
+
+®_dldo1 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-hdmi";
+};
+
+®_dldo2 {
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-name = "vcc-edp";
+};
+
+®_dldo3 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "avdd-csi";
+};
+
+®_dldo4 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-wifi";
+};
+
+®_eldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "cpvdd";
+};
+
+®_eldo3 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vdd-1v8-csi";
+};
+
+®_fldo1 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "vcc-1v2-hsic";
+};
+
+®_fldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-cpus";
+};
+
+®_ldo_io0 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-usb";
+ status = "okay";
+};
+
+®_rtc_ldo {
+ regulator-name = "vcc-rtc";
+};
+
+&simplefb_hdmi {
+ vcc-hdmi-supply = <®_dldo1>;
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pb_pins>;
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "host";
+};
+
+&usbphy {
+ usb0_vbus-supply = <®_ldo_io0>;
+ usb1_vbus-supply = <®_ldo_io0>;
+ status = "okay";
+};
diff --git a/configs/pinebook_defconfig b/configs/pinebook_defconfig
new file mode 100644
index 0000000000..5294dbd2eb
--- /dev/null
+++ b/configs/pinebook_defconfig
@@ -0,0 +1,22 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SPL=y
+CONFIG_MACH_SUN50I=y
+CONFIG_SUNXI_DRAM_LPDDR3_STOCK=y
+CONFIG_DRAM_CLK=552
+CONFIG_DRAM_ZQ=3881949
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_R_I2C_ENABLE=y
+# CONFIG_CMD_FLASH is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pinebook"
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_PWM=y
+CONFIG_PWM_SUNXI=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
+# CONFIG_USB_GADGET is not set
+CONFIG_VIDEO_BRIDGE=y
+CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y
--
2.19.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook
2018-10-28 21:19 ` [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook Vasily Khoruzhick
@ 2018-10-29 15:29 ` Loic Devulder
2018-10-29 16:59 ` Andre Przywara
0 siblings, 1 reply; 15+ messages in thread
From: Loic Devulder @ 2018-10-29 15:29 UTC (permalink / raw)
To: u-boot
Hi!
On 10/28/18 10:19 PM, Vasily Khoruzhick wrote:
> Pinebook is a laptop produced by Pine64, with USB-connected keyboard,
> USB-connected touchpad and an eDP LCD panel connected via a RGB-eDP
> bridge from Analogix.
>
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
> Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
> Cc: Vagrant Cascadian <vagrant@debian.org>
> ---
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
> arch/arm/dts/sun50i-a64-pinebook.dts | 294 +++++++++++++++++++
> configs/pinebook_defconfig | 22 ++
> 4 files changed, 332 insertions(+)
> create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
> create mode 100644 configs/pinebook_defconfig
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 0de6234eec..94ec15a8ac 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -405,6 +405,7 @@ dtb-$(CONFIG_MACH_SUN50I) += \
> sun50i-a64-orangepi-win.dtb \
> sun50i-a64-pine64-plus.dtb \
> sun50i-a64-pine64.dtb \
> + sun50i-a64-pinebook.dtb \
> sun50i-a64-sopine-baseboard.dtb
> dtb-$(CONFIG_MACH_SUN9I) += \
> sun9i-a80-optimus.dtb \
> diff --git a/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> new file mode 100644
> index 0000000000..a99b7171d0
> --- /dev/null
> +++ b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
> + *
> + */
> +
> +/* The ANX6345 eDP-bridge is on r_i2c */
> +&r_i2c {
> + anx6345: edp-bridge at 38 {
> + compatible = "analogix,anx6345";
> + reg = <0x38>;
> + reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
> + status = "okay";
> + };
> +};
Maybe I missed something but I don't see when this dtsi file is used or
included.
> diff --git a/arch/arm/dts/sun50i-a64-pinebook.dts b/arch/arm/dts/sun50i-a64-pinebook.dts
> new file mode 100644
> index 0000000000..ec537c5297
> --- /dev/null
> +++ b/arch/arm/dts/sun50i-a64-pinebook.dts
> @@ -0,0 +1,294 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
> + * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
> + *
> + */
> +
> +/dts-v1/;
> +
> +#include "sun50i-a64.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/pwm/pwm.h>
> +
> +/ {
> + model = "Pinebook";
> + compatible = "pine64,pinebook", "allwinner,sun50i-a64";
> +
> + aliases {
> + serial0 = &uart0;
> + ethernet0 = &rtl8723cs;
> + };
> +
> + vdd_bl: regulator at 0 {
> + compatible = "regulator-fixed";
> + regulator-name = "bl-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
> + enable-active-high;
> + };
> +
> + backlight: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm 0 50000 0>;
> + brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
> + default-brightness-level = <2>;
> + enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
> + power-supply = <&vdd_bl>;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> +
> + framebuffer-lcd {
> + panel-supply = <®_dc1sw>;
> + dvdd25-supply = <®_dldo2>;
> + dvdd12-supply = <®_fldo1>;
> + };
> + };
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + lid_switch {
> + label = "Lid Switch";
> + gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
> + linux,input-type = <EV_SW>;
> + linux,code = <SW_LID>;
> + linux,can-disable;
> + wakeup-source;
> + };
> + };
> +
> + reg_vcc3v3: vcc3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + wifi_pwrseq: wifi_pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
> + };
> +};
> +
> +&ehci0 {
> + phys = <&usbphy 0>;
> + phy-names = "usb";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&mmc0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_pins>;
> + vmmc-supply = <®_dcdc1>;
> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
> + disable-wp;
> + bus-width = <4>;
> + status = "okay";
> +};
> +
> +&mmc1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc1_pins>;
> + vmmc-supply = <®_dldo4>;
> + vqmmc-supply = <®_eldo1>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + rtl8723cs: wifi at 1 {
> + reg = <1>;
> + };
> +};
> +
> +&mmc2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
> + vmmc-supply = <®_dcdc1>;
> + vqmmc-supply = <®_eldo1>;
> + bus-width = <8>;
> + non-removable;
> + cap-mmc-hw-reset;
> + mmc-hs200-1_8v;
> + status = "okay";
> +};
> +
> +&ohci0 {
> + phys = <&usbphy 0>;
> + phy-names = "usb";
> + status = "okay";
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&pwm {
> + status = "okay";
> +};
> +
> +&r_rsb {
> + status = "okay";
> +
> + axp803: pmic at 3a3 {
> + compatible = "x-powers,axp803";
> + reg = <0x3a3>;
> + interrupt-parent = <&r_intc>;
> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> + };
> +};
> +
> +/* The ANX6345 eDP-bridge is on r_i2c */
> +&r_i2c {
> + clock-frequency = <100000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&r_i2c_pl89_pins>;
> + status = "okay";
> +};
> +
> +#include "axp803.dtsi"
> +
> +®_aldo1 {
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-name = "vcc-csi";
> +};
> +
> +®_aldo2 {
> + regulator-always-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-pl";
> +};
> +
> +®_aldo3 {
> + regulator-always-on;
> + regulator-min-microvolt = <2700000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-pll-avcc";
> +};
> +
> +®_dc1sw {
> + regulator-name = "vcc-lcd";
> +};
> +
> +®_dcdc1 {
> + regulator-always-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-3v3";
> +};
> +
> +®_dcdc2 {
> + regulator-always-on;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-name = "vdd-cpux";
> +};
> +
> +/* DCDC3 is polyphased with DCDC2 */
> +
> +®_dcdc5 {
> + regulator-always-on;
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-name = "vcc-dram";
> +};
> +
> +®_dcdc6 {
> + regulator-always-on;
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-name = "vdd-sys";
> +};
> +
> +®_dldo1 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-hdmi";
> +};
> +
> +®_dldo2 {
> + regulator-min-microvolt = <2500000>;
> + regulator-max-microvolt = <2500000>;
> + regulator-name = "vcc-edp";
> +};
> +
> +®_dldo3 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "avdd-csi";
> +};
> +
> +®_dldo4 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-wifi";
> +};
> +
> +®_eldo1 {
> + regulator-always-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-name = "cpvdd";
> +};
> +
> +®_eldo3 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-name = "vdd-1v8-csi";
> +};
> +
> +®_fldo1 {
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-name = "vcc-1v2-hsic";
> +};
> +
> +®_fldo2 {
> + regulator-always-on;
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-name = "vdd-cpus";
> +};
> +
> +®_ldo_io0 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-usb";
> + status = "okay";
> +};
> +
> +®_rtc_ldo {
> + regulator-name = "vcc-rtc";
> +};
> +
> +&simplefb_hdmi {
> + vcc-hdmi-supply = <®_dldo1>;
> +};
> +
> +&uart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_pb_pins>;
> + status = "okay";
> +};
> +
> +&usb_otg {
> + dr_mode = "host";
> +};
> +
> +&usbphy {
> + usb0_vbus-supply = <®_ldo_io0>;
> + usb1_vbus-supply = <®_ldo_io0>;
> + status = "okay";
> +};
> diff --git a/configs/pinebook_defconfig b/configs/pinebook_defconfig
> new file mode 100644
> index 0000000000..5294dbd2eb
> --- /dev/null
> +++ b/configs/pinebook_defconfig
> @@ -0,0 +1,22 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_SUNXI=y
> +CONFIG_SPL=y
> +CONFIG_MACH_SUN50I=y
> +CONFIG_SUNXI_DRAM_LPDDR3_STOCK=y
> +CONFIG_DRAM_CLK=552
> +CONFIG_DRAM_ZQ=3881949
> +CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> +CONFIG_R_I2C_ENABLE=y
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_SPL_DOS_PARTITION is not set
> +# CONFIG_SPL_EFI_PARTITION is not set
> +CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pinebook"
> +CONFIG_DM_REGULATOR=y
> +CONFIG_DM_REGULATOR_FIXED=y
> +CONFIG_DM_PWM=y
> +CONFIG_PWM_SUNXI=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
> +# CONFIG_USB_GADGET is not set
> +CONFIG_VIDEO_BRIDGE=y
> +CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y
>
--
Loic Devulder <ldevulder@suse.com> | ldevulder at irc
0x175A963893C85F55 | D220 DEF5 56A3 DE00 9DAA 78BA 175A 9638 93C8 5F55
Senior QA Engineer | Container & Storage Solutions Quality Assurance
team (qa-css)
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB,
21284 (AG Nuernberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181029/3e93d0af/attachment.sig>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook
2018-10-29 15:29 ` Loic Devulder
@ 2018-10-29 16:59 ` Andre Przywara
0 siblings, 0 replies; 15+ messages in thread
From: Andre Przywara @ 2018-10-29 16:59 UTC (permalink / raw)
To: u-boot
On Mon, 29 Oct 2018 16:29:43 +0100
Loic Devulder <ldevulder@suse.de> wrote:
> Hi!
>
> On 10/28/18 10:19 PM, Vasily Khoruzhick wrote:
> > Pinebook is a laptop produced by Pine64, with USB-connected
> > keyboard, USB-connected touchpad and an eDP LCD panel connected via
> > a RGB-eDP bridge from Analogix.
> >
> > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> > Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
> > Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
> > Cc: Vagrant Cascadian <vagrant@debian.org>
> > ---
> > arch/arm/dts/Makefile | 1 +
> > arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
> > arch/arm/dts/sun50i-a64-pinebook.dts | 294
> > +++++++++++++++++++ configs/pinebook_defconfig |
> > 22 ++ 4 files changed, 332 insertions(+)
> > create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> > create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
> > create mode 100644 configs/pinebook_defconfig
> >
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index 0de6234eec..94ec15a8ac 100644
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -405,6 +405,7 @@ dtb-$(CONFIG_MACH_SUN50I) += \
> > sun50i-a64-orangepi-win.dtb \
> > sun50i-a64-pine64-plus.dtb \
> > sun50i-a64-pine64.dtb \
> > + sun50i-a64-pinebook.dtb \
> > sun50i-a64-sopine-baseboard.dtb
> > dtb-$(CONFIG_MACH_SUN9I) += \
> > sun9i-a80-optimus.dtb \
> > diff --git a/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> > b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi new file mode 100644
> > index 0000000000..a99b7171d0
> > --- /dev/null
> > +++ b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> > @@ -0,0 +1,15 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
> > + *
> > + */
> > +
> > +/* The ANX6345 eDP-bridge is on r_i2c */
> > +&r_i2c {
> > + anx6345: edp-bridge at 38 {
> > + compatible = "analogix,anx6345";
> > + reg = <0x38>;
> > + reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24
> > */
> > + status = "okay";
> > + };
> > +};
>
> Maybe I missed something but I don't see when this dtsi file is used
> or included.
Yeah, that's some non-obvious U-Boot build magic:
Whenever there is a file which has "-u-boot.dtsi" appended to
certain .dts filename stubs, U-Boot includes this file when building
the .dtb. This is supposed to be used to add U-Boot specific DT nodes
or properties to some otherwise unchanged (read: Linux mainline) DTs.
Check scripts/Makefile.lib and search for u-boot.dtsi for the source.
Cheers,
Andre.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
` (4 preceding siblings ...)
2018-10-28 21:19 ` [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook Vasily Khoruzhick
@ 2018-10-30 21:36 ` Vagrant Cascadian
2018-11-03 18:55 ` Dennis Gilmore
5 siblings, 1 reply; 15+ messages in thread
From: Vagrant Cascadian @ 2018-10-30 21:36 UTC (permalink / raw)
To: u-boot
Tested series applied to u-boot 2018.11-rc3 on pinebook, both with
reboot and cold boot.
Thanks for all the work on it!
Tested-by: Vagrant Cascadian <vagrant@debian.org>
On 2018-10-28, Vasily Khoruzhick wrote:
> This series adds support for the Pinebook, an allwinner A64 laptop
> produced by Pine64. It also syncs sun50i-a64.dtsi with linux,
> adds support for mmc delay calibration, R_I2C controller,
> and addresses the issue with activating video bridge when any of
> GPIOs is missing.
>
> v2: - sync sun50i-a64.dtsi with linux instead of adding missing nodes
> - take sun50i-a64-pinebook.dts from linux
> - don't introduce new Kconfig for A64 MMC calibration
> - improve code in video bridge uclass to check for presensce of
> GPIO instead of ingoring EINVAL errors
> v3: - enable calibration for H6 as well
> - init ret variable in video_bridge_set_active()
> - fix order of dts files Makefile
> - split anx6345 binding into sun50i-a64-pinebook-u-boot.dts
> - drop speaker_amp node from pinebook dts
> - drop unnecessary options from defconfig
> v4: - sync device tree files with linux-next
>
> Vasily Khoruzhick (5):
> mmc: sunxi: add support for automatic delay calibration
> dm: video: bridge: don't fail to activate bridge if reset or sleep
> GPIO is missing
> sunxi: DT: A64: update device tree files for Allwinner A64 SoC
> sun50i: A64: add support for R_I2C controller
> sunxi: DT: add support for Pinebook
>
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
> arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
> arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
> arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
> arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
> arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
> arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
> arch/arm/dts/sun50i-a64-pinebook.dts | 294 +++++++++++++++++
> arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
> arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
> arch/arm/dts/sun50i-a64.dtsi | 313 +++++++++++++++++--
> arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
> arch/arm/include/asm/arch-sunxi/mmc.h | 6 +-
> arch/arm/mach-sunxi/Kconfig | 1 +
> board/sunxi/board.c | 6 +
> configs/pinebook_defconfig | 22 ++
> drivers/mmc/sunxi_mmc.c | 21 +-
> drivers/video/bridge/video-bridge-uclass.c | 16 +-
> 19 files changed, 1296 insertions(+), 52 deletions(-)
> create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
> create mode 100644 configs/pinebook_defconfig
>
> --
> 2.19.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181030/4b27f0c9/attachment.sig>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-10-30 21:36 ` [U-Boot] [PATCH v4 0/5] Add " Vagrant Cascadian
@ 2018-11-03 18:55 ` Dennis Gilmore
2018-11-03 20:18 ` Vasily Khoruzhick
0 siblings, 1 reply; 15+ messages in thread
From: Dennis Gilmore @ 2018-11-03 18:55 UTC (permalink / raw)
To: u-boot
I have tested the series on my pinebook on top of git commit
99431c1c21685fe63d46b6eac995b78ce9adce0a
I am not sure if video is expected to work or not, in my case it does
not work.
U-Boot SPL 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
DRAM: 2048 MiB
Trying to boot from MMC1
NOTICE: BL31: v1.6(release):
NOTICE: BL31: Built : 09:10:17, Sep 23 2018
NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE: BL31: STUB PMIC setup code called
U-Boot 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
Allwinner Technology
CPU: Allwinner A64 (SUN50I)
Model: Pinebook
DRAM: 2 GiB
MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default
environment
Warning: HDMI PHY init timeout!
Warning: HDMI PHY init timeout!
In: serial
Out: serial
Err: serial
u-boot however works fine and the system is able to boot and the
correct dtb is loaded.
Tested-by: Dennis Gilmore <dennis@ausil.us>
El mar, 30-10-2018 a las 14:36 -0700, Vagrant Cascadian escribió:
> Tested series applied to u-boot 2018.11-rc3 on pinebook, both with
> reboot and cold boot.
>
> Thanks for all the work on it!
>
> Tested-by: Vagrant Cascadian <vagrant@debian.org>
>
> On 2018-10-28, Vasily Khoruzhick wrote:
> > This series adds support for the Pinebook, an allwinner A64 laptop
> > produced by Pine64. It also syncs sun50i-a64.dtsi with linux,
> > adds support for mmc delay calibration, R_I2C controller,
> > and addresses the issue with activating video bridge when any of
> > GPIOs is missing.
> >
> > v2: - sync sun50i-a64.dtsi with linux instead of adding missing
> > nodes
> > - take sun50i-a64-pinebook.dts from linux
> > - don't introduce new Kconfig for A64 MMC calibration
> > - improve code in video bridge uclass to check for presensce of
> > GPIO instead of ingoring EINVAL errors
> > v3: - enable calibration for H6 as well
> > - init ret variable in video_bridge_set_active()
> > - fix order of dts files Makefile
> > - split anx6345 binding into sun50i-a64-pinebook-u-boot.dts
> > - drop speaker_amp node from pinebook dts
> > - drop unnecessary options from defconfig
> > v4: - sync device tree files with linux-next
> >
> > Vasily Khoruzhick (5):
> > mmc: sunxi: add support for automatic delay calibration
> > dm: video: bridge: don't fail to activate bridge if reset or
> > sleep
> > GPIO is missing
> > sunxi: DT: A64: update device tree files for Allwinner A64 SoC
> > sun50i: A64: add support for R_I2C controller
> > sunxi: DT: add support for Pinebook
> >
> > arch/arm/dts/Makefile | 1 +
> > arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
> > arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
> > arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
> > arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
> > arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
> > arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
> > arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
> > arch/arm/dts/sun50i-a64-pinebook.dts | 294
> > +++++++++++++++++
> > arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
> > arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
> > arch/arm/dts/sun50i-a64.dtsi | 313
> > +++++++++++++++++--
> > arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
> > arch/arm/include/asm/arch-sunxi/mmc.h | 6 +-
> > arch/arm/mach-sunxi/Kconfig | 1 +
> > board/sunxi/board.c | 6 +
> > configs/pinebook_defconfig | 22 ++
> > drivers/mmc/sunxi_mmc.c | 21 +-
> > drivers/video/bridge/video-bridge-uclass.c | 16 +-
> > 19 files changed, 1296 insertions(+), 52 deletions(-)
> > create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> > create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
> > create mode 100644 configs/pinebook_defconfig
> >
> > --
> > 2.19.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-11-03 18:55 ` Dennis Gilmore
@ 2018-11-03 20:18 ` Vasily Khoruzhick
2018-11-03 20:19 ` Vasily Khoruzhick
0 siblings, 1 reply; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-11-03 20:18 UTC (permalink / raw)
To: u-boot
Video is supposed to work, but you need ATF from Andre to enable LCD power:
https://github.com/apritzel/arm-trusted-firmware/
On Sat, Nov 3, 2018 at 11:53 AM Dennis Gilmore <dennis@ausil.us> wrote:
>
> I have tested the series on my pinebook on top of git commit
> 99431c1c21685fe63d46b6eac995b78ce9adce0a
>
> I am not sure if video is expected to work or not, in my case it does
> not work.
>
> U-Boot SPL 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
> DRAM: 2048 MiB
> Trying to boot from MMC1
> NOTICE: BL31: v1.6(release):
> NOTICE: BL31: Built : 09:10:17, Sep 23 2018
> NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689)
> NOTICE: BL31: STUB PMIC setup code called
>
>
> U-Boot 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
> Allwinner Technology
>
> CPU: Allwinner A64 (SUN50I)
> Model: Pinebook
> DRAM: 2 GiB
> MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
> Loading Environment from FAT... *** Warning - bad CRC, using default
> environment
>
> Warning: HDMI PHY init timeout!
> Warning: HDMI PHY init timeout!
> In: serial
> Out: serial
> Err: serial
>
> u-boot however works fine and the system is able to boot and the
> correct dtb is loaded.
>
> Tested-by: Dennis Gilmore <dennis@ausil.us>
>
> El mar, 30-10-2018 a las 14:36 -0700, Vagrant Cascadian escribió:
> > Tested series applied to u-boot 2018.11-rc3 on pinebook, both with
> > reboot and cold boot.
> >
> > Thanks for all the work on it!
> >
> > Tested-by: Vagrant Cascadian <vagrant@debian.org>
> >
> > On 2018-10-28, Vasily Khoruzhick wrote:
> > > This series adds support for the Pinebook, an allwinner A64 laptop
> > > produced by Pine64. It also syncs sun50i-a64.dtsi with linux,
> > > adds support for mmc delay calibration, R_I2C controller,
> > > and addresses the issue with activating video bridge when any of
> > > GPIOs is missing.
> > >
> > > v2: - sync sun50i-a64.dtsi with linux instead of adding missing
> > > nodes
> > > - take sun50i-a64-pinebook.dts from linux
> > > - don't introduce new Kconfig for A64 MMC calibration
> > > - improve code in video bridge uclass to check for presensce of
> > > GPIO instead of ingoring EINVAL errors
> > > v3: - enable calibration for H6 as well
> > > - init ret variable in video_bridge_set_active()
> > > - fix order of dts files Makefile
> > > - split anx6345 binding into sun50i-a64-pinebook-u-boot.dts
> > > - drop speaker_amp node from pinebook dts
> > > - drop unnecessary options from defconfig
> > > v4: - sync device tree files with linux-next
> > >
> > > Vasily Khoruzhick (5):
> > > mmc: sunxi: add support for automatic delay calibration
> > > dm: video: bridge: don't fail to activate bridge if reset or
> > > sleep
> > > GPIO is missing
> > > sunxi: DT: A64: update device tree files for Allwinner A64 SoC
> > > sun50i: A64: add support for R_I2C controller
> > > sunxi: DT: add support for Pinebook
> > >
> > > arch/arm/dts/Makefile | 1 +
> > > arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
> > > arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
> > > arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
> > > arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
> > > arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
> > > arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
> > > arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
> > > arch/arm/dts/sun50i-a64-pinebook.dts | 294
> > > +++++++++++++++++
> > > arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
> > > arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
> > > arch/arm/dts/sun50i-a64.dtsi | 313
> > > +++++++++++++++++--
> > > arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
> > > arch/arm/include/asm/arch-sunxi/mmc.h | 6 +-
> > > arch/arm/mach-sunxi/Kconfig | 1 +
> > > board/sunxi/board.c | 6 +
> > > configs/pinebook_defconfig | 22 ++
> > > drivers/mmc/sunxi_mmc.c | 21 +-
> > > drivers/video/bridge/video-bridge-uclass.c | 16 +-
> > > 19 files changed, 1296 insertions(+), 52 deletions(-)
> > > create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> > > create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
> > > create mode 100644 configs/pinebook_defconfig
> > >
> > > --
> > > 2.19.1
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-11-03 20:18 ` Vasily Khoruzhick
@ 2018-11-03 20:19 ` Vasily Khoruzhick
2018-11-03 21:15 ` André Przywara
0 siblings, 1 reply; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-11-03 20:19 UTC (permalink / raw)
To: u-boot
On Sat, Nov 3, 2018 at 1:18 PM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
>
> Video is supposed to work, but you need ATF from Andre to enable LCD power:
>
> https://github.com/apritzel/arm-trusted-firmware/
You need "allwinner" branch from this repo.
> On Sat, Nov 3, 2018 at 11:53 AM Dennis Gilmore <dennis@ausil.us> wrote:
> >
> > I have tested the series on my pinebook on top of git commit
> > 99431c1c21685fe63d46b6eac995b78ce9adce0a
> >
> > I am not sure if video is expected to work or not, in my case it does
> > not work.
> >
> > U-Boot SPL 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
> > DRAM: 2048 MiB
> > Trying to boot from MMC1
> > NOTICE: BL31: v1.6(release):
> > NOTICE: BL31: Built : 09:10:17, Sep 23 2018
> > NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689)
> > NOTICE: BL31: STUB PMIC setup code called
> >
> >
> > U-Boot 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
> > Allwinner Technology
> >
> > CPU: Allwinner A64 (SUN50I)
> > Model: Pinebook
> > DRAM: 2 GiB
> > MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
> > Loading Environment from FAT... *** Warning - bad CRC, using default
> > environment
> >
> > Warning: HDMI PHY init timeout!
> > Warning: HDMI PHY init timeout!
> > In: serial
> > Out: serial
> > Err: serial
> >
> > u-boot however works fine and the system is able to boot and the
> > correct dtb is loaded.
> >
> > Tested-by: Dennis Gilmore <dennis@ausil.us>
> >
> > El mar, 30-10-2018 a las 14:36 -0700, Vagrant Cascadian escribió:
> > > Tested series applied to u-boot 2018.11-rc3 on pinebook, both with
> > > reboot and cold boot.
> > >
> > > Thanks for all the work on it!
> > >
> > > Tested-by: Vagrant Cascadian <vagrant@debian.org>
> > >
> > > On 2018-10-28, Vasily Khoruzhick wrote:
> > > > This series adds support for the Pinebook, an allwinner A64 laptop
> > > > produced by Pine64. It also syncs sun50i-a64.dtsi with linux,
> > > > adds support for mmc delay calibration, R_I2C controller,
> > > > and addresses the issue with activating video bridge when any of
> > > > GPIOs is missing.
> > > >
> > > > v2: - sync sun50i-a64.dtsi with linux instead of adding missing
> > > > nodes
> > > > - take sun50i-a64-pinebook.dts from linux
> > > > - don't introduce new Kconfig for A64 MMC calibration
> > > > - improve code in video bridge uclass to check for presensce of
> > > > GPIO instead of ingoring EINVAL errors
> > > > v3: - enable calibration for H6 as well
> > > > - init ret variable in video_bridge_set_active()
> > > > - fix order of dts files Makefile
> > > > - split anx6345 binding into sun50i-a64-pinebook-u-boot.dts
> > > > - drop speaker_amp node from pinebook dts
> > > > - drop unnecessary options from defconfig
> > > > v4: - sync device tree files with linux-next
> > > >
> > > > Vasily Khoruzhick (5):
> > > > mmc: sunxi: add support for automatic delay calibration
> > > > dm: video: bridge: don't fail to activate bridge if reset or
> > > > sleep
> > > > GPIO is missing
> > > > sunxi: DT: A64: update device tree files for Allwinner A64 SoC
> > > > sun50i: A64: add support for R_I2C controller
> > > > sunxi: DT: add support for Pinebook
> > > >
> > > > arch/arm/dts/Makefile | 1 +
> > > > arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
> > > > arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
> > > > arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
> > > > arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
> > > > arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
> > > > arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
> > > > arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
> > > > arch/arm/dts/sun50i-a64-pinebook.dts | 294
> > > > +++++++++++++++++
> > > > arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
> > > > arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
> > > > arch/arm/dts/sun50i-a64.dtsi | 313
> > > > +++++++++++++++++--
> > > > arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
> > > > arch/arm/include/asm/arch-sunxi/mmc.h | 6 +-
> > > > arch/arm/mach-sunxi/Kconfig | 1 +
> > > > board/sunxi/board.c | 6 +
> > > > configs/pinebook_defconfig | 22 ++
> > > > drivers/mmc/sunxi_mmc.c | 21 +-
> > > > drivers/video/bridge/video-bridge-uclass.c | 16 +-
> > > > 19 files changed, 1296 insertions(+), 52 deletions(-)
> > > > create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
> > > > create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
> > > > create mode 100644 configs/pinebook_defconfig
> > > >
> > > > --
> > > > 2.19.1
> > >
> > > _______________________________________________
> > > U-Boot mailing list
> > > U-Boot at lists.denx.de
> > > https://lists.denx.de/listinfo/u-boot
> >
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-11-03 20:19 ` Vasily Khoruzhick
@ 2018-11-03 21:15 ` André Przywara
2018-11-04 0:12 ` Vasily Khoruzhick
0 siblings, 1 reply; 15+ messages in thread
From: André Przywara @ 2018-11-03 21:15 UTC (permalink / raw)
To: u-boot
On 11/3/18 8:19 PM, Vasily Khoruzhick wrote:
> On Sat, Nov 3, 2018 at 1:18 PM Vasily Khoruzhick <anarsoul@gmail.com> wrote:
>>
>> Video is supposed to work, but you need ATF from Andre to enable LCD power:
>>
>> https://github.com/apritzel/arm-trusted-firmware/
>
> You need "allwinner" branch from this repo.
I deliberately switched the standard branch away, since everything is
merged in mainline ATF now (including PMIC support). I will post U-Boot
patches to change the instructions soon, but just use the master branch
from the official repo (and report back any issues!):
https://github.com/ARM-Software/arm-trusted-firmware.git
You might need the latest DT in U-Boot (patches are queued, AFAIK) to
let ATF know about your PMIC requirements.
Cheers,
Andre
>> On Sat, Nov 3, 2018 at 11:53 AM Dennis Gilmore <dennis@ausil.us> wrote:
>>>
>>> I have tested the series on my pinebook on top of git commit
>>> 99431c1c21685fe63d46b6eac995b78ce9adce0a
>>>
>>> I am not sure if video is expected to work or not, in my case it does
>>> not work.
>>>
>>> U-Boot SPL 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
>>> DRAM: 2048 MiB
>>> Trying to boot from MMC1
>>> NOTICE: BL31: v1.6(release):
>>> NOTICE: BL31: Built : 09:10:17, Sep 23 2018
>>> NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689)
>>> NOTICE: BL31: STUB PMIC setup code called
>>>
>>>
>>> U-Boot 2018.11-rc3-00027-g77a46c3a3c (Nov 03 2018 - 13:42:47 -0500)
>>> Allwinner Technology
>>>
>>> CPU: Allwinner A64 (SUN50I)
>>> Model: Pinebook
>>> DRAM: 2 GiB
>>> MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
>>> Loading Environment from FAT... *** Warning - bad CRC, using default
>>> environment
>>>
>>> Warning: HDMI PHY init timeout!
>>> Warning: HDMI PHY init timeout!
>>> In: serial
>>> Out: serial
>>> Err: serial
>>>
>>> u-boot however works fine and the system is able to boot and the
>>> correct dtb is loaded.
>>>
>>> Tested-by: Dennis Gilmore <dennis@ausil.us>
>>>
>>> El mar, 30-10-2018 a las 14:36 -0700, Vagrant Cascadian escribió:
>>>> Tested series applied to u-boot 2018.11-rc3 on pinebook, both with
>>>> reboot and cold boot.
>>>>
>>>> Thanks for all the work on it!
>>>>
>>>> Tested-by: Vagrant Cascadian <vagrant@debian.org>
>>>>
>>>> On 2018-10-28, Vasily Khoruzhick wrote:
>>>>> This series adds support for the Pinebook, an allwinner A64 laptop
>>>>> produced by Pine64. It also syncs sun50i-a64.dtsi with linux,
>>>>> adds support for mmc delay calibration, R_I2C controller,
>>>>> and addresses the issue with activating video bridge when any of
>>>>> GPIOs is missing.
>>>>>
>>>>> v2: - sync sun50i-a64.dtsi with linux instead of adding missing
>>>>> nodes
>>>>> - take sun50i-a64-pinebook.dts from linux
>>>>> - don't introduce new Kconfig for A64 MMC calibration
>>>>> - improve code in video bridge uclass to check for presensce of
>>>>> GPIO instead of ingoring EINVAL errors
>>>>> v3: - enable calibration for H6 as well
>>>>> - init ret variable in video_bridge_set_active()
>>>>> - fix order of dts files Makefile
>>>>> - split anx6345 binding into sun50i-a64-pinebook-u-boot.dts
>>>>> - drop speaker_amp node from pinebook dts
>>>>> - drop unnecessary options from defconfig
>>>>> v4: - sync device tree files with linux-next
>>>>>
>>>>> Vasily Khoruzhick (5):
>>>>> mmc: sunxi: add support for automatic delay calibration
>>>>> dm: video: bridge: don't fail to activate bridge if reset or
>>>>> sleep
>>>>> GPIO is missing
>>>>> sunxi: DT: A64: update device tree files for Allwinner A64 SoC
>>>>> sun50i: A64: add support for R_I2C controller
>>>>> sunxi: DT: add support for Pinebook
>>>>>
>>>>> arch/arm/dts/Makefile | 1 +
>>>>> arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++-
>>>>> arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 +-
>>>>> arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++-
>>>>> arch/arm/dts/sun50i-a64-olinuxino.dts | 103 +++++-
>>>>> arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++-
>>>>> arch/arm/dts/sun50i-a64-pine64.dts | 32 +-
>>>>> arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 +
>>>>> arch/arm/dts/sun50i-a64-pinebook.dts | 294
>>>>> +++++++++++++++++
>>>>> arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 +-
>>>>> arch/arm/dts/sun50i-a64-sopine.dtsi | 15 +
>>>>> arch/arm/dts/sun50i-a64.dtsi | 313
>>>>> +++++++++++++++++--
>>>>> arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
>>>>> arch/arm/include/asm/arch-sunxi/mmc.h | 6 +-
>>>>> arch/arm/mach-sunxi/Kconfig | 1 +
>>>>> board/sunxi/board.c | 6 +
>>>>> configs/pinebook_defconfig | 22 ++
>>>>> drivers/mmc/sunxi_mmc.c | 21 +-
>>>>> drivers/video/bridge/video-bridge-uclass.c | 16 +-
>>>>> 19 files changed, 1296 insertions(+), 52 deletions(-)
>>>>> create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
>>>>> create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
>>>>> create mode 100644 configs/pinebook_defconfig
>>>>>
>>>>> --
>>>>> 2.19.1
>>>>
>>>> _______________________________________________
>>>> U-Boot mailing list
>>>> U-Boot at lists.denx.de
>>>> https://lists.denx.de/listinfo/u-boot
>>>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-11-03 21:15 ` André Przywara
@ 2018-11-04 0:12 ` Vasily Khoruzhick
2018-11-05 15:30 ` Dennis Gilmore
0 siblings, 1 reply; 15+ messages in thread
From: Vasily Khoruzhick @ 2018-11-04 0:12 UTC (permalink / raw)
To: u-boot
On Sat, Nov 3, 2018 at 2:15 PM André Przywara <andre.przywara@arm.com> wrote:
>
> On 11/3/18 8:19 PM, Vasily Khoruzhick wrote:
> >
> > You need "allwinner" branch from this repo.
>
> I deliberately switched the standard branch away, since everything is
> merged in mainline ATF now (including PMIC support). I will post U-Boot
> patches to change the instructions soon, but just use the master branch
> from the official repo (and report back any issues!):
> https://github.com/ARM-Software/arm-trusted-firmware.git
>
> You might need the latest DT in U-Boot (patches are queued, AFAIK) to
> let ATF know about your PMIC requirements.
Thanks, I just tested it - and my patches work fine with ATF from official repo.
> Cheers,
> Andre
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v4 0/5] Add support for Pinebook
2018-11-04 0:12 ` Vasily Khoruzhick
@ 2018-11-05 15:30 ` Dennis Gilmore
0 siblings, 0 replies; 15+ messages in thread
From: Dennis Gilmore @ 2018-11-05 15:30 UTC (permalink / raw)
To: u-boot
El sáb, 03-11-2018 a las 17:12 -0700, Vasily Khoruzhick escribió:
> On Sat, Nov 3, 2018 at 2:15 PM André Przywara <andre.przywara@arm.com
> > wrote:
> > On 11/3/18 8:19 PM, Vasily Khoruzhick wrote:
> > > You need "allwinner" branch from this repo.
> >
> > I deliberately switched the standard branch away, since everything
> > is
> > merged in mainline ATF now (including PMIC support). I will post U-
> > Boot
> > patches to change the instructions soon, but just use the master
> > branch
> > from the official repo (and report back any issues!):
> > https://github.com/ARM-Software/arm-trusted-firmware.git
> >
> > You might need the latest DT in U-Boot (patches are queued, AFAIK)
> > to
> > let ATF know about your PMIC requirements.
>
> Thanks, I just tested it - and my patches work fine with ATF from
> official repo.
I have just tested with ATF from the official repo and it all works.
Thanks
Dennis
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-11-05 15:30 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-28 21:18 [U-Boot] [PATCH v4 0/5] Add support for Pinebook Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 1/5] mmc: sunxi: add support for automatic delay calibration Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 2/5] dm: video: bridge: don't fail to activate bridge if reset or sleep GPIO is missing Vasily Khoruzhick
2018-10-28 21:18 ` [U-Boot] [PATCH v4 3/5] sunxi: DT: A64: update device tree files for Allwinner A64 SoC Vasily Khoruzhick
2018-10-28 21:19 ` [U-Boot] [PATCH v4 4/5] sun50i: A64: add support for R_I2C controller Vasily Khoruzhick
2018-10-28 21:19 ` [U-Boot] [PATCH v4 5/5] sunxi: DT: add support for Pinebook Vasily Khoruzhick
2018-10-29 15:29 ` Loic Devulder
2018-10-29 16:59 ` Andre Przywara
2018-10-30 21:36 ` [U-Boot] [PATCH v4 0/5] Add " Vagrant Cascadian
2018-11-03 18:55 ` Dennis Gilmore
2018-11-03 20:18 ` Vasily Khoruzhick
2018-11-03 20:19 ` Vasily Khoruzhick
2018-11-03 21:15 ` André Przywara
2018-11-04 0:12 ` Vasily Khoruzhick
2018-11-05 15:30 ` Dennis Gilmore
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.