Support NVIDIA Tegra-based Ouya game console
Subsystems (3)
v2 cover Support NVIDIA Tegra-based Ouya game console
Good Day,
This series introduces upstream kernel support for the Ouya game console device. Please review and apply. Thank you in advance.
Changelog:
v2: - Update pmic and clock handles per Rob Herring's review.
- Add acks from Rob Herring to patch 2 and 3.
Peter Geis (3):
ARM: tegra: Add device-tree for Ouya
dt-bindings: Add vendor prefix for Ouya Inc.
dt-bindings: ARM: tegra: Add Ouya game console
.../devicetree/bindings/arm/tegra.yaml | 3 + .../devicetree/bindings/vendor-prefixes.yaml | 2 + arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/tegra30-ouya.dts | 4498 +++++++++++++++++ 4 files changed, 4505 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/tegra30-ouya.dts
Signature · 1 line
2.25.1
PATCH v2 1/3 ARM: tegra: Add device-tree for Ouya
The Ouya was the sole device produced by Ouya Inc in 2013.
It was a game console originally running Android 5 on top of Linux 3.1.10.
This patch adds the device tree supporting the Ouya. It has been tested on the original variant with Samsung ram.
--- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/tegra30-ouya.dts | 4498 ++++++++++++++++++++++++++++ 2 files changed, 4500 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/tegra30-ouya.dts
arch/arm/boot/dts/Makefile +2 -1
@@ -1228,7 +1228,8 @@ dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += \ tegra30-beaver.dtb \ tegra30-cardhu-a02.dtb \ tegra30-cardhu-a04.dtb \ - tegra30-colibri-eval-v3.dtb + tegra30-colibri-eval-v3.dtb \ + tegra30-ouya.dtb dtb-$(CONFIG_ARCH_TEGRA_114_SOC) += \ tegra114-dalmore.dtb \ tegra114-roth.dtb \
arch/arm/boot/dts/tegra30-ouya.dts new file +4498 -0
2,991 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.25.1
Part of the diff is not shown here. View the raw message.
Re: [PATCH v2 1/3] ARM: tegra: Add device-tree for Ouya
...
arch/arm/boot/dts/tegra30-ouya.dts line 22
Quoted 11 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +11
-0+/ { + model = "Ouya Game Console"; + compatible = "ouya,ouya", "nvidia,tegra30"; + + aliases { + rtc0 = &pmic; + rtc1 = "/rtc@7000e000"; + serial0 = &uartd; /* Debug Port */ + serial1 = &uartc; /* Bluetooth */ + mmc0 = &sdmmc4; /* eMMC */ + mmc1 = &sdmmc3; /* WiFi */
Thierry may want to sort these aliases in alphabet order.
Quoted 1 line
(quoted diff) +1
-0+ };
...
arch/arm/boot/dts/tegra30-ouya.dts line 140
Quoted 9 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +9
-0+ pmic: pmic@2d { + compatible = "ti,tps65911"; + reg = <0x2d>; + + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller;
Are the ti,sleep-keep-ck32k and other properties not needed for Ouya like they are needed for Nexus 7?
...
arch/arm/boot/dts/tegra30-ouya.dts line 303
Quoted 8 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +8
-0+ sdmmc3: mmc@78000400 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + + bus-width = <4>; + non-removable;
Recently I added assigned-clocks here for Nexus7/A500 DTs in order to get true 50MHz for the WiFi SDIO.
Quoted 3 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +3
-0+ mmc-pwrseq = <&wifi_pwrseq>; + vmmc-supply = <&sdmmc_3v3_reg>; + vqmmc-supply = <&vdd_1v8>;
Re: [PATCH v2 1/3] ARM: tegra: Add device-tree for Ouya
Quoted 15 lines · Dmitry Osipenko
...
arch/arm/boot/dts/tegra30-ouya.dts line 22
Quoted 11 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +11
-0+/ { + model = "Ouya Game Console"; + compatible = "ouya,ouya", "nvidia,tegra30"; + + aliases { + rtc0 = &pmic; + rtc1 = "/rtc@7000e000"; + serial0 = &uartd; /* Debug Port */ + serial1 = &uartc; /* Bluetooth */ + mmc0 = &sdmmc4; /* eMMC */ + mmc1 = &sdmmc3; /* WiFi */Thierry may want to sort these aliases in alphabet order.
Thanks, I'll fix this.
Quoted 4 lines
Quoted 2 lines
+ };
...
Quoted 12 lines
arch/arm/boot/dts/tegra30-ouya.dts line 140
Quoted 9 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +9
-0+ pmic: pmic@2d { + compatible = "ti,tps65911"; + reg = <0x2d>; + + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller;Are the ti,sleep-keep-ck32k and other properties not needed for Ouya like they are needed for Nexus 7?
Ouya is wall powered, so ultra low power isn't terribly necessary. Also with LP1 and LP0 not working, it doesn't make much sense to implement this yet.
Quoted 13 lines
...
arch/arm/boot/dts/tegra30-ouya.dts line 303
Quoted 8 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +8
-0+ sdmmc3: mmc@78000400 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + + bus-width = <4>; + non-removable;Recently I added assigned-clocks here for Nexus7/A500 DTs in order to get true 50MHz for the WiFi SDIO.
Thanks, it seems we are running at 48MHz right now, so I'll look into this.
Quoted 4 lines
Quoted 4 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +3
-0+ mmc-pwrseq = <&wifi_pwrseq>; + vmmc-supply = <&sdmmc_3v3_reg>; + vqmmc-supply = <&vdd_1v8>;
Re: [PATCH v2 1/3] ARM: tegra: Add device-tree for Ouya
26.09.2020 05:01, Peter Geis пишет:
...
Quoted 13 lines
Quoted 4 lines
Quoted 4 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +4
-0+ pmic: pmic@2d { + compatible = "ti,tps65911"; + reg = <0x2d>; +Quoted 8 lines
arch/arm/boot/dts/tegra30-ouya.dts line 140
Quoted 5 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +5
-0+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller;Are the ti,sleep-keep-ck32k and other properties not needed for Ouya like they are needed for Nexus 7?
Quoted 3 lines
Ouya is wall powered, so ultra low power isn't terribly necessary. Also with LP1 and LP0 not working, it doesn't make much sense to implement this yet.
The keep-ck32 is not about power saving. If PMC is running off PMIC's oscillator during LP1 suspend, then this should be one of the reasons why LP1 doesn't work for you.
Re: [PATCH v2 1/3] ARM: tegra: Add device-tree for Ouya
26.09.2020 16:47, Dmitry Osipenko пишет:
Quoted 15 lines
26.09.2020 05:01, Peter Geis пишет:
...Quoted 13 lines
Quoted 12 lines
arch/arm/boot/dts/tegra30-ouya.dts line 140
Quoted 9 lines
arch/arm/boot/dts/tegra30-ouya.dts new file +9
-0+ pmic: pmic@2d { + compatible = "ti,tps65911"; + reg = <0x2d>; + + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller;Are the ti,sleep-keep-ck32k and other properties not needed for Ouya like they are needed for Nexus 7?
Quoted 8 lines
Quoted 3 lines
Ouya is wall powered, so ultra low power isn't terribly necessary. Also with LP1 and LP0 not working, it doesn't make much sense to implement this yet.
The keep-ck32 is not about power saving. If PMC is running off PMIC's oscillator during LP1 suspend, then this should be one of the reasons why LP1 doesn't work for you.
I missed that you set nvidia,suspend-mode to LP2, so perhaps should be good as-is for now.
PATCH v2 2/3 dt-bindings: Add vendor prefix for Ouya Inc.
In reply to Peter GeisOuya is a defunct company from 2012 to 2015.
They produced a single device, the Ouya game console.
In 2015 they were purchased by Razer Inc. and the Ouya was discontinued. All Ouya services were shuttered in 2019.
--- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
@@ -786,6 +786,8 @@ patternProperties: description: Ortus Technology Co., Ltd. "^osddisplays,.*": description: OSD Displays + "^ouya,.*": + description: Ouya Inc. "^overkiz,.*": description: Overkiz SAS "^ovti,.*":
Signature · 1 line
2.25.1
PATCH v2 3/3 dt-bindings: ARM: tegra: Add Ouya game console
In reply to Peter GeisAdd a binding for the Tegra30-based Ouya game console.
--- Documentation/devicetree/bindings/arm/tegra.yaml | 3 +++ 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/arm/tegra.yaml +3 -0
@@ -69,6 +69,9 @@ properties: - const: asus,tilapia - const: asus,grouper - const: nvidia,tegra30 + - items: + - const: ouya,ouya + - const: nvidia,tegra30 - items: - enum: - nvidia,dalmore
Signature · 1 line
2.25.1