diff options
author | Justin M. Forbes <jforbes@fedoraproject.org> | 2020-04-06 13:56:22 -0500 |
---|---|---|
committer | Justin M. Forbes <jforbes@fedoraproject.org> | 2020-04-06 13:56:22 -0500 |
commit | 0561e0bf0e459dd4b27a77670de838128b87bd0e (patch) | |
tree | 54b6cfe69e901068e8945b46bcd25b23e0db4b26 /arm64-pine64-pinephone.patch | |
parent | 2703d9b16cc4a0cf8b5c25c8af390663092f455b (diff) | |
download | kernel-0561e0bf0e459dd4b27a77670de838128b87bd0e.tar.gz kernel-0561e0bf0e459dd4b27a77670de838128b87bd0e.tar.xz kernel-0561e0bf0e459dd4b27a77670de838128b87bd0e.zip |
Linux v5.6-11374-ga10c9c710f9e
Diffstat (limited to 'arm64-pine64-pinephone.patch')
-rw-r--r-- | arm64-pine64-pinephone.patch | 568 |
1 files changed, 0 insertions, 568 deletions
diff --git a/arm64-pine64-pinephone.patch b/arm64-pine64-pinephone.patch deleted file mode 100644 index 640d53e33..000000000 --- a/arm64-pine64-pinephone.patch +++ /dev/null @@ -1,568 +0,0 @@ -From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman <megous@megous.com> -Date: Thu, 27 Feb 2020 02:26:48 +0100 -Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins - -PinePhone needs I2C2 pins description. Add it, and make it default -for i2c2, since it's the only possiblilty. - -Signed-off-by: Ondrej Jirman <megous@megous.com> -Signed-off-by: Maxime Ripard <maxime@cerno.tech> ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 862b47dc9dc9..107a48f9c5b3 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins { - function = "i2c1"; - }; - -+ i2c2_pins: i2c2-pins { -+ pins = "PE14", "PE15"; -+ function = "i2c2"; -+ }; -+ - /omit-if-no-ref/ - lcd_rgb666_pins: lcd-rgb666-pins { - pins = "PD0", "PD1", "PD2", "PD3", "PD4", -@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 { - interrupts = <GIC_SPI 8 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>; - }; - -- - spi0: spi@1c68000 { - compatible = "allwinner,sun8i-h3-spi"; - reg = <0x01c68000 0x1000>; --- -2.24.1 - -From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman <megous@megous.com> -Date: Thu, 27 Feb 2020 02:26:49 +0100 -Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1 - bindings - -Document board compatible names for Pine64 PinePhone: - -- 1.0 - Developer variant -- 1.1 - Braveheart variant - -Signed-off-by: Ondrej Jirman <megous@megous.com> -Reviewed-by: Rob Herring <robh@kernel.org> -Signed-off-by: Maxime Ripard <maxime@cerno.tech> ---- - Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml -index 159060b65c5d..c632252be48b 100644 ---- a/Documentation/devicetree/bindings/arm/sunxi.yaml -+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml -@@ -636,6 +636,16 @@ properties: - - const: pine64,pinebook - - const: allwinner,sun50i-a64 - -+ - description: Pine64 PinePhone Developer Batch (1.0) -+ items: -+ - const: pine64,pinephone-1.0 -+ - const: allwinner,sun50i-a64 -+ -+ - description: Pine64 PinePhone Braveheart (1.1) -+ items: -+ - const: pine64,pinephone-1.1 -+ - const: allwinner,sun50i-a64 -+ - - description: Pine64 PineTab - items: - - const: pine64,pinetab --- -2.24.1 - -From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman <megous@megous.com> -Date: Thu, 27 Feb 2020 02:26:50 +0100 -Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64 - PinePhone - -At the moment PinePhone comes in two slightly incompatible variants: - -- 1.0: Early Developer Batch -- 1.1: Braveheart Batch - -There will be at least one more incompatible variant in the very near -future, so let's start by sharing the dtsi among multiple variants, -right away, even though the HW description doesn't yet include the -different bits. - -The differences between 1.0 and 1.1 are: change in pins that control -the flash LED, differences in modem power status signal routing, and -maybe some other subtler things, that have not been determined yet. - -This is a basic DT that includes only features that are already -supported by mainline drivers. - -Co-developed-by: Samuel Holland <samuel@sholland.org> -Signed-off-by: Samuel Holland <samuel@sholland.org> -Co-developed-by: Martijn Braam <martijn@brixit.nl> -Signed-off-by: Martijn Braam <martijn@brixit.nl> -Co-developed-by: Luca Weiss <luca@z3ntu.xyz> -Signed-off-by: Luca Weiss <luca@z3ntu.xyz> -Signed-off-by: Bhushan Shah <bshah@kde.org> -Signed-off-by: Icenowy Zheng <icenowy@aosc.io> -Signed-off-by: Ondrej Jirman <megous@megous.com> -Signed-off-by: Maxime Ripard <maxime@cerno.tech> ---- - arch/arm64/boot/dts/allwinner/Makefile | 2 + - .../allwinner/sun50i-a64-pinephone-1.0.dts | 11 + - .../allwinner/sun50i-a64-pinephone-1.1.dts | 11 + - .../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++ - 4 files changed, 403 insertions(+) - create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts - create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts - create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi - -diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile -index 6dad63881cd3..e4d3cd0ac5bb 100644 ---- a/arch/arm64/boot/dts/allwinner/Makefile -+++ b/arch/arm64/boot/dts/allwinner/Makefile -@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb -+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb -+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts -new file mode 100644 -index 000000000000..0c42272106af ---- /dev/null -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts -@@ -0,0 +1,11 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com> -+ -+/dts-v1/; -+ -+#include "sun50i-a64-pinephone.dtsi" -+ -+/ { -+ model = "Pine64 PinePhone Developer Batch (1.0)"; -+ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64"; -+}; -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts -new file mode 100644 -index 000000000000..06a775c41664 ---- /dev/null -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts -@@ -0,0 +1,11 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com> -+ -+/dts-v1/; -+ -+#include "sun50i-a64-pinephone.dtsi" -+ -+/ { -+ model = "Pine64 PinePhone Braveheart (1.1)"; -+ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64"; -+}; -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -new file mode 100644 -index 000000000000..cefda145c3c9 ---- /dev/null -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -@@ -0,0 +1,379 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz> -+// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl> -+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com> -+ -+#include "sun50i-a64.dtsi" -+#include "sun50i-a64-cpu-opp.dtsi" -+ -+#include <dt-bindings/gpio/gpio.h> -+#include <dt-bindings/input/input.h> -+#include <dt-bindings/leds/common.h> -+#include <dt-bindings/pwm/pwm.h> -+ -+/ { -+ aliases { -+ serial0 = &uart0; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ blue { -+ function = LED_FUNCTION_INDICATOR; -+ color = <LED_COLOR_ID_BLUE>; -+ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */ -+ }; -+ -+ green { -+ function = LED_FUNCTION_INDICATOR; -+ color = <LED_COLOR_ID_GREEN>; -+ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */ -+ }; -+ -+ red { -+ function = LED_FUNCTION_INDICATOR; -+ color = <LED_COLOR_ID_RED>; -+ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */ -+ }; -+ }; -+ -+ speaker_amp: audio-amplifier { -+ compatible = "simple-audio-amplifier"; -+ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */ -+ sound-name-prefix = "Speaker Amp"; -+ }; -+ -+ vibrator { -+ compatible = "gpio-vibrator"; -+ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ -+ vcc-supply = <®_dcdc1>; -+ }; -+}; -+ -+&codec { -+ status = "okay"; -+}; -+ -+&codec_analog { -+ cpvdd-supply = <®_eldo1>; -+ status = "okay"; -+}; -+ -+&cpu0 { -+ cpu-supply = <®_dcdc2>; -+}; -+ -+&cpu1 { -+ cpu-supply = <®_dcdc2>; -+}; -+ -+&cpu2 { -+ cpu-supply = <®_dcdc2>; -+}; -+ -+&cpu3 { -+ cpu-supply = <®_dcdc2>; -+}; -+ -+&dai { -+ status = "okay"; -+}; -+ -+&ehci0 { -+ status = "okay"; -+}; -+ -+&ehci1 { -+ status = "okay"; -+}; -+ -+&i2c1 { -+ status = "okay"; -+ -+ /* Magnetometer */ -+ lis3mdl@1e { -+ compatible = "st,lis3mdl-magn"; -+ reg = <0x1e>; -+ vdd-supply = <®_dldo1>; -+ vddio-supply = <®_dldo1>; -+ }; -+ -+ /* Accelerometer/gyroscope */ -+ mpu6050@68 { -+ compatible = "invensense,mpu6050"; -+ reg = <0x68>; -+ interrupt-parent = <&pio>; -+ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */ -+ vdd-supply = <®_dldo1>; -+ vddio-supply = <®_dldo1>; -+ }; -+}; -+ -+/* Connected to pogo pins (external spring based pinheader for user addons) */ -+&i2c2 { -+ status = "okay"; -+}; -+ -+&lradc { -+ vref-supply = <®_aldo3>; -+ status = "okay"; -+ -+ button-200 { -+ label = "Volume Up"; -+ linux,code = <KEY_VOLUMEUP>; -+ channel = <0>; -+ voltage = <200000>; -+ }; -+ -+ button-400 { -+ label = "Volume Down"; -+ linux,code = <KEY_VOLUMEDOWN>; -+ channel = <0>; -+ voltage = <400000>; -+ }; -+}; -+ -+&mmc0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc0_pins>; -+ vmmc-supply = <®_dcdc1>; -+ vqmmc-supply = <®_dcdc1>; -+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ -+ disable-wp; -+ bus-width = <4>; -+ status = "okay"; -+}; -+ -+&mmc2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc2_pins>; -+ vmmc-supply = <®_dcdc1>; -+ vqmmc-supply = <®_dcdc1>; -+ bus-width = <8>; -+ non-removable; -+ cap-mmc-hw-reset; -+ status = "okay"; -+}; -+ -+&ohci0 { -+ status = "okay"; -+}; -+ -+&ohci1 { -+ status = "okay"; -+}; -+ -+&pio { -+ vcc-pb-supply = <®_dcdc1>; -+ vcc-pc-supply = <®_dcdc1>; -+ vcc-pd-supply = <®_dcdc1>; -+ vcc-pe-supply = <®_aldo1>; -+ vcc-pf-supply = <®_dcdc1>; -+ vcc-pg-supply = <®_dldo4>; -+ vcc-ph-supply = <®_dcdc1>; -+}; -+ -+&r_pio { -+ /* -+ * FIXME: We can't add that supply for now since it would -+ * create a circular dependency between pinctrl, the regulator -+ * and the RSB Bus. -+ * -+ * vcc-pl-supply = <®_aldo2>; -+ */ -+}; -+ -+&r_rsb { -+ status = "okay"; -+ -+ axp803: pmic@3a3 { -+ compatible = "x-powers,axp803"; -+ reg = <0x3a3>; -+ interrupt-parent = <&r_intc>; -+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+#include "axp803.dtsi" -+ -+&ac_power_supply { -+ status = "okay"; -+}; -+ -+&battery_power_supply { -+ status = "okay"; -+}; -+ -+®_aldo1 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "dovdd-csi"; -+}; -+ -+®_aldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc-pl"; -+}; -+ -+®_aldo3 { -+ regulator-always-on; -+ regulator-min-microvolt = <2700000>; -+ regulator-max-microvolt = <3300000>; -+ 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 = <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-dsi-sensor"; -+}; -+ -+®_dldo2 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc-mipi-io"; -+}; -+ -+®_dldo3 { -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-name = "avdd-csi"; -+}; -+ -+®_dldo4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-wifi-io"; -+}; -+ -+®_eldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc-lpddr"; -+}; -+ -+®_eldo3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "dvdd-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-lcd-ctp-stk"; -+ status = "okay"; -+}; -+ -+®_ldo_io1 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc-1v8-typec"; -+ status = "okay"; -+}; -+ -+®_rtc_ldo { -+ regulator-name = "vcc-rtc"; -+}; -+ -+&sound { -+ status = "okay"; -+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; -+ simple-audio-card,widgets = "Microphone", "Headset Microphone", -+ "Microphone", "Internal Microphone", -+ "Headphone", "Headphone Jack", -+ "Speaker", "Internal Earpiece", -+ "Speaker", "Internal Speaker"; -+ simple-audio-card,routing = -+ "Headphone Jack", "HP", -+ "Internal Earpiece", "EARPIECE", -+ "Internal Speaker", "Speaker Amp OUTL", -+ "Internal Speaker", "Speaker Amp OUTR", -+ "Speaker Amp INL", "LINEOUT", -+ "Speaker Amp INR", "LINEOUT", -+ "Left DAC", "AIF1 Slot 0 Left", -+ "Right DAC", "AIF1 Slot 0 Right", -+ "AIF1 Slot 0 Left ADC", "Left ADC", -+ "AIF1 Slot 0 Right ADC", "Right ADC", -+ "Internal Microphone", "MBIAS", -+ "MIC1", "Internal Microphone", -+ "Headset Microphone", "HBIAS", -+ "MIC2", "Headset Microphone"; -+}; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_pb_pins>; -+ status = "okay"; -+}; -+ -+/* Connected to the modem (hardware flow control can't be used) */ -+&uart3 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart3_pins>; -+ status = "okay"; -+}; -+ -+&usb_otg { -+ dr_mode = "peripheral"; -+ status = "okay"; -+}; -+ -+&usb_power_supply { -+ status = "okay"; -+}; -+ -+&usbphy { -+ status = "okay"; -+}; --- -2.24.1 - |