* [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3
@ 2019-12-03 8:45 Andre Heider
2019-12-03 8:45 ` [U-Boot] [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function Andre Heider
` (4 more replies)
0 siblings, 5 replies; 15+ messages in thread
From: Andre Heider @ 2019-12-03 8:45 UTC (permalink / raw
To: u-boot
Changes since v2:
* drop "sunxi: board: Use eth_env_set_enetaddr_by_index()" as it breaks
compilation without CONFIG_NET
* add "sunxi: board: extract creating a unique sid into a helper function"
and use it for the the bdaddr so that it work without ethernet devices
* use `if (CONFIG_FIXUP_BDADDR[0])` as suggested by Ondřej to give the
compiler a better chance of discarding the function if the knob isn't
set
Changes since v1:
* add CONFIG_FIXUP_BDADDR so fixing up a bdaddr is reusable
* try to use "bdaddr" first, then fall back to generating an address
Notes:
* the kernel patch for btbcm to accept the "local-bd-address"
property is on master and will be in v5.5-rc1
Andre Heider (4):
sunxi: board: extract creating a unique sid into a helper function
arm: sunxi: add a config option to fixup a Bluetooth address
arm64: dts: sync Allwinner H6 files
arm64: dts: sun50i: Add support for Orange Pi 3
arch/arm/dts/Makefile | 1 +
arch/arm/dts/sun50i-h6-beelink-gs1.dts | 27 +++
arch/arm/dts/sun50i-h6-orangepi-3.dts | 287 +++++++++++++++++++++++++
arch/arm/dts/sun50i-h6-orangepi.dtsi | 4 +
arch/arm/dts/sun50i-h6-pine-h64.dts | 4 +
arch/arm/dts/sun50i-h6.dtsi | 137 ++++++++++--
arch/arm/mach-sunxi/Kconfig | 11 +
board/sunxi/MAINTAINERS | 5 +
board/sunxi/board.c | 139 ++++++++----
configs/orangepi_3_defconfig | 18 ++
10 files changed, 569 insertions(+), 64 deletions(-)
create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3.dts
create mode 100644 configs/orangepi_3_defconfig
--
2.24.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function
2019-12-03 8:45 [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3 Andre Heider
@ 2019-12-03 8:45 ` Andre Heider
2020-01-21 7:36 ` Jagan Teki
2019-12-03 8:45 ` [U-Boot] [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address Andre Heider
` (3 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Andre Heider @ 2019-12-03 8:45 UTC (permalink / raw
To: u-boot
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
board/sunxi/board.c | 105 ++++++++++++++++++++++++--------------------
1 file changed, 58 insertions(+), 47 deletions(-)
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index b9450a0e36..42bec3a4d8 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -768,6 +768,38 @@ static void parse_spl_header(const uint32_t spl_addr)
env_set_hex("fel_scriptaddr", spl->fel_script_address);
}
+static bool get_unique_sid(unsigned int *sid)
+{
+ if (sunxi_get_sid(sid) != 0)
+ return false;
+
+ if (!sid[0])
+ return false;
+
+ /*
+ * The single words 1 - 3 of the SID have quite a few bits
+ * which are the same on many models, so we take a crc32
+ * of all 3 words, to get a more unique value.
+ *
+ * Note we only do this on newer SoCs as we cannot change
+ * the algorithm on older SoCs since those have been using
+ * fixed mac-addresses based on only using word 3 for a
+ * long time and changing a fixed mac-address with an
+ * u-boot update is not good.
+ */
+#if !defined(CONFIG_MACH_SUN4I) && !defined(CONFIG_MACH_SUN5I) && \
+ !defined(CONFIG_MACH_SUN6I) && !defined(CONFIG_MACH_SUN7I) && \
+ !defined(CONFIG_MACH_SUN8I_A23) && !defined(CONFIG_MACH_SUN8I_A33)
+ sid[3] = crc32(0, (unsigned char *)&sid[1], 12);
+#endif
+
+ /* Ensure the NIC specific bytes of the mac are not all 0 */
+ if ((sid[3] & 0xffffff) == 0)
+ sid[3] |= 0x800000;
+
+ return true;
+}
+
/*
* Note this function gets called multiple times.
* It must not make any changes to env variables which already exist.
@@ -778,61 +810,40 @@ static void setup_environment(const void *fdt)
unsigned int sid[4];
uint8_t mac_addr[6];
char ethaddr[16];
- int i, ret;
+ int i;
- ret = sunxi_get_sid(sid);
- if (ret == 0 && sid[0] != 0) {
- /*
- * The single words 1 - 3 of the SID have quite a few bits
- * which are the same on many models, so we take a crc32
- * of all 3 words, to get a more unique value.
- *
- * Note we only do this on newer SoCs as we cannot change
- * the algorithm on older SoCs since those have been using
- * fixed mac-addresses based on only using word 3 for a
- * long time and changing a fixed mac-address with an
- * u-boot update is not good.
- */
-#if !defined(CONFIG_MACH_SUN4I) && !defined(CONFIG_MACH_SUN5I) && \
- !defined(CONFIG_MACH_SUN6I) && !defined(CONFIG_MACH_SUN7I) && \
- !defined(CONFIG_MACH_SUN8I_A23) && !defined(CONFIG_MACH_SUN8I_A33)
- sid[3] = crc32(0, (unsigned char *)&sid[1], 12);
-#endif
-
- /* Ensure the NIC specific bytes of the mac are not all 0 */
- if ((sid[3] & 0xffffff) == 0)
- sid[3] |= 0x800000;
+ if (!get_unique_sid(sid))
+ return;
- for (i = 0; i < 4; i++) {
- sprintf(ethaddr, "ethernet%d", i);
- if (!fdt_get_alias(fdt, ethaddr))
- continue;
+ for (i = 0; i < 4; i++) {
+ sprintf(ethaddr, "ethernet%d", i);
+ if (!fdt_get_alias(fdt, ethaddr))
+ continue;
- if (i == 0)
- strcpy(ethaddr, "ethaddr");
- else
- sprintf(ethaddr, "eth%daddr", i);
+ if (i == 0)
+ strcpy(ethaddr, "ethaddr");
+ else
+ sprintf(ethaddr, "eth%daddr", i);
- if (env_get(ethaddr))
- continue;
+ if (env_get(ethaddr))
+ continue;
- /* Non OUI / registered MAC address */
- mac_addr[0] = (i << 4) | 0x02;
- mac_addr[1] = (sid[0] >> 0) & 0xff;
- mac_addr[2] = (sid[3] >> 24) & 0xff;
- mac_addr[3] = (sid[3] >> 16) & 0xff;
- mac_addr[4] = (sid[3] >> 8) & 0xff;
- mac_addr[5] = (sid[3] >> 0) & 0xff;
+ /* Non OUI / registered MAC address */
+ mac_addr[0] = (i << 4) | 0x02;
+ mac_addr[1] = (sid[0] >> 0) & 0xff;
+ mac_addr[2] = (sid[3] >> 24) & 0xff;
+ mac_addr[3] = (sid[3] >> 16) & 0xff;
+ mac_addr[4] = (sid[3] >> 8) & 0xff;
+ mac_addr[5] = (sid[3] >> 0) & 0xff;
- eth_env_set_enetaddr(ethaddr, mac_addr);
- }
+ eth_env_set_enetaddr(ethaddr, mac_addr);
+ }
- if (!env_get("serial#")) {
- snprintf(serial_string, sizeof(serial_string),
- "%08x%08x", sid[0], sid[3]);
+ if (!env_get("serial#")) {
+ snprintf(serial_string, sizeof(serial_string),
+ "%08x%08x", sid[0], sid[3]);
- env_set("serial#", serial_string);
- }
+ env_set("serial#", serial_string);
}
}
--
2.24.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address
2019-12-03 8:45 [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3 Andre Heider
2019-12-03 8:45 ` [U-Boot] [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function Andre Heider
@ 2019-12-03 8:45 ` Andre Heider
2020-01-21 7:42 ` Jagan Teki
2019-12-03 8:45 ` [U-Boot] [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files Andre Heider
` (2 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Andre Heider @ 2019-12-03 8:45 UTC (permalink / raw
To: u-boot
Some Bluetooth controllers, like the BCM4345C5 of the Orange Pi 3,
ship with the controller default address.
Add a config option to fix it up so it can function properly.
Tested-by: Ondrej Jirman <megous@megous.com>
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
arch/arm/mach-sunxi/Kconfig | 11 +++++++++++
board/sunxi/board.c | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index 16d41b83af..4513c07ffb 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -1009,4 +1009,15 @@ config PINE64_DT_SELECTION
option, the device tree selection code specific to Pine64 which
utilizes the DRAM size will be enabled.
+config FIXUP_BDADDR
+ string "Fixup the Bluetooth controller address"
+ default ""
+ help
+ This option specifies the DT compatible name of the Bluetooth
+ controller for which to set the "local-bd-address" property.
+ Set this option if your device ships with the Bluetooth controller
+ default address.
+ The used address is "bdaddr" if set, and "ethaddr" with the LSB
+ flipped elsewise.
+
endif
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 42bec3a4d8..4311d4cba2 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -876,6 +876,38 @@ int misc_init_r(void)
return 0;
}
+static void fixup_bd_address(void *blob)
+{
+ /* Some devices ship with a Bluetooth controller default address.
+ * Set a valid address through the device tree.
+ */
+ uchar tmp[ETH_ALEN], bdaddr[ETH_ALEN];
+ unsigned int sid[4];
+ int i;
+
+ if (!CONFIG_FIXUP_BDADDR[0])
+ return;
+
+ if (eth_env_get_enetaddr("bdaddr", tmp)) {
+ /* Convert between the binary formats of the corresponding stacks */
+ for (i = 0; i < ETH_ALEN; ++i)
+ bdaddr[i] = tmp[ETH_ALEN - i - 1];
+ } else {
+ if (!get_unique_sid(sid))
+ return;
+
+ bdaddr[0] = ((sid[3] >> 0) & 0xff) ^ 1;
+ bdaddr[1] = (sid[3] >> 8) & 0xff;
+ bdaddr[2] = (sid[3] >> 16) & 0xff;
+ bdaddr[3] = (sid[3] >> 24) & 0xff;
+ bdaddr[4] = (sid[0] >> 0) & 0xff;
+ bdaddr[5] = 0x02;
+ }
+
+ do_fixup_by_compat(blob, CONFIG_FIXUP_BDADDR,
+ "local-bd-address", bdaddr, ETH_ALEN, 1);
+}
+
int ft_board_setup(void *blob, bd_t *bd)
{
int __maybe_unused r;
@@ -886,6 +918,8 @@ int ft_board_setup(void *blob, bd_t *bd)
*/
setup_environment(blob);
+ fixup_bd_address(blob);
+
#ifdef CONFIG_VIDEO_DT_SIMPLEFB
r = sunxi_simplefb_setup(blob);
if (r)
--
2.24.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files
2019-12-03 8:45 [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3 Andre Heider
2019-12-03 8:45 ` [U-Boot] [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function Andre Heider
2019-12-03 8:45 ` [U-Boot] [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address Andre Heider
@ 2019-12-03 8:45 ` Andre Heider
2020-01-21 7:43 ` Jagan Teki
2019-12-03 8:45 ` [U-Boot] [PATCH v3 4/4] arm64: dts: sun50i: Add support for Orange Pi 3 Andre Heider
2019-12-10 15:56 ` [PATCH v3 0/4] arm64: " Andre Heider
4 siblings, 1 reply; 15+ messages in thread
From: Andre Heider @ 2019-12-03 8:45 UTC (permalink / raw
To: u-boot
Taken from the kernel tag v5.4.
Drop the /omit-if-no-ref/ keyword as it's not supported by u-boot.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
arch/arm/dts/sun50i-h6-beelink-gs1.dts | 27 +++++
arch/arm/dts/sun50i-h6-orangepi.dtsi | 4 +
arch/arm/dts/sun50i-h6-pine-h64.dts | 4 +
arch/arm/dts/sun50i-h6.dtsi | 137 ++++++++++++++++++++++---
4 files changed, 155 insertions(+), 17 deletions(-)
diff --git a/arch/arm/dts/sun50i-h6-beelink-gs1.dts b/arch/arm/dts/sun50i-h6-beelink-gs1.dts
index 0dc33c90dd..1d05d57014 100644
--- a/arch/arm/dts/sun50i-h6-beelink-gs1.dts
+++ b/arch/arm/dts/sun50i-h6-beelink-gs1.dts
@@ -25,6 +25,7 @@
connector {
compatible = "hdmi-connector";
type = "a";
+ ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
port {
hdmi_con_in: endpoint {
@@ -51,6 +52,24 @@
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
+
+ sound-spdif {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "sun50i-h6-spdif";
+
+ simple-audio-card,cpu {
+ sound-dai = <&spdif>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&spdif_out>;
+ };
+ };
+
+ spdif_out: spdif-out {
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
+ };
};
&de {
@@ -232,6 +251,10 @@
};
};
+&r_ir {
+ status = "okay";
+};
+
&r_pio {
/*
* PL0 and PL1 are used for PMIC I2C
@@ -243,6 +266,10 @@
vcc-pm-supply = <®_aldo1>;
};
+&spdif {
+ status = "okay";
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ph_pins>;
diff --git a/arch/arm/dts/sun50i-h6-orangepi.dtsi b/arch/arm/dts/sun50i-h6-orangepi.dtsi
index 62e27948a3..ec9b6a578e 100644
--- a/arch/arm/dts/sun50i-h6-orangepi.dtsi
+++ b/arch/arm/dts/sun50i-h6-orangepi.dtsi
@@ -189,6 +189,10 @@
};
};
+&r_ir {
+ status = "okay";
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ph_pins>;
diff --git a/arch/arm/dts/sun50i-h6-pine-h64.dts b/arch/arm/dts/sun50i-h6-pine-h64.dts
index 1898345183..30102daf83 100644
--- a/arch/arm/dts/sun50i-h6-pine-h64.dts
+++ b/arch/arm/dts/sun50i-h6-pine-h64.dts
@@ -255,6 +255,10 @@
};
};
+&r_ir {
+ status = "okay";
+};
+
&r_pio {
vcc-pm-supply = <®_aldo1>;
};
diff --git a/arch/arm/dts/sun50i-h6.dtsi b/arch/arm/dts/sun50i-h6.dtsi
index a117f479ae..bdba221a67 100644
--- a/arch/arm/dts/sun50i-h6.dtsi
+++ b/arch/arm/dts/sun50i-h6.dtsi
@@ -56,14 +56,6 @@
status = "disabled";
};
- iosc: internal-osc-clk {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <16000000>;
- clock-accuracy = <300000000>;
- clock-output-names = "iosc";
- };
-
osc24M: osc24M_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
@@ -71,11 +63,11 @@
clock-output-names = "osc24M";
};
- osc32k: osc32k_clk {
+ ext_osc32k: ext_osc32k_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <32768>;
- clock-output-names = "osc32k";
+ clock-output-names = "ext_osc32k";
};
psci {
@@ -197,7 +189,7 @@
ccu: clock at 3001000 {
compatible = "allwinner,sun50i-h6-ccu";
reg = <0x03001000 0x1000>;
- clocks = <&osc24M>, <&osc32k>, <&iosc>;
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>;
clock-names = "hosc", "losc", "iosc";
#clock-cells = <1>;
#reset-cells = <1>;
@@ -215,7 +207,7 @@
#dma-cells = <1>;
};
- sid: sid at 3006000 {
+ sid: efuse at 3006000 {
compatible = "allwinner,sun50i-h6-sid";
reg = <0x03006000 0x400>;
};
@@ -225,6 +217,7 @@
"allwinner,sun6i-a31-wdt";
reg = <0x030090a0 0x20>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&osc24M>;
/* Broken on some H6 boards */
status = "disabled";
};
@@ -236,7 +229,7 @@
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ccu CLK_APB1>, <&osc24M>, <&osc32k>;
+ clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc";
gpio-controller;
#gpio-cells = <3>;
@@ -256,6 +249,21 @@
function = "hdmi";
};
+ i2c0_pins: i2c0-pins {
+ pins = "PD25", "PD26";
+ function = "i2c0";
+ };
+
+ i2c1_pins: i2c1-pins {
+ pins = "PH5", "PH6";
+ function = "i2c1";
+ };
+
+ i2c2_pins: i2c2-pins {
+ pins = "PD23", "PD24";
+ function = "i2c2";
+ };
+
mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3",
"PF4", "PF5";
@@ -285,6 +293,11 @@
bias-pull-up;
};
+ spdif_tx_pin: spdif-tx-pin {
+ pins = "PH7";
+ function = "spdif";
+ };
+
uart0_ph_pins: uart0-ph-pins {
pins = "PH0", "PH1";
function = "uart0";
@@ -394,6 +407,48 @@
status = "disabled";
};
+ i2c0: i2c at 5002000 {
+ compatible = "allwinner,sun50i-h6-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002000 0x400>;
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C0>;
+ resets = <&ccu RST_BUS_I2C0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_pins>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c1: i2c at 5002400 {
+ compatible = "allwinner,sun50i-h6-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002400 0x400>;
+ interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C1>;
+ resets = <&ccu RST_BUS_I2C1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_pins>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c2: i2c at 5002800 {
+ compatible = "allwinner,sun50i-h6-i2c",
+ "allwinner,sun6i-a31-i2c";
+ reg = <0x05002800 0x400>;
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C2>;
+ resets = <&ccu RST_BUS_I2C2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_pins>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
emac: ethernet at 5020000 {
compatible = "allwinner,sun50i-h6-emac",
"allwinner,sun50i-a64-emac";
@@ -414,6 +469,21 @@
};
};
+ spdif: spdif at 5093000 {
+ #sound-dai-cells = <0>;
+ compatible = "allwinner,sun50i-h6-spdif";
+ reg = <0x05093000 0x400>;
+ interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
+ clock-names = "apb", "spdif";
+ resets = <&ccu RST_BUS_SPDIF>;
+ dmas = <&dma 2>;
+ dma-names = "tx";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spdif_tx_pin>;
+ status = "disabled";
+ };
+
usb2otg: usb at 5100000 {
compatible = "allwinner,sun50i-h6-musb",
"allwinner,sun8i-a33-musb";
@@ -480,6 +550,7 @@
resets = <&ccu RST_BUS_OHCI3>,
<&ccu RST_BUS_EHCI3>;
phys = <&usb2phy 3>;
+ phy-names = "usb";
status = "disabled";
};
@@ -491,6 +562,7 @@
<&ccu CLK_USB_OHCI3>;
resets = <&ccu RST_BUS_OHCI3>;
phys = <&usb2phy 3>;
+ phy-names = "usb";
status = "disabled";
};
@@ -507,7 +579,7 @@
resets = <&ccu RST_BUS_HDMI_SUB>, <&ccu RST_BUS_HDCP>;
reset-names = "ctrl", "hdcp";
phys = <&hdmi_phy>;
- phy-names = "hdmi-phy";
+ phy-names = "phy";
pinctrl-names = "default";
pinctrl-0 = <&hdmi_pins>;
status = "disabled";
@@ -636,10 +708,20 @@
};
};
+ rtc: rtc at 7000000 {
+ compatible = "allwinner,sun50i-h6-rtc";
+ reg = <0x07000000 0x400>;
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ clock-output-names = "osc32k", "osc32k-out", "iosc";
+ clocks = <&ext_osc32k>;
+ #clock-cells = <1>;
+ };
+
r_ccu: clock at 7010000 {
compatible = "allwinner,sun50i-h6-r-ccu";
reg = <0x07010000 0x400>;
- clocks = <&osc24M>, <&osc32k>, <&iosc>,
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>,
<&ccu CLK_PLL_PERIPH0>;
clock-names = "hosc", "losc", "iosc", "pll-periph";
#clock-cells = <1>;
@@ -651,6 +733,7 @@
"allwinner,sun6i-a31-wdt";
reg = <0x07020400 0x20>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&osc24M>;
};
r_intc: interrupt-controller at 7021000 {
@@ -667,7 +750,7 @@
reg = <0x07022000 0x400>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&osc32k>;
+ clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc";
gpio-controller;
#gpio-cells = <3>;
@@ -678,10 +761,30 @@
pins = "PL0", "PL1";
function = "s_i2c";
};
+
+ r_ir_rx_pin: r-ir-rx-pin {
+ pins = "PL9";
+ function = "s_cir_rx";
+ };
+ };
+
+ r_ir: ir at 7040000 {
+ compatible = "allwinner,sun50i-h6-ir",
+ "allwinner,sun6i-a31-ir";
+ reg = <0x07040000 0x400>;
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&r_ccu CLK_R_APB1_IR>,
+ <&r_ccu CLK_IR>;
+ clock-names = "apb", "ir";
+ resets = <&r_ccu RST_R_APB1_IR>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_ir_rx_pin>;
+ status = "disabled";
};
r_i2c: i2c at 7081400 {
- compatible = "allwinner,sun6i-a31-i2c";
+ compatible = "allwinner,sun50i-h6-i2c",
+ "allwinner,sun6i-a31-i2c";
reg = <0x07081400 0x400>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_R_APB2_I2C>;
--
2.24.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH v3 4/4] arm64: dts: sun50i: Add support for Orange Pi 3
2019-12-03 8:45 [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3 Andre Heider
` (2 preceding siblings ...)
2019-12-03 8:45 ` [U-Boot] [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files Andre Heider
@ 2019-12-03 8:45 ` Andre Heider
2019-12-10 15:56 ` [PATCH v3 0/4] arm64: " Andre Heider
4 siblings, 0 replies; 15+ messages in thread
From: Andre Heider @ 2019-12-03 8:45 UTC (permalink / raw
To: u-boot
The dts is taken from kernel tag v5.4.
The Bluetooth controller of this device ships with a default adress,
use the new CONFIG_FIXUP_BDADDR option to fix it up.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
arch/arm/dts/Makefile | 1 +
arch/arm/dts/sun50i-h6-orangepi-3.dts | 287 ++++++++++++++++++++++++++
board/sunxi/MAINTAINERS | 5 +
configs/orangepi_3_defconfig | 18 ++
4 files changed, 311 insertions(+)
create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3.dts
create mode 100644 configs/orangepi_3_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index d8846df1bd..5040d4f50d 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -540,6 +540,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \
sun50i-h5-orangepi-zero-plus2.dtb
dtb-$(CONFIG_MACH_SUN50I_H6) += \
sun50i-h6-beelink-gs1.dtb \
+ sun50i-h6-orangepi-3.dtb \
sun50i-h6-orangepi-lite2.dtb \
sun50i-h6-orangepi-one-plus.dtb \
sun50i-h6-pine-h64.dtb
diff --git a/arch/arm/dts/sun50i-h6-orangepi-3.dts b/arch/arm/dts/sun50i-h6-orangepi-3.dts
new file mode 100644
index 0000000000..eb379cd402
--- /dev/null
+++ b/arch/arm/dts/sun50i-h6-orangepi-3.dts
@@ -0,0 +1,287 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+/*
+ * Copyright (C) 2019 Ondřej Jirman <megous@megous.com>
+ */
+
+/dts-v1/;
+
+#include "sun50i-h6.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ model = "OrangePi 3";
+ compatible = "xunlong,orangepi-3", "allwinner,sun50i-h6";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ connector {
+ compatible = "hdmi-connector";
+ ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power {
+ label = "orangepi:red:power";
+ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
+ default-state = "on";
+ };
+
+ status {
+ label = "orangepi:green:status";
+ gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
+ };
+ };
+
+ reg_vcc5v: vcc5v {
+ /* board wide 5V supply directly from the DC jack */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ reg_vcc33_wifi: vcc33-wifi {
+ /* Always on 3.3V regulator for WiFi and BT */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc33-wifi";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ vin-supply = <®_vcc5v>;
+ };
+
+ reg_vcc_wifi_io: vcc-wifi-io {
+ /* Always on 1.8V/300mA regulator for WiFi and BT IO */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-wifi-io";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ vin-supply = <®_vcc33_wifi>;
+ };
+
+ wifi_pwrseq: wifi-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rtc 1>;
+ clock-names = "ext_clock";
+ reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
+ post-power-on-delay-ms = <200>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <®_dcdca>;
+};
+
+&de {
+ status = "okay";
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ehci3 {
+ status = "okay";
+};
+
+&hdmi {
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
+&mmc0 {
+ vmmc-supply = <®_cldo1>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc1 {
+ vmmc-supply = <®_vcc33_wifi>;
+ vqmmc-supply = <®_vcc_wifi_io>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcm: sdio-wifi at 1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&r_pio>;
+ interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
+ interrupt-names = "host-wake";
+ };
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&ohci3 {
+ status = "okay";
+};
+
+&pio {
+ vcc-pc-supply = <®_bldo2>;
+ vcc-pd-supply = <®_cldo1>;
+ vcc-pg-supply = <®_vcc_wifi_io>;
+};
+
+&r_i2c {
+ status = "okay";
+
+ axp805: pmic at 36 {
+ compatible = "x-powers,axp805", "x-powers,axp806";
+ reg = <0x36>;
+ interrupt-parent = <&r_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ x-powers,self-working-mode;
+ vina-supply = <®_vcc5v>;
+ vinb-supply = <®_vcc5v>;
+ vinc-supply = <®_vcc5v>;
+ vind-supply = <®_vcc5v>;
+ vine-supply = <®_vcc5v>;
+ aldoin-supply = <®_vcc5v>;
+ bldoin-supply = <®_vcc5v>;
+ cldoin-supply = <®_vcc5v>;
+
+ regulators {
+ reg_aldo1: aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pl-led-ir";
+ };
+
+ reg_aldo2: aldo2 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33-audio-tv-ephy-mac";
+ };
+
+ /* ALDO3 is shorted to CLDO1 */
+ reg_aldo3: aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1";
+ };
+
+ reg_bldo1: bldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc18-dram-bias-pll";
+ };
+
+ reg_bldo2: bldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-efuse-pcie-hdmi-pc";
+ };
+
+ bldo3 {
+ /* unused */
+ };
+
+ bldo4 {
+ /* unused */
+ };
+
+ reg_cldo1: cldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
+ };
+
+ cldo2 {
+ /* unused */
+ };
+
+ cldo3 {
+ /* unused */
+ };
+
+ reg_dcdca: dcdca {
+ regulator-always-on;
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-name = "vdd-cpu";
+ };
+
+ reg_dcdcc: dcdcc {
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1080000>;
+ regulator-name = "vdd-gpu";
+ };
+
+ reg_dcdcd: dcdcd {
+ regulator-always-on;
+ regulator-min-microvolt = <960000>;
+ regulator-max-microvolt = <960000>;
+ regulator-name = "vdd-sys";
+ };
+
+ reg_dcdce: dcdce {
+ regulator-always-on;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "vcc-dram";
+ };
+
+ sw {
+ /* unused */
+ };
+ };
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_ph_pins>;
+ status = "okay";
+};
+
+&usb2otg {
+ /*
+ * This board doesn't have a controllable VBUS even though it
+ * does have an ID pin. Using it as anything but a USB host is
+ * unsafe.
+ */
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb2phy {
+ usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */
+ usb0_vbus-supply = <®_vcc5v>;
+ usb3_vbus-supply = <®_vcc5v>;
+ status = "okay";
+};
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index a2adf89b5d..3c0fd0cae8 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -375,6 +375,11 @@ M: Icenowy Zheng <icenowy@aosc.io>
S: Maintained
F: configs/teres_i_defconfig
+ORANGEPI 3 BOARD
+M: Andre Heider <a.heider@gmail.com>
+S: Maintained
+F: configs/orangepi_3_defconfig
+
ORANGEPI LITE2 BOARD
M: Jagan Teki <jagan@amarulasolutions.com>
S: Maintained
diff --git a/configs/orangepi_3_defconfig b/configs/orangepi_3_defconfig
new file mode 100644
index 0000000000..c9db0abb77
--- /dev/null
+++ b/configs/orangepi_3_defconfig
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_SPL=y
+CONFIG_MACH_SUN50I_H6=y
+CONFIG_SUNXI_DRAM_H6_LPDDR3=y
+CONFIG_MMC0_CD_PIN="PF6"
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_FIXUP_BDADDR="brcm,bcm4345c5"
+# CONFIG_PSCI_RESET is not set
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_USE_PREBOOT=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-h6-orangepi-3"
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y
--
2.24.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3
2019-12-03 8:45 [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3 Andre Heider
` (3 preceding siblings ...)
2019-12-03 8:45 ` [U-Boot] [PATCH v3 4/4] arm64: dts: sun50i: Add support for Orange Pi 3 Andre Heider
@ 2019-12-10 15:56 ` Andre Heider
2020-01-06 9:27 ` Andre Heider
2020-01-06 9:48 ` Maxime Ripard
4 siblings, 2 replies; 15+ messages in thread
From: Andre Heider @ 2019-12-10 15:56 UTC (permalink / raw
To: u-boot
On 03/12/2019 09:45, Andre Heider wrote:
> Changes since v2:
> * drop "sunxi: board: Use eth_env_set_enetaddr_by_index()" as it breaks
> compilation without CONFIG_NET
> * add "sunxi: board: extract creating a unique sid into a helper function"
> and use it for the the bdaddr so that it work without ethernet devices
> * use `if (CONFIG_FIXUP_BDADDR[0])` as suggested by Ondřej to give the
> compiler a better chance of discarding the function if the knob isn't
> set
Jagan, Maxime,
does v3 look okay to you guys? Anything I need to address to get this in?
Thanks!
Andre
>
> Changes since v1:
> * add CONFIG_FIXUP_BDADDR so fixing up a bdaddr is reusable
> * try to use "bdaddr" first, then fall back to generating an address
>
> Notes:
> * the kernel patch for btbcm to accept the "local-bd-address"
> property is on master and will be in v5.5-rc1
>
> Andre Heider (4):
> sunxi: board: extract creating a unique sid into a helper function
> arm: sunxi: add a config option to fixup a Bluetooth address
> arm64: dts: sync Allwinner H6 files
> arm64: dts: sun50i: Add support for Orange Pi 3
>
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/sun50i-h6-beelink-gs1.dts | 27 +++
> arch/arm/dts/sun50i-h6-orangepi-3.dts | 287 +++++++++++++++++++++++++
> arch/arm/dts/sun50i-h6-orangepi.dtsi | 4 +
> arch/arm/dts/sun50i-h6-pine-h64.dts | 4 +
> arch/arm/dts/sun50i-h6.dtsi | 137 ++++++++++--
> arch/arm/mach-sunxi/Kconfig | 11 +
> board/sunxi/MAINTAINERS | 5 +
> board/sunxi/board.c | 139 ++++++++----
> configs/orangepi_3_defconfig | 18 ++
> 10 files changed, 569 insertions(+), 64 deletions(-)
> create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3.dts
> create mode 100644 configs/orangepi_3_defconfig
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3
2019-12-10 15:56 ` [PATCH v3 0/4] arm64: " Andre Heider
@ 2020-01-06 9:27 ` Andre Heider
2020-01-06 9:48 ` Maxime Ripard
1 sibling, 0 replies; 15+ messages in thread
From: Andre Heider @ 2020-01-06 9:27 UTC (permalink / raw
To: u-boot
On 10/12/2019 16:56, Andre Heider wrote:
> On 03/12/2019 09:45, Andre Heider wrote:
>> Changes since v2:
>> * drop "sunxi: board: Use eth_env_set_enetaddr_by_index()" as it breaks
>> compilation without CONFIG_NET
>> * add "sunxi: board: extract creating a unique sid into a helper
>> function"
>> and use it for the the bdaddr so that it work without ethernet devices
>> * use `if (CONFIG_FIXUP_BDADDR[0])` as suggested by Ondřej to give the
>> compiler a better chance of discarding the function if the knob isn't
>> set
>
> Jagan, Maxime,
>
> does v3 look okay to you guys? Anything I need to address to get this in?
How about this year? ;) Anyone? Bueller?
>
> Thanks!
> Andre
>
>>
>> Changes since v1:
>> * add CONFIG_FIXUP_BDADDR so fixing up a bdaddr is reusable
>> * try to use "bdaddr" first, then fall back to generating an address
>>
>> Notes:
>> * the kernel patch for btbcm to accept the "local-bd-address"
>> property is on master and will be in v5.5-rc1
>>
>> Andre Heider (4):
>> sunxi: board: extract creating a unique sid into a helper function
>> arm: sunxi: add a config option to fixup a Bluetooth address
>> arm64: dts: sync Allwinner H6 files
>> arm64: dts: sun50i: Add support for Orange Pi 3
>>
>> arch/arm/dts/Makefile | 1 +
>> arch/arm/dts/sun50i-h6-beelink-gs1.dts | 27 +++
>> arch/arm/dts/sun50i-h6-orangepi-3.dts | 287 +++++++++++++++++++++++++
>> arch/arm/dts/sun50i-h6-orangepi.dtsi | 4 +
>> arch/arm/dts/sun50i-h6-pine-h64.dts | 4 +
>> arch/arm/dts/sun50i-h6.dtsi | 137 ++++++++++--
>> arch/arm/mach-sunxi/Kconfig | 11 +
>> board/sunxi/MAINTAINERS | 5 +
>> board/sunxi/board.c | 139 ++++++++----
>> configs/orangepi_3_defconfig | 18 ++
>> 10 files changed, 569 insertions(+), 64 deletions(-)
>> create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3.dts
>> create mode 100644 configs/orangepi_3_defconfig
>>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3
2019-12-10 15:56 ` [PATCH v3 0/4] arm64: " Andre Heider
2020-01-06 9:27 ` Andre Heider
@ 2020-01-06 9:48 ` Maxime Ripard
1 sibling, 0 replies; 15+ messages in thread
From: Maxime Ripard @ 2020-01-06 9:48 UTC (permalink / raw
To: u-boot
On Tue, Dec 10, 2019 at 04:56:04PM +0100, Andre Heider wrote:
> On 03/12/2019 09:45, Andre Heider wrote:
> > Changes since v2:
> > * drop "sunxi: board: Use eth_env_set_enetaddr_by_index()" as it breaks
> > compilation without CONFIG_NET
> > * add "sunxi: board: extract creating a unique sid into a helper function"
> > and use it for the the bdaddr so that it work without ethernet devices
> > * use `if (CONFIG_FIXUP_BDADDR[0])` as suggested by Ondřej to give the
> > compiler a better chance of discarding the function if the knob isn't
> > set
>
> Jagan, Maxime,
>
> does v3 look okay to you guys? Anything I need to address to get this in?
Yeah, it looks good to me
Acked-by: Maxime Ripard <mripard@kernel.org>
Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200106/9c211c2a/attachment.sig>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function
2019-12-03 8:45 ` [U-Boot] [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function Andre Heider
@ 2020-01-21 7:36 ` Jagan Teki
0 siblings, 0 replies; 15+ messages in thread
From: Jagan Teki @ 2020-01-21 7:36 UTC (permalink / raw
To: u-boot
On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
>
> Signed-off-by: Andre Heider <a.heider@gmail.com>
> ---
Please add commit message, it looks hard to get what this patch is doing?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address
2019-12-03 8:45 ` [U-Boot] [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address Andre Heider
@ 2020-01-21 7:42 ` Jagan Teki
2020-01-21 11:05 ` Ondřej Jirman
0 siblings, 1 reply; 15+ messages in thread
From: Jagan Teki @ 2020-01-21 7:42 UTC (permalink / raw
To: u-boot
On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
>
> Some Bluetooth controllers, like the BCM4345C5 of the Orange Pi 3,
> ship with the controller default address.
>
> Add a config option to fix it up so it can function properly.
You mean that the default factory address can't make functioning? also
does it affect the boot process?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files
2019-12-03 8:45 ` [U-Boot] [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files Andre Heider
@ 2020-01-21 7:43 ` Jagan Teki
2020-02-04 8:02 ` Andre Heider
0 siblings, 1 reply; 15+ messages in thread
From: Jagan Teki @ 2020-01-21 7:43 UTC (permalink / raw
To: u-boot
On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
>
> Taken from the kernel tag v5.4.
> Drop the /omit-if-no-ref/ keyword as it's not supported by u-boot.
Please sync it from v5.6
98d25b0b266d Merge branch 'sunxi/dt-for-5.6' into sunxi/for-next
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address
2020-01-21 7:42 ` Jagan Teki
@ 2020-01-21 11:05 ` Ondřej Jirman
2020-03-18 10:18 ` Jagan Teki
0 siblings, 1 reply; 15+ messages in thread
From: Ondřej Jirman @ 2020-01-21 11:05 UTC (permalink / raw
To: u-boot
On Tue, Jan 21, 2020 at 01:12:47PM +0530, Jagan Teki wrote:
> On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
> >
> > Some Bluetooth controllers, like the BCM4345C5 of the Orange Pi 3,
> > ship with the controller default address.
> >
> > Add a config option to fix it up so it can function properly.
>
> You mean that the default factory address can't make functioning? also
> does it affect the boot process?
Yes. With the default address, bluetooth functionality is disabled in the
controller, unless some other address is set.
o.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files
2020-01-21 7:43 ` Jagan Teki
@ 2020-02-04 8:02 ` Andre Heider
2020-02-04 9:24 ` Andre Heider
0 siblings, 1 reply; 15+ messages in thread
From: Andre Heider @ 2020-02-04 8:02 UTC (permalink / raw
To: u-boot
Hi Jagan,
On 21/01/2020 08:43, Jagan Teki wrote:
> On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
>>
>> Taken from the kernel tag v5.4.
>> Drop the /omit-if-no-ref/ keyword as it's not supported by u-boot.
>
> Please sync it from v5.6
> 98d25b0b266d Merge branch 'sunxi/dt-for-5.6' into sunxi/for-next
>
I assume you mean the sunxi tree[0], but there is no such commit?
Why not just a stable hash from Linus' tree?
[0] https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git/
Thanks,
Andre
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files
2020-02-04 8:02 ` Andre Heider
@ 2020-02-04 9:24 ` Andre Heider
0 siblings, 0 replies; 15+ messages in thread
From: Andre Heider @ 2020-02-04 9:24 UTC (permalink / raw
To: u-boot
On 04/02/2020 09:02, Andre Heider wrote:
> Hi Jagan,
>
> On 21/01/2020 08:43, Jagan Teki wrote:
>> On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
>>>
>>> Taken from the kernel tag v5.4.
>>> Drop the /omit-if-no-ref/ keyword as it's not supported by u-boot.
>>
>> Please sync it from v5.6
>> 98d25b0b266d Merge branch 'sunxi/dt-for-5.6' into sunxi/for-next
>>
>
> I assume you mean the sunxi tree[0], but there is no such commit?
nvm, found it in linux-next, will update the patches...
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address
2020-01-21 11:05 ` Ondřej Jirman
@ 2020-03-18 10:18 ` Jagan Teki
0 siblings, 0 replies; 15+ messages in thread
From: Jagan Teki @ 2020-03-18 10:18 UTC (permalink / raw
To: u-boot
On Tue, Jan 21, 2020 at 4:35 PM Ond?ej Jirman <megous@megous.com> wrote:
>
> On Tue, Jan 21, 2020 at 01:12:47PM +0530, Jagan Teki wrote:
> > On Tue, Dec 3, 2019 at 2:15 PM Andre Heider <a.heider@gmail.com> wrote:
> > >
> > > Some Bluetooth controllers, like the BCM4345C5 of the Orange Pi 3,
> > > ship with the controller default address.
> > >
> > > Add a config option to fix it up so it can function properly.
> >
> > You mean that the default factory address can't make functioning? also
> > does it affect the boot process?
>
> Yes. With the default address, bluetooth functionality is disabled in the
> controller, unless some other address is set.
What about adding u-boot property instead of CONFIG macro. it would be
easy to add it on board spec -u-boot.dtsi.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2020-03-18 10:18 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-03 8:45 [U-Boot] [PATCH v3 0/4] arm64: sun50i: Add support for Orange Pi 3 Andre Heider
2019-12-03 8:45 ` [U-Boot] [PATCH v3 1/4] sunxi: board: extract creating a unique sid into a helper function Andre Heider
2020-01-21 7:36 ` Jagan Teki
2019-12-03 8:45 ` [U-Boot] [PATCH v3 2/4] arm: sunxi: add a config option to fixup a Bluetooth address Andre Heider
2020-01-21 7:42 ` Jagan Teki
2020-01-21 11:05 ` Ondřej Jirman
2020-03-18 10:18 ` Jagan Teki
2019-12-03 8:45 ` [U-Boot] [PATCH v3 3/4] arm64: dts: sync Allwinner H6 files Andre Heider
2020-01-21 7:43 ` Jagan Teki
2020-02-04 8:02 ` Andre Heider
2020-02-04 9:24 ` Andre Heider
2019-12-03 8:45 ` [U-Boot] [PATCH v3 4/4] arm64: dts: sun50i: Add support for Orange Pi 3 Andre Heider
2019-12-10 15:56 ` [PATCH v3 0/4] arm64: " Andre Heider
2020-01-06 9:27 ` Andre Heider
2020-01-06 9:48 ` Maxime Ripard
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.