All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh+dt@kernel.org>
To: Ash Logan <ash@heyquark.com>
Cc: "Paul Mackerras" <paulus@samba.org>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	"Jonathan Neuschäfer" <j.ne@posteo.net>,
	"Roberto Van Eeden" <rw-r-r-0644@protonmail.com>,
	"Emmanuel Gil Peyrot" <linkmauve@linkmauve.fr>
Subject: Re: [PATCH 02/12] powerpc: wiiu: device tree
Date: Wed, 2 Mar 2022 07:36:33 -0600	[thread overview]
Message-ID: <CAL_Jsq+ej_vZHRfjNk61ogEstsqwJXx8bkRJa4vhnQss1bzYSA@mail.gmail.com> (raw)
In-Reply-To: <20220302044406.63401-3-ash@heyquark.com>

On Tue, Mar 1, 2022 at 10:44 PM Ash Logan <ash@heyquark.com> wrote:
>
> Add a device tree source file for the Nintendo Wii U video game console.

Test this with 'make W=1 dtbs_checks'.

>
> Signed-off-by: Ash Logan <ash@heyquark.com>
> Co-developed-by: Roberto Van Eeden <rw-r-r-0644@protonmail.com>
> Signed-off-by: Roberto Van Eeden <rw-r-r-0644@protonmail.com>
> Co-developed-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> ---
>  arch/powerpc/boot/dts/wiiu.dts | 327 +++++++++++++++++++++++++++++++++
>  1 file changed, 327 insertions(+)
>  create mode 100644 arch/powerpc/boot/dts/wiiu.dts
>
> diff --git a/arch/powerpc/boot/dts/wiiu.dts b/arch/powerpc/boot/dts/wiiu.dts
> new file mode 100644
> index 000000000000..aaf264963f61
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/wiiu.dts
> @@ -0,0 +1,327 @@
> +// SPDX-License-Identifier: GPL-2.0

What about non-GPL environments?

> +/*
> + * Nintendo Wii U Device Tree Source
> + *
> + * Copyright (C) 2022 The linux-wiiu Team
> + */
> +
> +/dts-v1/;
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +       model = "nintendo,wiiu";
> +       compatible = "nintendo,wiiu";
> +
> +       #address-cells = <1>;
> +       #size-cells = <1>;
> +
> +       chosen {
> +               bootargs = "root=/dev/sda1 rootwait";
> +       };
> +
> +       memory {
> +               device_type = "memory";
> +               reg = <0x00000000 0x02000000    /* MEM1 - 32MiB */
> +                      0x08000000 0x00300000    /* MEM0 - 3MiB  */
> +                      0x10000000 0x80000000>;  /* MEM2 - 2GiB  */
> +       };
> +
> +       cpus {
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +
> +               /* TODO: Add SMP */
> +               PowerPC,espresso@0 {
> +                       device_type = "cpu";
> +                       reg = <0>;
> +                       clock-frequency = <1243125000>;         /* 1.243125GHz */
> +                       bus-frequency = <248625000>;            /* 248.625MHz core-to-bus 5x */
> +                       timebase-frequency = <62156250>;        /* 1/4 of the bus clock */
> +                       i-cache-size = <32768>; /* 32K icache */
> +                       i-cache-line-size = <32>;
> +                       i-cache-block-size = <32>;
> +                       i-cache-sets = <128>;
> +                       d-cache-size = <32768>; /* 32K dcache */
> +                       d-cache-line-size = <32>;
> +                       d-cache-block-size = <32>;
> +                       d-cache-sets = <128>;
> +                       next-level-cache = <&L2_0>;
> +                       L2_0:l2-cache {
> +                               compatible = "cache";
> +                               cache-level = <2>;
> +                               cache-unified;
> +                               cache-size = <0x80000>; /* 512KB L2 */
> +                               cache-line-size = <64>;
> +                               cache-block-size = <32>;
> +                               cache-sets = <2048>;
> +                       };
> +               };
> +       };
> +
> +       latte {
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               compatible = "nintendo,latte";
> +               ranges = <0x0c000000 0x0c000000 0x00400000      /* Espresso-only registers */
> +                         0x0d000000 0x0d000000 0x00200000      /* Latte AHB deivces */
> +                         0x0d800000 0x0d800000 0x00800000>;    /* Latte SoC registers */
> +
> +               gpu7@c200000 {

gpu@...

> +                       compatible = "nintendo,latte-gpu7";
> +                       reg = <0x0c200000 0x80000>;
> +                       interrupts = <2>;
> +                       interrupt-parent = <&espresso_pic>;
> +               };
> +
> +               espresso_pic: pic@c000078 {
> +                       #interrupt-cells = <1>;
> +                       interrupt-controller;
> +
> +                       compatible = "nintendo,espresso-pic";
> +                       reg = <0x0c000078 0x18>;
> +               };
> +
> +               latte_dsp: dsp@c005000 {
> +                       compatible = "nintendo,latte-dsp";
> +                       reg = <0x0c005000 0x200>;
> +               };
> +
> +               ehci_0: usb@d040000 {
> +                       compatible = "nintendo,latte-usb-ehci", "usb-ehci";
> +                       reg = <0x0d040000 0x100>;
> +                       interrupts = <4>;
> +                       interrupt-parent = <&latte_pic>;
> +                       big-endian-regs;
> +               };
> +
> +               ohci_0_0: usb@d050000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d050000 0x100>;
> +                       interrupts = <5>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               ohci_0_1: usb@d060000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d060000 0x100>;
> +                       interrupts = <6>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               ehci_1: usb@d120000 {
> +                       compatible = "nintendo,latte-usb-ehci", "usb-ehci";
> +                       reg = <0x0d120000 0x100>;
> +                       interrupts = <16>;
> +                       interrupt-parent = <&latte_pic>;
> +                       big-endian-regs;
> +               };
> +
> +               ohci_1_0: usb@d130000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d130000 0x100>;
> +                       interrupts = <35>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               ehci_2: usb@d140000 {
> +                       compatible = "nintendo,latte-usb-ehci", "usb-ehci";
> +                       reg = <0x0d140000 0x100>;
> +                       interrupts = <36>;
> +                       interrupt-parent = <&latte_pic>;
> +                       big-endian-regs;
> +               };
> +
> +               ohci_2_0: usb@d150000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d150000 0x100>;
> +                       interrupts = <37>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               sdcard_0: sdhci@d070000 {
> +                       compatible = "nintendo,latte-sdhci","sdhci";
> +                       reg = <0x0d070000 0x200>;
> +                       interrupts = <7>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               wifi_0: sdhci@d080000 {
> +                       compatible = "nintendo,latte-sdhci","sdhci";
> +                       reg = <0x0d080000 0x200>;
> +                       interrupts = <8>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               legacy_ipc: ipc@d800000 {
> +                       compatible = "nintendo,latte-ipc","nintendo,hollywood-ipc";

space between compatibles needed.

> +                       reg = <0x0d800000 0x10>;
> +                       interrupts = <30 31>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               latte_otp: otp@d8001ec {
> +                       compatible = "nintendo,latte-otp";
> +                       reg = <0x0d8001ec 0x8>;
> +               };
> +
> +               sata: ahci@d160400 {
> +                       compatible = "nintendo,latte-ahci";
> +                       reg = <0x0d160400 0x808>;
> +
> +                       interrupt-parent = <&latte_pic>;
> +                       interrupts = <38 28>;
> +               };
> +
> +               latte_pic: pic@d800440 {
> +                       #interrupt-cells = <1>;
> +                       interrupt-controller;
> +
> +                       compatible = "nintendo,latte-pic";
> +                       reg = <0x0d800440 0x30>;
> +                       interrupt-parent = <&espresso_pic>;
> +                       interrupts = <24>;
> +               };
> +
> +               gpio: gpio@d8000c0 {
> +                       #gpio-cells = <2>;
> +                       compatible = "nintendo,latte-gpio", "nintendo,hollywood-gpio";
> +
> +                       reg = <0x0d8000c0 0x40>;
> +                       gpio-controller;
> +                       /* TODO: There are actually 31 AHBALL GPIOs */
> +                       ngpios = <24>;
> +
> +                       gpio-line-names =
> +                               "POWER", "DWIFI", "FAN", "DC_DC",
> +                               "", "Esp10WorkAround", "", "",
> +                               "PADPD", "", "EEP_CS", "EEP_CLK",
> +                               "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA",
> +                               "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3",
> +                               "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7";
> +
> +                       interrupt-controller;
> +                       #interrupt-cells = <2>;
> +                       interrupts = <10>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               spi_gpio: spi-gpio {

Move this to root level. It's not on the 'latte' bus.

> +                       compatible = "spi-gpio";
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       status = "okay";

Not needed, that's the default.

> +
> +                       cs-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
> +                       gpio-sck = <&gpio 11 GPIO_ACTIVE_HIGH>;
> +                       gpio-mosi = <&gpio 12 GPIO_ACTIVE_HIGH>;
> +                       gpio-miso = <&gpio 13 GPIO_ACTIVE_HIGH>;
> +                       num-chipselects = <1>;
> +
> +                       seeprom@0 {

eeprom@0

> +                               compatible = "atmel,at93c66";
> +                               reg = <0>;
> +                               spi-max-frequency = <1000000>;
> +                               spi-cs-high;
> +                               /* TODO: wiiubrew says this is 16-bit, but I only get the correct
> +                                * values in 8-bit...
> +                                */
> +                               data-size = <8>;
> +                               read-only;
> +
> +                               #address-cells = <1>;
> +                               #size-cells = <1>;
> +
> +                               /* https://wiiubrew.org/wiki/Hardware/SEEPROM */
> +                               rng_seed: rng@12 { reg = <0x012 8>; };
> +                               ppc_pvr: pvr@20 { reg = <0x020 4>; };
> +                               seeprom_ver_str: sver-str@24 { reg = <0x024 6>; };
> +                               seeprom_ver: sver@2a { reg = <0x02A 2>; };
> +                               otp_ver: over@2c { reg = <0x02C 2>; };
> +                               otp_rev: orev@2e { reg = <0x02E 2>; };
> +                               otp_ver_str: over-str@30 { reg = <0x030 8>; };
> +
> +                               bc_crc: bc-crc@38 { reg = <0x038 4>; };
> +                               bc_sz: bc-sz@3c { reg = <0x03C 2>; };
> +                               bc_ver: bc-ver@3e { reg = <0x03E 2>; };
> +                               bc_boardtype: boardtype@42 { reg = <0x042 2>; };
> +                               bc_boardrev: boardrev@44 { reg = <0x044 2>; };
> +                               bc_bootsource: bootsource@46 { reg = <0x046 2>; };
> +                               bc_ddr3size: ddr3size@48 { reg = <0x048 2>; };
> +                               bc_ddr3speed: ddr3speed@4a { reg = <0x04A 2>; };
> +                               bc_ppcclockmul: ppcclockmul@4c { reg = <0x04C 2>; };
> +                               bc_iopclockmul: iopclockmul@46 { reg = <0x04E 2>; };
> +                               bc_video1080p: video1080p@50 { reg = <0x050 2>; };
> +                               bc_ddr3vendor: ddr3vendor@52 { reg = <0x052 2>; };
> +                               bc_movpassivereset: movpassivereset@54 { reg = <0x054 2>; };
> +                               bc_syspllspd: syspllspd@56 { reg = <0x056 2>; };
> +                               bc_satadevice: satadevice@58 { reg = <0x058 2>; };
> +                               bc_consoletype: consoletype@5a { reg = <0x05A 2>; };
> +                               bc_deviceprescence: deviceprescence@5c { reg = <0x05C 2>; };
> +
> +                               drive_key: drvkey@80 { reg = <0x080 16>; };
> +                               factory_key: fackey@90 { reg = <0x090 16>; };
> +                               shdd_key: shddkey@a0 { reg = <0x0A0 16>; };
> +                               usb_key_seed: usbkeyseed@b0 { reg = <0x0B0 16>; };
> +                               drive_key_flag: drvkeyf@c0 { reg = <0x0C0 2>; };
> +                               usb_key_flag: udbkeyf@c2 { reg = <0x0C2 2>; };
> +                               shdd_key_flag: shddkeyf@c4 { reg = <0x0C4 2>; };
> +
> +                               sysprod_version: sp_ver@140 { reg = <0x140 4>; };
> +                               sysprod_eeprom_version: sp_ee_ver@144 { reg = <0x144 4>; };
> +                               sysprod_product_area: sp_parea@148 { reg = <0x148 4>; };
> +                               sysprod_game_region: sp_region@14c { reg = <0x14C 4>; };
> +                               sysprod_ntsc_pal: sp_ntscpal@150 { reg = <0x150 4>; };
> +                               sysprod_5ghz_country: sp_5ghz_c@154 { reg = <0x154 2>; };
> +                               sysprod_5ghz_country_rev: sp_5ghz_crev@156 { reg = <0x156 2>; };
> +                               sysprod_code: sp_code@158 { reg = <0x158 8>; };
> +                               sysprod_serial: sp_serial@160 { reg = <0x160 16>; };
> +                               sysprod_model: sp_model@170 { reg = <0x170 16>; };
> +
> +                               prod_year: pyear@188 { reg = <0x188 2>; };
> +                               prod_date: pdate@18a { reg = <0x18A 2>; };
> +                               prod_time: ptime@18c { reg = <0x18C 2>; };
> +
> +                               boot_params: boot_params@1c0 { reg = <0x1C0 48>; };
> +                       };
> +               };
> +
> +               /* TODO make this gpio-keyed once hollywood-gpio supports interrupts */
> +               gpio-keys-polled {

This too.

> +                       poll-interval = <50>;
> +                       compatible = "gpio-keys-polled";
> +
> +                       power {
> +                               label = "Power Button";
> +                               gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
> +                               linux,code = <KEY_POWER>;
> +                       };
> +               };
> +
> +               gpio2: gpio2@d8000c0 {

gpio@d800520

> +                       #gpio-cells = <2>;
> +                       compatible = "nintendo,latte-gpio", "nintendo,hollywood-gpio";
> +
> +                       reg = <0x0d800520 0x40>;
> +                       gpio-controller;
> +                       ngpios = <7>;
> +
> +                       gpio-line-names =
> +                               "FANSPEED", "SMC_SCL", "SMC_SDA", "DC_DC2",
> +                               "AVE_INT", "", "AVE_RESET";
> +
> +                       interrupt-controller;
> +                       #interrupt-cells = <2>;
> +                       interrupts = <10>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +       };
> +};
> --
> 2.35.1
>

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh+dt@kernel.org>
To: Ash Logan <ash@heyquark.com>
Cc: "Emmanuel Gil Peyrot" <linkmauve@linkmauve.fr>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Paul Mackerras" <paulus@samba.org>,
	"Roberto Van Eeden" <rw-r-r-0644@protonmail.com>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	"Jonathan Neuschäfer" <j.ne@posteo.net>
Subject: Re: [PATCH 02/12] powerpc: wiiu: device tree
Date: Wed, 2 Mar 2022 07:36:33 -0600	[thread overview]
Message-ID: <CAL_Jsq+ej_vZHRfjNk61ogEstsqwJXx8bkRJa4vhnQss1bzYSA@mail.gmail.com> (raw)
In-Reply-To: <20220302044406.63401-3-ash@heyquark.com>

On Tue, Mar 1, 2022 at 10:44 PM Ash Logan <ash@heyquark.com> wrote:
>
> Add a device tree source file for the Nintendo Wii U video game console.

Test this with 'make W=1 dtbs_checks'.

>
> Signed-off-by: Ash Logan <ash@heyquark.com>
> Co-developed-by: Roberto Van Eeden <rw-r-r-0644@protonmail.com>
> Signed-off-by: Roberto Van Eeden <rw-r-r-0644@protonmail.com>
> Co-developed-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> ---
>  arch/powerpc/boot/dts/wiiu.dts | 327 +++++++++++++++++++++++++++++++++
>  1 file changed, 327 insertions(+)
>  create mode 100644 arch/powerpc/boot/dts/wiiu.dts
>
> diff --git a/arch/powerpc/boot/dts/wiiu.dts b/arch/powerpc/boot/dts/wiiu.dts
> new file mode 100644
> index 000000000000..aaf264963f61
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/wiiu.dts
> @@ -0,0 +1,327 @@
> +// SPDX-License-Identifier: GPL-2.0

What about non-GPL environments?

> +/*
> + * Nintendo Wii U Device Tree Source
> + *
> + * Copyright (C) 2022 The linux-wiiu Team
> + */
> +
> +/dts-v1/;
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +       model = "nintendo,wiiu";
> +       compatible = "nintendo,wiiu";
> +
> +       #address-cells = <1>;
> +       #size-cells = <1>;
> +
> +       chosen {
> +               bootargs = "root=/dev/sda1 rootwait";
> +       };
> +
> +       memory {
> +               device_type = "memory";
> +               reg = <0x00000000 0x02000000    /* MEM1 - 32MiB */
> +                      0x08000000 0x00300000    /* MEM0 - 3MiB  */
> +                      0x10000000 0x80000000>;  /* MEM2 - 2GiB  */
> +       };
> +
> +       cpus {
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +
> +               /* TODO: Add SMP */
> +               PowerPC,espresso@0 {
> +                       device_type = "cpu";
> +                       reg = <0>;
> +                       clock-frequency = <1243125000>;         /* 1.243125GHz */
> +                       bus-frequency = <248625000>;            /* 248.625MHz core-to-bus 5x */
> +                       timebase-frequency = <62156250>;        /* 1/4 of the bus clock */
> +                       i-cache-size = <32768>; /* 32K icache */
> +                       i-cache-line-size = <32>;
> +                       i-cache-block-size = <32>;
> +                       i-cache-sets = <128>;
> +                       d-cache-size = <32768>; /* 32K dcache */
> +                       d-cache-line-size = <32>;
> +                       d-cache-block-size = <32>;
> +                       d-cache-sets = <128>;
> +                       next-level-cache = <&L2_0>;
> +                       L2_0:l2-cache {
> +                               compatible = "cache";
> +                               cache-level = <2>;
> +                               cache-unified;
> +                               cache-size = <0x80000>; /* 512KB L2 */
> +                               cache-line-size = <64>;
> +                               cache-block-size = <32>;
> +                               cache-sets = <2048>;
> +                       };
> +               };
> +       };
> +
> +       latte {
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               compatible = "nintendo,latte";
> +               ranges = <0x0c000000 0x0c000000 0x00400000      /* Espresso-only registers */
> +                         0x0d000000 0x0d000000 0x00200000      /* Latte AHB deivces */
> +                         0x0d800000 0x0d800000 0x00800000>;    /* Latte SoC registers */
> +
> +               gpu7@c200000 {

gpu@...

> +                       compatible = "nintendo,latte-gpu7";
> +                       reg = <0x0c200000 0x80000>;
> +                       interrupts = <2>;
> +                       interrupt-parent = <&espresso_pic>;
> +               };
> +
> +               espresso_pic: pic@c000078 {
> +                       #interrupt-cells = <1>;
> +                       interrupt-controller;
> +
> +                       compatible = "nintendo,espresso-pic";
> +                       reg = <0x0c000078 0x18>;
> +               };
> +
> +               latte_dsp: dsp@c005000 {
> +                       compatible = "nintendo,latte-dsp";
> +                       reg = <0x0c005000 0x200>;
> +               };
> +
> +               ehci_0: usb@d040000 {
> +                       compatible = "nintendo,latte-usb-ehci", "usb-ehci";
> +                       reg = <0x0d040000 0x100>;
> +                       interrupts = <4>;
> +                       interrupt-parent = <&latte_pic>;
> +                       big-endian-regs;
> +               };
> +
> +               ohci_0_0: usb@d050000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d050000 0x100>;
> +                       interrupts = <5>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               ohci_0_1: usb@d060000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d060000 0x100>;
> +                       interrupts = <6>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               ehci_1: usb@d120000 {
> +                       compatible = "nintendo,latte-usb-ehci", "usb-ehci";
> +                       reg = <0x0d120000 0x100>;
> +                       interrupts = <16>;
> +                       interrupt-parent = <&latte_pic>;
> +                       big-endian-regs;
> +               };
> +
> +               ohci_1_0: usb@d130000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d130000 0x100>;
> +                       interrupts = <35>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               ehci_2: usb@d140000 {
> +                       compatible = "nintendo,latte-usb-ehci", "usb-ehci";
> +                       reg = <0x0d140000 0x100>;
> +                       interrupts = <36>;
> +                       interrupt-parent = <&latte_pic>;
> +                       big-endian-regs;
> +               };
> +
> +               ohci_2_0: usb@d150000 {
> +                       compatible = "nintendo,latte-usb-ohci";
> +                       reg = <0x0d150000 0x100>;
> +                       interrupts = <37>;
> +                       interrupt-parent = <&latte_pic>;
> +
> +                       big-endian-regs;
> +               };
> +
> +               sdcard_0: sdhci@d070000 {
> +                       compatible = "nintendo,latte-sdhci","sdhci";
> +                       reg = <0x0d070000 0x200>;
> +                       interrupts = <7>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               wifi_0: sdhci@d080000 {
> +                       compatible = "nintendo,latte-sdhci","sdhci";
> +                       reg = <0x0d080000 0x200>;
> +                       interrupts = <8>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               legacy_ipc: ipc@d800000 {
> +                       compatible = "nintendo,latte-ipc","nintendo,hollywood-ipc";

space between compatibles needed.

> +                       reg = <0x0d800000 0x10>;
> +                       interrupts = <30 31>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               latte_otp: otp@d8001ec {
> +                       compatible = "nintendo,latte-otp";
> +                       reg = <0x0d8001ec 0x8>;
> +               };
> +
> +               sata: ahci@d160400 {
> +                       compatible = "nintendo,latte-ahci";
> +                       reg = <0x0d160400 0x808>;
> +
> +                       interrupt-parent = <&latte_pic>;
> +                       interrupts = <38 28>;
> +               };
> +
> +               latte_pic: pic@d800440 {
> +                       #interrupt-cells = <1>;
> +                       interrupt-controller;
> +
> +                       compatible = "nintendo,latte-pic";
> +                       reg = <0x0d800440 0x30>;
> +                       interrupt-parent = <&espresso_pic>;
> +                       interrupts = <24>;
> +               };
> +
> +               gpio: gpio@d8000c0 {
> +                       #gpio-cells = <2>;
> +                       compatible = "nintendo,latte-gpio", "nintendo,hollywood-gpio";
> +
> +                       reg = <0x0d8000c0 0x40>;
> +                       gpio-controller;
> +                       /* TODO: There are actually 31 AHBALL GPIOs */
> +                       ngpios = <24>;
> +
> +                       gpio-line-names =
> +                               "POWER", "DWIFI", "FAN", "DC_DC",
> +                               "", "Esp10WorkAround", "", "",
> +                               "PADPD", "", "EEP_CS", "EEP_CLK",
> +                               "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA",
> +                               "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3",
> +                               "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7";
> +
> +                       interrupt-controller;
> +                       #interrupt-cells = <2>;
> +                       interrupts = <10>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +
> +               spi_gpio: spi-gpio {

Move this to root level. It's not on the 'latte' bus.

> +                       compatible = "spi-gpio";
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       status = "okay";

Not needed, that's the default.

> +
> +                       cs-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
> +                       gpio-sck = <&gpio 11 GPIO_ACTIVE_HIGH>;
> +                       gpio-mosi = <&gpio 12 GPIO_ACTIVE_HIGH>;
> +                       gpio-miso = <&gpio 13 GPIO_ACTIVE_HIGH>;
> +                       num-chipselects = <1>;
> +
> +                       seeprom@0 {

eeprom@0

> +                               compatible = "atmel,at93c66";
> +                               reg = <0>;
> +                               spi-max-frequency = <1000000>;
> +                               spi-cs-high;
> +                               /* TODO: wiiubrew says this is 16-bit, but I only get the correct
> +                                * values in 8-bit...
> +                                */
> +                               data-size = <8>;
> +                               read-only;
> +
> +                               #address-cells = <1>;
> +                               #size-cells = <1>;
> +
> +                               /* https://wiiubrew.org/wiki/Hardware/SEEPROM */
> +                               rng_seed: rng@12 { reg = <0x012 8>; };
> +                               ppc_pvr: pvr@20 { reg = <0x020 4>; };
> +                               seeprom_ver_str: sver-str@24 { reg = <0x024 6>; };
> +                               seeprom_ver: sver@2a { reg = <0x02A 2>; };
> +                               otp_ver: over@2c { reg = <0x02C 2>; };
> +                               otp_rev: orev@2e { reg = <0x02E 2>; };
> +                               otp_ver_str: over-str@30 { reg = <0x030 8>; };
> +
> +                               bc_crc: bc-crc@38 { reg = <0x038 4>; };
> +                               bc_sz: bc-sz@3c { reg = <0x03C 2>; };
> +                               bc_ver: bc-ver@3e { reg = <0x03E 2>; };
> +                               bc_boardtype: boardtype@42 { reg = <0x042 2>; };
> +                               bc_boardrev: boardrev@44 { reg = <0x044 2>; };
> +                               bc_bootsource: bootsource@46 { reg = <0x046 2>; };
> +                               bc_ddr3size: ddr3size@48 { reg = <0x048 2>; };
> +                               bc_ddr3speed: ddr3speed@4a { reg = <0x04A 2>; };
> +                               bc_ppcclockmul: ppcclockmul@4c { reg = <0x04C 2>; };
> +                               bc_iopclockmul: iopclockmul@46 { reg = <0x04E 2>; };
> +                               bc_video1080p: video1080p@50 { reg = <0x050 2>; };
> +                               bc_ddr3vendor: ddr3vendor@52 { reg = <0x052 2>; };
> +                               bc_movpassivereset: movpassivereset@54 { reg = <0x054 2>; };
> +                               bc_syspllspd: syspllspd@56 { reg = <0x056 2>; };
> +                               bc_satadevice: satadevice@58 { reg = <0x058 2>; };
> +                               bc_consoletype: consoletype@5a { reg = <0x05A 2>; };
> +                               bc_deviceprescence: deviceprescence@5c { reg = <0x05C 2>; };
> +
> +                               drive_key: drvkey@80 { reg = <0x080 16>; };
> +                               factory_key: fackey@90 { reg = <0x090 16>; };
> +                               shdd_key: shddkey@a0 { reg = <0x0A0 16>; };
> +                               usb_key_seed: usbkeyseed@b0 { reg = <0x0B0 16>; };
> +                               drive_key_flag: drvkeyf@c0 { reg = <0x0C0 2>; };
> +                               usb_key_flag: udbkeyf@c2 { reg = <0x0C2 2>; };
> +                               shdd_key_flag: shddkeyf@c4 { reg = <0x0C4 2>; };
> +
> +                               sysprod_version: sp_ver@140 { reg = <0x140 4>; };
> +                               sysprod_eeprom_version: sp_ee_ver@144 { reg = <0x144 4>; };
> +                               sysprod_product_area: sp_parea@148 { reg = <0x148 4>; };
> +                               sysprod_game_region: sp_region@14c { reg = <0x14C 4>; };
> +                               sysprod_ntsc_pal: sp_ntscpal@150 { reg = <0x150 4>; };
> +                               sysprod_5ghz_country: sp_5ghz_c@154 { reg = <0x154 2>; };
> +                               sysprod_5ghz_country_rev: sp_5ghz_crev@156 { reg = <0x156 2>; };
> +                               sysprod_code: sp_code@158 { reg = <0x158 8>; };
> +                               sysprod_serial: sp_serial@160 { reg = <0x160 16>; };
> +                               sysprod_model: sp_model@170 { reg = <0x170 16>; };
> +
> +                               prod_year: pyear@188 { reg = <0x188 2>; };
> +                               prod_date: pdate@18a { reg = <0x18A 2>; };
> +                               prod_time: ptime@18c { reg = <0x18C 2>; };
> +
> +                               boot_params: boot_params@1c0 { reg = <0x1C0 48>; };
> +                       };
> +               };
> +
> +               /* TODO make this gpio-keyed once hollywood-gpio supports interrupts */
> +               gpio-keys-polled {

This too.

> +                       poll-interval = <50>;
> +                       compatible = "gpio-keys-polled";
> +
> +                       power {
> +                               label = "Power Button";
> +                               gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
> +                               linux,code = <KEY_POWER>;
> +                       };
> +               };
> +
> +               gpio2: gpio2@d8000c0 {

gpio@d800520

> +                       #gpio-cells = <2>;
> +                       compatible = "nintendo,latte-gpio", "nintendo,hollywood-gpio";
> +
> +                       reg = <0x0d800520 0x40>;
> +                       gpio-controller;
> +                       ngpios = <7>;
> +
> +                       gpio-line-names =
> +                               "FANSPEED", "SMC_SCL", "SMC_SDA", "DC_DC2",
> +                               "AVE_INT", "", "AVE_RESET";
> +
> +                       interrupt-controller;
> +                       #interrupt-cells = <2>;
> +                       interrupts = <10>;
> +                       interrupt-parent = <&latte_pic>;
> +               };
> +       };
> +};
> --
> 2.35.1
>

  reply	other threads:[~2022-03-02 13:36 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-02  4:43 [PATCH 00/12] powerpc: Nintendo Wii U support Ash Logan
2022-03-02  4:43 ` Ash Logan
2022-03-02  4:43 ` [PATCH 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-03-02  4:43   ` Ash Logan
2022-03-02 13:28   ` Rob Herring
2022-03-02 13:28     ` Rob Herring
2022-03-02  4:43 ` [PATCH 02/12] powerpc: wiiu: device tree Ash Logan
2022-03-02  4:43   ` Ash Logan
2022-03-02 13:36   ` Rob Herring [this message]
2022-03-02 13:36     ` Rob Herring
2022-03-03  2:41     ` Ash Logan
2022-03-03  2:41       ` Ash Logan
2022-03-02  4:43 ` [PATCH 03/12] powerpc: wiiu: bootwrapper support Ash Logan
2022-03-02  4:43   ` Ash Logan
2022-03-02  4:43 ` [PATCH 04/12] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-03-02  4:43   ` Ash Logan
2022-03-02  4:43 ` [PATCH 05/12] powerpc: wiiu: declare as non-coherent Ash Logan
2022-03-02  4:43   ` Ash Logan
2022-03-02  4:44 ` [PATCH 06/12] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-03-02  4:44 ` [PATCH 07/12] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-03-02  4:44 ` [PATCH 08/12] powerpc: wiiu: latte " Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-03-02  4:44 ` [PATCH 09/12] powerpc: espresso processor support Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-03-02  4:44 ` [PATCH 10/12] powerpc: wiiu: platform support Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-03-02  4:44 ` [PATCH 11/12] powerpc: wiiu: don't enforce flat memory Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-05-13 22:43   ` Pali Rohár
2022-05-13 22:43     ` Pali Rohár
2022-05-20  3:41     ` Ash Logan
2022-05-20  3:41       ` Ash Logan
2022-05-20  8:04       ` Pali Rohár
2022-05-20  8:04         ` Pali Rohár
2022-05-20 10:44         ` Ash Logan
2022-05-20 10:44           ` Ash Logan
2022-05-20 12:30           ` Pali Rohár
2022-05-20 12:30             ` Pali Rohár
2022-06-09 22:24             ` Pali Rohár
2022-06-09 22:24               ` Pali Rohár
2022-08-08 18:40               ` Pali Rohár
2022-08-08 18:40                 ` Pali Rohár
2022-09-08 15:25                 ` Christophe Leroy
2022-09-08 15:25                   ` Christophe Leroy
2022-09-08 15:35                   ` Pali Rohár
2022-09-08 15:35                     ` Pali Rohár
2022-09-08 20:17                     ` Fragmented physical memory on powerpc/32 Pali Rohár
2022-09-08 20:17                       ` Pali Rohár
2022-09-10  9:39                       ` Christophe Leroy
2022-09-10  9:39                         ` Christophe Leroy
2022-09-12 14:48                         ` Mike Rapoport
2022-09-12 14:48                           ` Mike Rapoport
2022-09-12 21:16                           ` Pali Rohár
2022-09-12 21:16                             ` Pali Rohár
2022-09-13  6:11                             ` Christophe Leroy
2022-09-13  6:11                               ` Christophe Leroy
2022-09-13 12:36                               ` Christophe Leroy
2022-09-13 12:36                                 ` Christophe Leroy
2022-09-14  9:32                                 ` Mike Rapoport
2022-09-14  9:32                                   ` Mike Rapoport
2022-09-14  9:43                                   ` Christophe Leroy
2022-09-14  9:43                                     ` Christophe Leroy
2022-09-14 15:55                                     ` Mike Rapoport
2022-09-14 15:55                                       ` Mike Rapoport
2022-09-14 19:56                                       ` Pali Rohár
2022-09-14 19:56                                         ` Pali Rohár
2022-03-02  4:44 ` [PATCH 12/12] powerpc: wiiu: Add minimal default config Ash Logan
2022-03-02  4:44   ` Ash Logan
2022-06-22 13:10 ` [PATCH v2 00/12] powerpc: Nintendo Wii U support Ash Logan
2022-06-22 13:10   ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 02/12] powerpc: wiiu: device tree Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 03/12] powerpc: wiiu: bootwrapper support Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 04/12] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 05/12] powerpc: wiiu: declare as non-coherent Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 06/12] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-27  0:15     ` kernel test robot
2022-06-27  0:15       ` kernel test robot
2022-06-22 13:10   ` [PATCH v2 07/12] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 08/12] powerpc: wiiu: latte " Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-27  2:51     ` kernel test robot
2022-06-27  2:51       ` kernel test robot
2022-06-22 13:10   ` [PATCH v2 09/12] powerpc: espresso processor support Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 10/12] powerpc: wiiu: platform support Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 11/12] powerpc: wiiu: don't enforce flat memory Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-22 13:10   ` [PATCH v2 12/12] powerpc: wiiu: Add minimal default config Ash Logan
2022-06-22 13:10     ` Ash Logan
2022-06-28 13:31   ` [PATCH v3 00/12] powerpc: Nintendo Wii U support Ash Logan
2022-06-28 13:31     ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-29  9:52       ` Krzysztof Kozlowski
2022-06-29  9:52         ` Krzysztof Kozlowski
2022-06-28 13:31     ` [PATCH v3 02/12] powerpc: wiiu: device tree Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-29  9:58       ` Krzysztof Kozlowski
2022-06-29  9:58         ` Krzysztof Kozlowski
2022-06-29 16:13         ` Segher Boessenkool
2022-06-29 16:13           ` Segher Boessenkool
2022-06-29 18:13           ` Krzysztof Kozlowski
2022-06-29 18:13             ` Krzysztof Kozlowski
2022-06-29 20:28             ` Segher Boessenkool
2022-06-29 20:28               ` Segher Boessenkool
2022-06-28 13:31     ` [PATCH v3 03/12] powerpc: wiiu: bootwrapper support Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 04/12] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 05/12] powerpc: wiiu: declare as non-coherent Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 06/12] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 07/12] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 08/12] powerpc: wiiu: latte " Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 09/12] powerpc: espresso processor support Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 10/12] powerpc: wiiu: platform support Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 11/12] powerpc: wiiu: don't enforce flat memory Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-06-28 13:31     ` [PATCH v3 12/12] powerpc: wiiu: add minimal default config Ash Logan
2022-06-28 13:31       ` Ash Logan
2022-11-15 14:47     ` [PATCH v3 00/12] powerpc: Nintendo Wii U support Christophe Leroy
2022-11-15 14:47       ` Christophe Leroy
2022-11-19 11:30     ` [PATCH v4 00/11] " Ash Logan
2022-11-19 11:30       ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 01/11] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 21:36         ` Rob Herring
2022-11-19 21:36           ` Rob Herring
2022-11-20 15:30         ` Rob Herring
2022-11-20 15:30           ` Rob Herring
2024-02-20 16:20         ` Christophe Leroy
2024-02-20 16:20           ` Christophe Leroy
2024-02-20 16:24           ` Krzysztof Kozlowski
2024-02-20 16:24             ` Krzysztof Kozlowski
2022-11-19 11:30       ` [PATCH v4 02/11] powerpc: wiiu: device tree Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 03/11] powerpc: wiiu: bootwrapper support Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 04/11] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 05/11] powerpc: wiiu: declare as non-coherent Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 06/11] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 07/11] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 08/11] powerpc: wiiu: latte " Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 09/11] powerpc: espresso processor support Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 10/11] powerpc: wiiu: platform support Ash Logan
2022-11-19 11:30         ` Ash Logan
2022-11-19 11:30       ` [PATCH v4 11/11] powerpc: wiiu: add minimal default config Ash Logan
2022-11-19 11:30         ` Ash Logan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAL_Jsq+ej_vZHRfjNk61ogEstsqwJXx8bkRJa4vhnQss1bzYSA@mail.gmail.com \
    --to=robh+dt@kernel.org \
    --cc=ash@heyquark.com \
    --cc=benh@kernel.crashing.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=j.ne@posteo.net \
    --cc=linkmauve@linkmauve.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=rw-r-r-0644@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.