* [PATCH V2 1/2] dt-bindings: arm: sunxi: Add BIQU CB1
@ 2022-11-14 17:20 Martin Botka
2022-11-14 17:20 ` [PATCH V2 2/2] arm64: dts: Add basic support for " Martin Botka
0 siblings, 1 reply; 6+ messages in thread
From: Martin Botka @ 2022-11-14 17:20 UTC (permalink / raw)
To: martin.botka1
Cc: ~postmarketos/upstreaming, Konrad Dybcio,
AngeloGioacchino Del Regno, Marijn Suijten, Jami Kettunen,
Paul Bouchara, Yenda, Martin Botka, Rob Herring,
Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Andre Przywara, Maxime Ripard, Conley Lee, Andrew Lunn,
devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
Add a name & compatible for BIQU CB1
Signed-off-by: Martin Botka <martin.botka@somainline.org>
---
Changes in V2:
Add compatible and name to dt-bindings
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 3ad1cd50e3fe..d886924023f5 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -151,6 +151,11 @@ properties:
- const: roofull,beelink-x2
- const: allwinner,sun8i-h3
+ - description: Biqu CB1
+ items:
+ - const: biqu,cb1
+ - const: allwinner,sun50i-h616
+
- description: Chuwi V7 CW0825
items:
- const: chuwi,v7-cw0825
--
2.38.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH V2 2/2] arm64: dts: Add basic support for BIQU CB1
2022-11-14 17:20 [PATCH V2 1/2] dt-bindings: arm: sunxi: Add BIQU CB1 Martin Botka
@ 2022-11-14 17:20 ` Martin Botka
2022-11-14 20:16 ` Jernej Škrabec
0 siblings, 1 reply; 6+ messages in thread
From: Martin Botka @ 2022-11-14 17:20 UTC (permalink / raw)
To: martin.botka1
Cc: ~postmarketos/upstreaming, Konrad Dybcio,
AngeloGioacchino Del Regno, Marijn Suijten, Jami Kettunen,
Paul Bouchara, Yenda, Martin Botka, Rob Herring,
Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Andre Przywara, Maxime Ripard, Andrew Lunn, Conley Lee,
devicetree, linux-arm-kernel, linux-sunxi, linux-kernel
CB1 is Compute Module style board that plugs into Rpi board style adapter or
Manta 3D printer boards (M4P/M8P).
The board has:
H616 SoC
1GB of RAM
AXP313A PMIC
And the actual boards that CB1 plugs in are just extension to it with ports and
thus are not split in DT.
Boards have:
4x (3x for Manta boards) USB and 1 USB OTG.
SDcard slot for loading images.
Ethernet port wired to the internal PHY.
2x HDMI 2.0.
Power and Status LEDs.
Currently working:
Booting
USB
UART
Signed-off-by: Martin Botka <martin.botka@somainline.org>
---
Changes in V2:
Add proper board compatible
Add regulator prefix for vcc5v
Drop okay status from PMIC
Drop standby_param
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../dts/allwinner/sun50i-h616-biqu-cb1.dts | 186 ++++++++++++++++++
2 files changed, 187 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 6a96494a2e0a..223f1be73541 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -38,5 +38,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-biqu-cb1.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
new file mode 100644
index 000000000000..297536d7629a
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
@@ -0,0 +1,186 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+/*
+ * Copyright (C) 2022 Arm Ltd.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h616.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "BIQU CB1";
+ compatible = "biqu,cb1", "allwinner,sun50i-h616";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_RED>;
+ gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */
+ default-state = "on";
+ };
+
+ led-1 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */
+ };
+ };
+
+ reg_vcc5v: regulator_vcc5v {
+ /* board wide 5V supply directly from the USB-C socket */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ reg_usb1_vbus: regulator-usb1-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb1-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <®_vcc5v>;
+ enable-active-high;
+ gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
+ };
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&ehci2 {
+ status = "okay";
+};
+
+&ehci3 {
+ status = "okay";
+};
+
+&mmc0 {
+ vmmc-supply = <®_dldo1>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ no-1-8-v;
+ bus-width = <4>;
+ status = "disabled";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&ohci1 {
+ status = "okay";
+};
+
+&ohci2 {
+ status = "okay";
+};
+
+&ohci3 {
+ status = "okay";
+};
+
+&r_i2c {
+ status = "okay";
+
+ axp1530: pmic@36 {
+ compatible = "x-powers,axp1530";
+ reg = <0x36>;
+ wakeup-source;
+
+ regulators{
+ reg_dcdc1: dcdc1 {
+ regulator-name = "axp1530-dcdc1";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-step-delay-us = <25>;
+ regulator-final-delay-us = <50>;
+ regulator-always-on;
+ };
+
+ reg_dcdc2: dcdc2 {
+ regulator-name = "axp1530-dcdc2";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1540000>;
+ regulator-step-delay-us = <25>;
+ regulator-final-delay-us = <50>;
+ regulator-ramp-delay = <200>;
+ regulator-always-on;
+ };
+
+ reg_dcdc3: dcdc3 {
+ regulator-name = "axp1530-dcdc3";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1840000>;
+ regulator-step-delay-us = <25>;
+ regulator-final-delay-us = <50>;
+ regulator-always-on;
+ };
+
+ reg_aldo1: ldo1 {
+ regulator-name = "axp1530-aldo1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-step-delay-us = <25>;
+ regulator-final-delay-us = <50>;
+ regulator-always-on;
+ };
+
+ reg_dldo1: ldo2 {
+ regulator-name = "axp1530-dldo1";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-step-delay-us = <25>;
+ regulator-final-delay-us = <50>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_ph_pins>;
+ status = "okay";
+};
+
+&usbotg {
+ /*
+ * PHY0 pins are connected to a USB-C socket, but a role switch
+ * is not implemented: both CC pins are pulled to GND.
+ * The VBUS pins power the device, so a fixed peripheral mode
+ * is the best choice.
+ * The board can be powered via GPIOs, in this case port0 *can*
+ * act as a host (with a cable/adapter ignoring CC), as VBUS is
+ * then provided by the GPIOs. Any user of this setup would
+ * need to adjust the DT accordingly: dr_mode set to "host",
+ * enabling OHCI0 and EHCI0.
+ */
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&usbphy {
+ usb1_vbus-supply = <®_usb1_vbus>;
+ status = "okay";
+};
--
2.38.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH V2 2/2] arm64: dts: Add basic support for BIQU CB1
2022-11-14 17:20 ` [PATCH V2 2/2] arm64: dts: Add basic support for " Martin Botka
@ 2022-11-14 20:16 ` Jernej Škrabec
2022-11-14 20:38 ` Martin Botka
0 siblings, 1 reply; 6+ messages in thread
From: Jernej Škrabec @ 2022-11-14 20:16 UTC (permalink / raw)
To: martin.botka1, Martin Botka
Cc: ~postmarketos/upstreaming, Konrad Dybcio,
AngeloGioacchino Del Regno, Marijn Suijten, Jami Kettunen,
Paul Bouchara, Yenda, Martin Botka, Rob Herring,
Krzysztof Kozlowski, Chen-Yu Tsai, Samuel Holland, Andre Przywara,
Maxime Ripard, Andrew Lunn, Conley Lee, devicetree,
linux-arm-kernel, linux-sunxi, linux-kernel
Hi Martin,
Dne ponedeljek, 14. november 2022 ob 18:20:16 CET je Martin Botka napisal(a):
> CB1 is Compute Module style board that plugs into Rpi board style adapter or
> Manta 3D printer boards (M4P/M8P).
>
> The board has:
> H616 SoC
> 1GB of RAM
> AXP313A PMIC
>
> And the actual boards that CB1 plugs in are just extension to it with ports
> and thus are not split in DT.
>
> Boards have:
> 4x (3x for Manta boards) USB and 1 USB OTG.
> SDcard slot for loading images.
> Ethernet port wired to the internal PHY.
> 2x HDMI 2.0.
> Power and Status LEDs.
>
> Currently working:
> Booting
> USB
> UART
>
> Signed-off-by: Martin Botka <martin.botka@somainline.org>
> ---
> Changes in V2:
> Add proper board compatible
> Add regulator prefix for vcc5v
> Drop okay status from PMIC
> Drop standby_param
> arch/arm64/boot/dts/allwinner/Makefile | 1 +
> .../dts/allwinner/sun50i-h616-biqu-cb1.dts | 186 ++++++++++++++++++
> 2 files changed, 187 insertions(+)
> create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>
> diff --git a/arch/arm64/boot/dts/allwinner/Makefile
> b/arch/arm64/boot/dts/allwinner/Makefile index 6a96494a2e0a..223f1be73541
> 100644
> --- a/arch/arm64/boot/dts/allwinner/Makefile
> +++ b/arch/arm64/boot/dts/allwinner/Makefile
> @@ -38,5 +38,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-biqu-cb1.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts new file mode
> 100644
> index 000000000000..297536d7629a
> --- /dev/null
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
> @@ -0,0 +1,186 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +/*
> + * Copyright (C) 2022 Arm Ltd.
I suppose Arm Ltd. has nothing to do with this board? Put yours copyrights
there.
> + */
> +
> +/dts-v1/;
> +
> +#include "sun50i-h616.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> + model = "BIQU CB1";
> + compatible = "biqu,cb1", "allwinner,sun50i-h616";
> +
> + aliases {
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + function = LED_FUNCTION_POWER;
> + color = <LED_COLOR_ID_RED>;
> + gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /*
PC12 */
> + default-state = "on";
> + };
> +
> + led-1 {
> + function = LED_FUNCTION_STATUS;
> + color = <LED_COLOR_ID_GREEN>;
> + gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /*
PC13 */
> + };
> + };
> +
> + reg_vcc5v: regulator_vcc5v {
> + /* board wide 5V supply directly from the USB-C socket
*/
> + compatible = "regulator-fixed";
> + regulator-name = "vcc-5v";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + };
> +
> + reg_usb1_vbus: regulator-usb1-vbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb1-vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + vin-supply = <®_vcc5v>;
> + enable-active-high;
> + gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
> + };
> +};
> +
> +&ehci0 {
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&ehci2 {
> + status = "okay";
> +};
> +
> +&ehci3 {
> + status = "okay";
> +};
> +
> +&mmc0 {
> + vmmc-supply = <®_dldo1>;
> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
> + no-1-8-v;
> + bus-width = <4>;
> + status = "disabled";
> +};
> +
> +&ohci0 {
> + status = "okay";
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&ohci2 {
> + status = "okay";
> +};
> +
> +&ohci3 {
> + status = "okay";
> +};
> +
> +&r_i2c {
> + status = "okay";
> +
> + axp1530: pmic@36 {
> + compatible = "x-powers,axp1530";
I see that you send driver for this PMIC separately. Next time please mention
that this series depends on another, otherwise checks will fail. Ping us here
once PMIC driver is merged to unblock this.
Anyway, RSB is prefered. Can you switch to it?
> + reg = <0x36>;
> + wakeup-source;
> +
> + regulators{
> + reg_dcdc1: dcdc1 {
> + regulator-name = "axp1530-dcdc1";
> + regulator-min-microvolt =
<500000>;
> + regulator-max-microvolt =
<3400000>;
> + regulator-step-delay-us = <25>;
> + regulator-final-delay-us = <50>;
> + regulator-always-on;
> + };
> +
> + reg_dcdc2: dcdc2 {
> + regulator-name = "axp1530-dcdc2";
> + regulator-min-microvolt =
<500000>;
> + regulator-max-microvolt =
<1540000>;
> + regulator-step-delay-us = <25>;
> + regulator-final-delay-us = <50>;
> + regulator-ramp-delay = <200>;
> + regulator-always-on;
> + };
> +
> + reg_dcdc3: dcdc3 {
> + regulator-name = "axp1530-dcdc3";
> + regulator-min-microvolt =
<500000>;
> + regulator-max-microvolt =
<1840000>;
> + regulator-step-delay-us = <25>;
> + regulator-final-delay-us = <50>;
> + regulator-always-on;
> + };
> +
> + reg_aldo1: ldo1 {
> + regulator-name = "axp1530-aldo1";
> + regulator-min-microvolt =
<1800000>;
> + regulator-max-microvolt =
<1800000>;
> + regulator-step-delay-us = <25>;
> + regulator-final-delay-us = <50>;
> + regulator-always-on;
> + };
> +
> + reg_dldo1: ldo2 {
> + regulator-name = "axp1530-dldo1";
> + regulator-min-microvolt =
<3300000>;
> + regulator-max-microvolt =
<3300000>;
> + regulator-step-delay-us = <25>;
> + regulator-final-delay-us = <50>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&uart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_ph_pins>;
> + status = "okay";
> +};
> +
> +&usbotg {
> + /*
> + * PHY0 pins are connected to a USB-C socket, but a role switch
> + * is not implemented: both CC pins are pulled to GND.
> + * The VBUS pins power the device, so a fixed peripheral mode
> + * is the best choice.
> + * The board can be powered via GPIOs, in this case port0 *can*
> + * act as a host (with a cable/adapter ignoring CC), as VBUS is
> + * then provided by the GPIOs. Any user of this setup would
> + * need to adjust the DT accordingly: dr_mode set to "host",
> + * enabling OHCI0 and EHCI0.
> + */
Above text is verbatim copy from OrangePi Zero2 and I'm not sure if it is
fully accurate for this board too. Looking at board photo, it surely looks
like this board has same USB design as Zero2. But if that's true, you
shouldn't enable OHCI0 and EHCI0 nodes.
Is there any board schematic publicly available for this board?
Best regards,
Jernej
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&usbphy {
> + usb1_vbus-supply = <®_usb1_vbus>;
> + status = "okay";
> +};
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V2 2/2] arm64: dts: Add basic support for BIQU CB1
2022-11-14 20:16 ` Jernej Škrabec
@ 2022-11-14 20:38 ` Martin Botka
2022-11-14 20:47 ` Jernej Škrabec
0 siblings, 1 reply; 6+ messages in thread
From: Martin Botka @ 2022-11-14 20:38 UTC (permalink / raw)
To: Jernej Škrabec
Cc: martin.botka1, ~postmarketos/upstreaming, Konrad Dybcio,
AngeloGioacchino Del Regno, Marijn Suijten, Jami Kettunen,
Paul Bouchara, Yenda, Rob Herring, Krzysztof Kozlowski,
Chen-Yu Tsai, Samuel Holland, Andre Przywara, Maxime Ripard,
Andrew Lunn, Conley Lee, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel
On Mon, Nov 14 2022 at 09:16:29 PM +01:00:00, Jernej Škrabec
<jernej.skrabec@gmail.com> wrote:
> Hi Martin,
>
> Dne ponedeljek, 14. november 2022 ob 18:20:16 CET je Martin Botka
> napisal(a):
>> CB1 is Compute Module style board that plugs into Rpi board style
>> adapter or
>> Manta 3D printer boards (M4P/M8P).
>>
>> The board has:
>> H616 SoC
>> 1GB of RAM
>> AXP313A PMIC
>>
>> And the actual boards that CB1 plugs in are just extension to it
>> with ports
>> and thus are not split in DT.
>>
>> Boards have:
>> 4x (3x for Manta boards) USB and 1 USB OTG.
>> SDcard slot for loading images.
>> Ethernet port wired to the internal PHY.
>> 2x HDMI 2.0.
>> Power and Status LEDs.
>>
>> Currently working:
>> Booting
>> USB
>> UART
>>
>> Signed-off-by: Martin Botka <martin.botka@somainline.org>
>> ---
>> Changes in V2:
>> Add proper board compatible
>> Add regulator prefix for vcc5v
>> Drop okay status from PMIC
>> Drop standby_param
>> arch/arm64/boot/dts/allwinner/Makefile | 1 +
>> .../dts/allwinner/sun50i-h616-biqu-cb1.dts | 186
>> ++++++++++++++++++
>> 2 files changed, 187 insertions(+)
>> create mode 100644
>> arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>>
>> diff --git a/arch/arm64/boot/dts/allwinner/Makefile
>> b/arch/arm64/boot/dts/allwinner/Makefile index
>> 6a96494a2e0a..223f1be73541
>> 100644
>> --- a/arch/arm64/boot/dts/allwinner/Makefile
>> +++ b/arch/arm64/boot/dts/allwinner/Makefile
>> @@ -38,5 +38,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
>> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
>> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
>> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
>> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-biqu-cb1.dtb
>> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
>> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts new file
>> mode
>> 100644
>> index 000000000000..297536d7629a
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>> @@ -0,0 +1,186 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
>> +/*
>> + * Copyright (C) 2022 Arm Ltd.
>
> I suppose Arm Ltd. has nothing to do with this board? Put yours
> copyrights
> there.
Correct. Was a left over from Opi Zero 2 with just changed year. Will
correct in V3 with the rest of the changes
>
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "sun50i-h616.dtsi"
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> +#include <dt-bindings/leds/common.h>
>> +
>> +/ {
>> + model = "BIQU CB1";
>> + compatible = "biqu,cb1", "allwinner,sun50i-h616";
>> +
>> + aliases {
>> + serial0 = &uart0;
>> + };
>> +
>> + chosen {
>> + stdout-path = "serial0:115200n8";
>> + };
>> +
>> + leds {
>> + compatible = "gpio-leds";
>> +
>> + led-0 {
>> + function = LED_FUNCTION_POWER;
>> + color = <LED_COLOR_ID_RED>;
>> + gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /*
> PC12 */
>> + default-state = "on";
>> + };
>> +
>> + led-1 {
>> + function = LED_FUNCTION_STATUS;
>> + color = <LED_COLOR_ID_GREEN>;
>> + gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /*
> PC13 */
>> + };
>> + };
>> +
>> + reg_vcc5v: regulator_vcc5v {
>> + /* board wide 5V supply directly from the USB-C socket
> */
>> + compatible = "regulator-fixed";
>> + regulator-name = "vcc-5v";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + regulator-always-on;
>> + };
>> +
>> + reg_usb1_vbus: regulator-usb1-vbus {
>> + compatible = "regulator-fixed";
>> + regulator-name = "usb1-vbus";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + vin-supply = <®_vcc5v>;
>> + enable-active-high;
>> + gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
>> + };
>> +};
>> +
>> +&ehci0 {
>> + status = "okay";
>> +};
>> +
>> +&ehci1 {
>> + status = "okay";
>> +};
>> +
>> +&ehci2 {
>> + status = "okay";
>> +};
>> +
>> +&ehci3 {
>> + status = "okay";
>> +};
>> +
>> +&mmc0 {
>> + vmmc-supply = <®_dldo1>;
>> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
>> + no-1-8-v;
>> + bus-width = <4>;
>> + status = "disabled";
>> +};
>> +
>> +&ohci0 {
>> + status = "okay";
>> +};
>> +
>> +&ohci1 {
>> + status = "okay";
>> +};
>> +
>> +&ohci2 {
>> + status = "okay";
>> +};
>> +
>> +&ohci3 {
>> + status = "okay";
>> +};
>> +
>> +&r_i2c {
>> + status = "okay";
>> +
>> + axp1530: pmic@36 {
>> + compatible = "x-powers,axp1530";
>
> I see that you send driver for this PMIC separately. Next time please
> mention
> that this series depends on another, otherwise checks will fail. Ping
> us here
> once PMIC driver is merged to unblock this.
>
> Anyway, RSB is prefered. Can you switch to it?
RSB does initialize but as soon as I try to give it the PMIC via RSB it
doesnt really wanna work so thats a no sadly.
>
>> + reg = <0x36>;
>> + wakeup-source;
>> +
>> + regulators{
>> + reg_dcdc1: dcdc1 {
>> + regulator-name = "axp1530-dcdc1";
>> + regulator-min-microvolt =
> <500000>;
>> + regulator-max-microvolt =
> <3400000>;
>> + regulator-step-delay-us = <25>;
>> + regulator-final-delay-us = <50>;
>> + regulator-always-on;
>> + };
>> +
>> + reg_dcdc2: dcdc2 {
>> + regulator-name = "axp1530-dcdc2";
>> + regulator-min-microvolt =
> <500000>;
>> + regulator-max-microvolt =
> <1540000>;
>> + regulator-step-delay-us = <25>;
>> + regulator-final-delay-us = <50>;
>> + regulator-ramp-delay = <200>;
>> + regulator-always-on;
>> + };
>> +
>> + reg_dcdc3: dcdc3 {
>> + regulator-name = "axp1530-dcdc3";
>> + regulator-min-microvolt =
> <500000>;
>> + regulator-max-microvolt =
> <1840000>;
>> + regulator-step-delay-us = <25>;
>> + regulator-final-delay-us = <50>;
>> + regulator-always-on;
>> + };
>> +
>> + reg_aldo1: ldo1 {
>> + regulator-name = "axp1530-aldo1";
>> + regulator-min-microvolt =
> <1800000>;
>> + regulator-max-microvolt =
> <1800000>;
>> + regulator-step-delay-us = <25>;
>> + regulator-final-delay-us = <50>;
>> + regulator-always-on;
>> + };
>> +
>> + reg_dldo1: ldo2 {
>> + regulator-name = "axp1530-dldo1";
>> + regulator-min-microvolt =
> <3300000>;
>> + regulator-max-microvolt =
> <3300000>;
>> + regulator-step-delay-us = <25>;
>> + regulator-final-delay-us = <50>;
>> + regulator-always-on;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&uart0 {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&uart0_ph_pins>;
>> + status = "okay";
>> +};
>> +
>> +&usbotg {
>> + /*
>> + * PHY0 pins are connected to a USB-C socket, but a role switch
>> + * is not implemented: both CC pins are pulled to GND.
>> + * The VBUS pins power the device, so a fixed peripheral mode
>> + * is the best choice.
>> + * The board can be powered via GPIOs, in this case port0 *can*
>> + * act as a host (with a cable/adapter ignoring CC), as VBUS is
>> + * then provided by the GPIOs. Any user of this setup would
>> + * need to adjust the DT accordingly: dr_mode set to "host",
>> + * enabling OHCI0 and EHCI0.
>> + */
>
> Above text is verbatim copy from OrangePi Zero2 and I'm not sure if
> it is
> fully accurate for this board too. Looking at board photo, it surely
> looks
> like this board has same USB design as Zero2. But if that's true, you
> shouldn't enable OHCI0 and EHCI0 nodes.
Correct. But M8P has a dip switch that enables or disables usbotg.
As for if it does anything its hard to say.
>
> Is there any board schematic publicly available for this board?
This is one of the issues. Im in contact with BIQU and asking for the
schematics.
I hope we can get them released ASAP as it would help me as well.
>
> Best regards,
> Jernej
>
>> + dr_mode = "peripheral";
>> + status = "okay";
>> +};
>> +
>> +&usbphy {
>> + usb1_vbus-supply = <®_usb1_vbus>;
>> + status = "okay";
>> +};
>
>
Best Regards,
Martin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V2 2/2] arm64: dts: Add basic support for BIQU CB1
2022-11-14 20:38 ` Martin Botka
@ 2022-11-14 20:47 ` Jernej Škrabec
2022-11-14 21:00 ` Martin Botka
0 siblings, 1 reply; 6+ messages in thread
From: Jernej Škrabec @ 2022-11-14 20:47 UTC (permalink / raw)
To: Martin Botka
Cc: martin.botka1, ~postmarketos/upstreaming, Konrad Dybcio,
AngeloGioacchino Del Regno, Marijn Suijten, Jami Kettunen,
Paul Bouchara, Yenda, Rob Herring, Krzysztof Kozlowski,
Chen-Yu Tsai, Samuel Holland, Andre Przywara, Maxime Ripard,
Andrew Lunn, Conley Lee, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel
Dne ponedeljek, 14. november 2022 ob 21:38:08 CET je Martin Botka napisal(a):
> On Mon, Nov 14 2022 at 09:16:29 PM +01:00:00, Jernej Škrabec
>
> <jernej.skrabec@gmail.com> wrote:
> > Hi Martin,
> >
> > Dne ponedeljek, 14. november 2022 ob 18:20:16 CET je Martin Botka
> >
> > napisal(a):
> >> CB1 is Compute Module style board that plugs into Rpi board style
> >>
> >> adapter or
> >>
> >> Manta 3D printer boards (M4P/M8P).
> >>
> >> The board has:
> >> H616 SoC
> >> 1GB of RAM
> >> AXP313A PMIC
> >>
> >> And the actual boards that CB1 plugs in are just extension to it
> >>
> >> with ports
> >>
> >> and thus are not split in DT.
> >>
> >> Boards have:
> >> 4x (3x for Manta boards) USB and 1 USB OTG.
> >> SDcard slot for loading images.
> >> Ethernet port wired to the internal PHY.
> >> 2x HDMI 2.0.
> >> Power and Status LEDs.
> >>
> >> Currently working:
> >> Booting
> >> USB
> >> UART
> >>
> >> Signed-off-by: Martin Botka <martin.botka@somainline.org>
> >> ---
> >> Changes in V2:
> >> Add proper board compatible
> >> Add regulator prefix for vcc5v
> >> Drop okay status from PMIC
> >> Drop standby_param
> >>
> >> arch/arm64/boot/dts/allwinner/Makefile | 1 +
> >> .../dts/allwinner/sun50i-h616-biqu-cb1.dts | 186
> >>
> >> ++++++++++++++++++
> >>
> >> 2 files changed, 187 insertions(+)
> >> create mode 100644
> >>
> >> arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
> >>
> >> diff --git a/arch/arm64/boot/dts/allwinner/Makefile
> >> b/arch/arm64/boot/dts/allwinner/Makefile index
> >>
> >> 6a96494a2e0a..223f1be73541
> >>
> >> 100644
> >> --- a/arch/arm64/boot/dts/allwinner/Makefile
> >> +++ b/arch/arm64/boot/dts/allwinner/Makefile
> >> @@ -38,5 +38,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
> >>
> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
> >>
> >> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-biqu-cb1.dtb
> >>
> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
> >>
> >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
> >> b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts new file
> >>
> >> mode
> >>
> >> 100644
> >> index 000000000000..297536d7629a
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
> >> @@ -0,0 +1,186 @@
> >> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> >> +/*
> >> + * Copyright (C) 2022 Arm Ltd.
> >
> > I suppose Arm Ltd. has nothing to do with this board? Put yours
> > copyrights
> > there.
>
> Correct. Was a left over from Opi Zero 2 with just changed year. Will
> correct in V3 with the rest of the changes
>
> >> + */
> >> +
> >> +/dts-v1/;
> >> +
> >> +#include "sun50i-h616.dtsi"
> >> +
> >> +#include <dt-bindings/gpio/gpio.h>
> >> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> >> +#include <dt-bindings/leds/common.h>
> >> +
> >> +/ {
> >> + model = "BIQU CB1";
> >> + compatible = "biqu,cb1", "allwinner,sun50i-h616";
> >> +
> >> + aliases {
> >> + serial0 = &uart0;
> >> + };
> >> +
> >> + chosen {
> >> + stdout-path = "serial0:115200n8";
> >> + };
> >> +
> >> + leds {
> >> + compatible = "gpio-leds";
> >> +
> >> + led-0 {
> >> + function = LED_FUNCTION_POWER;
> >> + color = <LED_COLOR_ID_RED>;
> >> + gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /*
> >
> > PC12 */
> >
> >> + default-state = "on";
> >> + };
> >> +
> >> + led-1 {
> >> + function = LED_FUNCTION_STATUS;
> >> + color = <LED_COLOR_ID_GREEN>;
> >> + gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /*
> >
> > PC13 */
> >
> >> + };
> >> + };
> >> +
> >> + reg_vcc5v: regulator_vcc5v {
> >> + /* board wide 5V supply directly from the USB-C socket
> >
> > */
> >
> >> + compatible = "regulator-fixed";
> >> + regulator-name = "vcc-5v";
> >> + regulator-min-microvolt = <5000000>;
> >> + regulator-max-microvolt = <5000000>;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + reg_usb1_vbus: regulator-usb1-vbus {
> >> + compatible = "regulator-fixed";
> >> + regulator-name = "usb1-vbus";
> >> + regulator-min-microvolt = <5000000>;
> >> + regulator-max-microvolt = <5000000>;
> >> + vin-supply = <®_vcc5v>;
> >> + enable-active-high;
> >> + gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
> >> + };
> >> +};
> >> +
> >> +&ehci0 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&ehci1 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&ehci2 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&ehci3 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&mmc0 {
> >> + vmmc-supply = <®_dldo1>;
> >> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
> >> + no-1-8-v;
> >> + bus-width = <4>;
> >> + status = "disabled";
> >> +};
> >> +
> >> +&ohci0 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&ohci1 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&ohci2 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&ohci3 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&r_i2c {
> >> + status = "okay";
> >> +
> >> + axp1530: pmic@36 {
> >> + compatible = "x-powers,axp1530";
> >
> > I see that you send driver for this PMIC separately. Next time please
> > mention
> > that this series depends on another, otherwise checks will fail. Ping
> > us here
> > once PMIC driver is merged to unblock this.
> >
> > Anyway, RSB is prefered. Can you switch to it?
>
> RSB does initialize but as soon as I try to give it the PMIC via RSB it
> doesnt really wanna work so thats a no sadly.
It's possible that you have to update this table:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/
drivers/bus/sunxi-rsb.c?h=v6.1-rc5#n528
If still doesn't work, you have to remove RSB support in PMIC driver.
Is there datasheet for this PMIC?
Best regards,
Jernej
>
> >> + reg = <0x36>;
> >> + wakeup-source;
> >> +
> >> + regulators{
> >> + reg_dcdc1: dcdc1 {
> >> + regulator-name = "axp1530-
dcdc1";
> >> + regulator-min-microvolt =
> >
> > <500000>;
> >
> >> + regulator-max-microvolt =
> >
> > <3400000>;
> >
> >> + regulator-step-delay-us = <25>;
> >> + regulator-final-delay-us = <50>;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + reg_dcdc2: dcdc2 {
> >> + regulator-name = "axp1530-
dcdc2";
> >> + regulator-min-microvolt =
> >
> > <500000>;
> >
> >> + regulator-max-microvolt =
> >
> > <1540000>;
> >
> >> + regulator-step-delay-us = <25>;
> >> + regulator-final-delay-us = <50>;
> >> + regulator-ramp-delay = <200>;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + reg_dcdc3: dcdc3 {
> >> + regulator-name = "axp1530-
dcdc3";
> >> + regulator-min-microvolt =
> >
> > <500000>;
> >
> >> + regulator-max-microvolt =
> >
> > <1840000>;
> >
> >> + regulator-step-delay-us = <25>;
> >> + regulator-final-delay-us = <50>;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + reg_aldo1: ldo1 {
> >> + regulator-name = "axp1530-
aldo1";
> >> + regulator-min-microvolt =
> >
> > <1800000>;
> >
> >> + regulator-max-microvolt =
> >
> > <1800000>;
> >
> >> + regulator-step-delay-us = <25>;
> >> + regulator-final-delay-us = <50>;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + reg_dldo1: ldo2 {
> >> + regulator-name = "axp1530-
dldo1";
> >> + regulator-min-microvolt =
> >
> > <3300000>;
> >
> >> + regulator-max-microvolt =
> >
> > <3300000>;
> >
> >> + regulator-step-delay-us = <25>;
> >> + regulator-final-delay-us = <50>;
> >> + regulator-always-on;
> >> + };
> >> + };
> >> + };
> >> +};
> >> +
> >> +&uart0 {
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&uart0_ph_pins>;
> >> + status = "okay";
> >> +};
> >> +
> >> +&usbotg {
> >> + /*
> >> + * PHY0 pins are connected to a USB-C socket, but a role switch
> >> + * is not implemented: both CC pins are pulled to GND.
> >> + * The VBUS pins power the device, so a fixed peripheral mode
> >> + * is the best choice.
> >> + * The board can be powered via GPIOs, in this case port0 *can*
> >> + * act as a host (with a cable/adapter ignoring CC), as VBUS is
> >> + * then provided by the GPIOs. Any user of this setup would
> >> + * need to adjust the DT accordingly: dr_mode set to "host",
> >> + * enabling OHCI0 and EHCI0.
> >> + */
> >
> > Above text is verbatim copy from OrangePi Zero2 and I'm not sure if
> > it is
> > fully accurate for this board too. Looking at board photo, it surely
> > looks
> > like this board has same USB design as Zero2. But if that's true, you
> > shouldn't enable OHCI0 and EHCI0 nodes.
>
> Correct. But M8P has a dip switch that enables or disables usbotg.
> As for if it does anything its hard to say.
>
> > Is there any board schematic publicly available for this board?
>
> This is one of the issues. Im in contact with BIQU and asking for the
> schematics.
> I hope we can get them released ASAP as it would help me as well.
>
> > Best regards,
> > Jernej
> >
> >> + dr_mode = "peripheral";
> >> + status = "okay";
> >> +};
> >> +
> >> +&usbphy {
> >> + usb1_vbus-supply = <®_usb1_vbus>;
> >> + status = "okay";
> >> +};
>
> Best Regards,
> Martin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V2 2/2] arm64: dts: Add basic support for BIQU CB1
2022-11-14 20:47 ` Jernej Škrabec
@ 2022-11-14 21:00 ` Martin Botka
0 siblings, 0 replies; 6+ messages in thread
From: Martin Botka @ 2022-11-14 21:00 UTC (permalink / raw)
To: Jernej Škrabec
Cc: martin.botka1, ~postmarketos/upstreaming, Konrad Dybcio,
AngeloGioacchino Del Regno, Marijn Suijten, Jami Kettunen,
Paul Bouchara, Yenda, Rob Herring, Krzysztof Kozlowski,
Chen-Yu Tsai, Samuel Holland, Andre Przywara, Maxime Ripard,
Andrew Lunn, Conley Lee, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel
On Mon, Nov 14 2022 at 09:47:58 PM +01:00:00, Jernej Škrabec
<jernej.skrabec@gmail.com> wrote:
> Dne ponedeljek, 14. november 2022 ob 21:38:08 CET je Martin Botka
> napisal(a):
>> On Mon, Nov 14 2022 at 09:16:29 PM +01:00:00, Jernej Škrabec
>>
>> <jernej.skrabec@gmail.com> wrote:
>> > Hi Martin,
>> >
>> > Dne ponedeljek, 14. november 2022 ob 18:20:16 CET je Martin Botka
>> >
>> > napisal(a):
>> >> CB1 is Compute Module style board that plugs into Rpi board
>> style
>> >>
>> >> adapter or
>> >>
>> >> Manta 3D printer boards (M4P/M8P).
>> >>
>> >> The board has:
>> >> H616 SoC
>> >> 1GB of RAM
>> >> AXP313A PMIC
>> >>
>> >> And the actual boards that CB1 plugs in are just extension to it
>> >>
>> >> with ports
>> >>
>> >> and thus are not split in DT.
>> >>
>> >> Boards have:
>> >> 4x (3x for Manta boards) USB and 1 USB OTG.
>> >> SDcard slot for loading images.
>> >> Ethernet port wired to the internal PHY.
>> >> 2x HDMI 2.0.
>> >> Power and Status LEDs.
>> >>
>> >> Currently working:
>> >> Booting
>> >> USB
>> >> UART
>> >>
>> >> Signed-off-by: Martin Botka <martin.botka@somainline.org>
>> >> ---
>> >> Changes in V2:
>> >> Add proper board compatible
>> >> Add regulator prefix for vcc5v
>> >> Drop okay status from PMIC
>> >> Drop standby_param
>> >>
>> >> arch/arm64/boot/dts/allwinner/Makefile | 1 +
>> >> .../dts/allwinner/sun50i-h616-biqu-cb1.dts | 186
>> >>
>> >> ++++++++++++++++++
>> >>
>> >> 2 files changed, 187 insertions(+)
>> >> create mode 100644
>> >>
>> >> arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>> >>
>> >> diff --git a/arch/arm64/boot/dts/allwinner/Makefile
>> >> b/arch/arm64/boot/dts/allwinner/Makefile index
>> >>
>> >> 6a96494a2e0a..223f1be73541
>> >>
>> >> 100644
>> >> --- a/arch/arm64/boot/dts/allwinner/Makefile
>> >> +++ b/arch/arm64/boot/dts/allwinner/Makefile
>> >> @@ -38,5 +38,6 @@ dtb-$(CONFIG_ARCH_SUNXI) +=
>> sun50i-h6-pine-h64.dtb
>> >>
>> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
>> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
>> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
>> >>
>> >> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-biqu-cb1.dtb
>> >>
>> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
>> >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
>> >>
>> >> diff --git
>> a/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>> >> b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts new
>> file
>> >>
>> >> mode
>> >>
>> >> 100644
>> >> index 000000000000..297536d7629a
>> >> --- /dev/null
>> >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-biqu-cb1.dts
>> >> @@ -0,0 +1,186 @@
>> >> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
>> >> +/*
>> >> + * Copyright (C) 2022 Arm Ltd.
>> >
>> > I suppose Arm Ltd. has nothing to do with this board? Put yours
>> > copyrights
>> > there.
>>
>> Correct. Was a left over from Opi Zero 2 with just changed year.
>> Will
>> correct in V3 with the rest of the changes
>>
>> >> + */
>> >> +
>> >> +/dts-v1/;
>> >> +
>> >> +#include "sun50i-h616.dtsi"
>> >> +
>> >> +#include <dt-bindings/gpio/gpio.h>
>> >> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> >> +#include <dt-bindings/leds/common.h>
>> >> +
>> >> +/ {
>> >> + model = "BIQU CB1";
>> >> + compatible = "biqu,cb1", "allwinner,sun50i-h616";
>> >> +
>> >> + aliases {
>> >> + serial0 = &uart0;
>> >> + };
>> >> +
>> >> + chosen {
>> >> + stdout-path = "serial0:115200n8";
>> >> + };
>> >> +
>> >> + leds {
>> >> + compatible = "gpio-leds";
>> >> +
>> >> + led-0 {
>> >> + function = LED_FUNCTION_POWER;
>> >> + color = <LED_COLOR_ID_RED>;
>> >> + gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /*
>> >
>> > PC12 */
>> >
>> >> + default-state = "on";
>> >> + };
>> >> +
>> >> + led-1 {
>> >> + function = LED_FUNCTION_STATUS;
>> >> + color = <LED_COLOR_ID_GREEN>;
>> >> + gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /*
>> >
>> > PC13 */
>> >
>> >> + };
>> >> + };
>> >> +
>> >> + reg_vcc5v: regulator_vcc5v {
>> >> + /* board wide 5V supply directly from the USB-C socket
>> >
>> > */
>> >
>> >> + compatible = "regulator-fixed";
>> >> + regulator-name = "vcc-5v";
>> >> + regulator-min-microvolt = <5000000>;
>> >> + regulator-max-microvolt = <5000000>;
>> >> + regulator-always-on;
>> >> + };
>> >> +
>> >> + reg_usb1_vbus: regulator-usb1-vbus {
>> >> + compatible = "regulator-fixed";
>> >> + regulator-name = "usb1-vbus";
>> >> + regulator-min-microvolt = <5000000>;
>> >> + regulator-max-microvolt = <5000000>;
>> >> + vin-supply = <®_vcc5v>;
>> >> + enable-active-high;
>> >> + gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
>> >> + };
>> >> +};
>> >> +
>> >> +&ehci0 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&ehci1 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&ehci2 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&ehci3 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&mmc0 {
>> >> + vmmc-supply = <®_dldo1>;
>> >> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
>> >> + no-1-8-v;
>> >> + bus-width = <4>;
>> >> + status = "disabled";
>> >> +};
>> >> +
>> >> +&ohci0 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&ohci1 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&ohci2 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&ohci3 {
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&r_i2c {
>> >> + status = "okay";
>> >> +
>> >> + axp1530: pmic@36 {
>> >> + compatible = "x-powers,axp1530";
>> >
>> > I see that you send driver for this PMIC separately. Next time
>> please
>> > mention
>> > that this series depends on another, otherwise checks will fail.
>> Ping
>> > us here
>> > once PMIC driver is merged to unblock this.
>> >
>> > Anyway, RSB is prefered. Can you switch to it?
>>
>> RSB does initialize but as soon as I try to give it the PMIC via
>> RSB it
>> doesnt really wanna work so thats a no sadly.
>
> It's possible that you have to update this table:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/
> drivers/bus/sunxi-rsb.c?h=v6.1-rc5#n528
>
> If still doesn't work, you have to remove RSB support in PMIC driver.
>
> Is there datasheet for this PMIC?
From what i tried to find there isnt. Maybe i did not look hard enough
but i do not have one.
All i go from here is the downstream kernel.
Biqu itself released datasheets for AXP305 and AXP313A. Where the
AXP313A is actually used on the board
and uses the AXP1530 driver thats found in downstream which did include
RSB support.
So it looks like to me that AXP313A is just a rebrand of AXP1530. And
all other references to downstream
kernels i found about AXP1530 or AXP313A used I2C to communicate with
the chip.
So in this state i would be happy to drop the RSB support from the
driver as there seems to be no use for it and leave I2C in.
This would be done in V2 alongside any other requested changes
>
> Best regards,
> Jernej
>
>>
>> >> + reg = <0x36>;
>> >> + wakeup-source;
>> >> +
>> >> + regulators{
>> >> + reg_dcdc1: dcdc1 {
>> >> + regulator-name = "axp1530-
> dcdc1";
>> >> + regulator-min-microvolt =
>> >
>> > <500000>;
>> >
>> >> + regulator-max-microvolt =
>> >
>> > <3400000>;
>> >
>> >> + regulator-step-delay-us = <25>;
>> >> + regulator-final-delay-us = <50>;
>> >> + regulator-always-on;
>> >> + };
>> >> +
>> >> + reg_dcdc2: dcdc2 {
>> >> + regulator-name = "axp1530-
> dcdc2";
>> >> + regulator-min-microvolt =
>> >
>> > <500000>;
>> >
>> >> + regulator-max-microvolt =
>> >
>> > <1540000>;
>> >
>> >> + regulator-step-delay-us = <25>;
>> >> + regulator-final-delay-us = <50>;
>> >> + regulator-ramp-delay = <200>;
>> >> + regulator-always-on;
>> >> + };
>> >> +
>> >> + reg_dcdc3: dcdc3 {
>> >> + regulator-name = "axp1530-
> dcdc3";
>> >> + regulator-min-microvolt =
>> >
>> > <500000>;
>> >
>> >> + regulator-max-microvolt =
>> >
>> > <1840000>;
>> >
>> >> + regulator-step-delay-us = <25>;
>> >> + regulator-final-delay-us = <50>;
>> >> + regulator-always-on;
>> >> + };
>> >> +
>> >> + reg_aldo1: ldo1 {
>> >> + regulator-name = "axp1530-
> aldo1";
>> >> + regulator-min-microvolt =
>> >
>> > <1800000>;
>> >
>> >> + regulator-max-microvolt =
>> >
>> > <1800000>;
>> >
>> >> + regulator-step-delay-us = <25>;
>> >> + regulator-final-delay-us = <50>;
>> >> + regulator-always-on;
>> >> + };
>> >> +
>> >> + reg_dldo1: ldo2 {
>> >> + regulator-name = "axp1530-
> dldo1";
>> >> + regulator-min-microvolt =
>> >
>> > <3300000>;
>> >
>> >> + regulator-max-microvolt =
>> >
>> > <3300000>;
>> >
>> >> + regulator-step-delay-us = <25>;
>> >> + regulator-final-delay-us = <50>;
>> >> + regulator-always-on;
>> >> + };
>> >> + };
>> >> + };
>> >> +};
>> >> +
>> >> +&uart0 {
>> >> + pinctrl-names = "default";
>> >> + pinctrl-0 = <&uart0_ph_pins>;
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&usbotg {
>> >> + /*
>> >> + * PHY0 pins are connected to a USB-C socket, but a role
>> switch
>> >> + * is not implemented: both CC pins are pulled to GND.
>> >> + * The VBUS pins power the device, so a fixed peripheral mode
>> >> + * is the best choice.
>> >> + * The board can be powered via GPIOs, in this case port0
>> *can*
>> >> + * act as a host (with a cable/adapter ignoring CC), as VBUS
>> is
>> >> + * then provided by the GPIOs. Any user of this setup would
>> >> + * need to adjust the DT accordingly: dr_mode set to "host",
>> >> + * enabling OHCI0 and EHCI0.
>> >> + */
>> >
>> > Above text is verbatim copy from OrangePi Zero2 and I'm not sure
>> if
>> > it is
>> > fully accurate for this board too. Looking at board photo, it
>> surely
>> > looks
>> > like this board has same USB design as Zero2. But if that's true,
>> you
>> > shouldn't enable OHCI0 and EHCI0 nodes.
>>
>> Correct. But M8P has a dip switch that enables or disables usbotg.
>> As for if it does anything its hard to say.
>>
>> > Is there any board schematic publicly available for this board?
>>
>> This is one of the issues. Im in contact with BIQU and asking for
>> the
>> schematics.
>> I hope we can get them released ASAP as it would help me as well.
>>
>> > Best regards,
>> > Jernej
>> >
>> >> + dr_mode = "peripheral";
>> >> + status = "okay";
>> >> +};
>> >> +
>> >> +&usbphy {
>> >> + usb1_vbus-supply = <®_usb1_vbus>;
>> >> + status = "okay";
>> >> +};
>>
>> Best Regards,
>> Martin
>
>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-11-14 21:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-14 17:20 [PATCH V2 1/2] dt-bindings: arm: sunxi: Add BIQU CB1 Martin Botka
2022-11-14 17:20 ` [PATCH V2 2/2] arm64: dts: Add basic support for " Martin Botka
2022-11-14 20:16 ` Jernej Škrabec
2022-11-14 20:38 ` Martin Botka
2022-11-14 20:47 ` Jernej Škrabec
2022-11-14 21:00 ` Martin Botka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox