| /* |
| * Copyright (c) 2025 Renesas Electronics Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /* |
| * common device tree elements of all (currently supported) RX MCUs |
| */ |
| |
| #include <mem.h> |
| #include <zephyr/dt-bindings/clock/rx_clock.h> |
| #include <zephyr/dt-bindings/pinctrl/renesas/pinctrl-rx.h> |
| |
| / { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| compatible = "renesas,rxv3"; |
| device_type = "cpu"; |
| reg = <0>; |
| status = "okay"; |
| }; |
| }; |
| |
| icu: interrupt-controller@87000 { |
| #interrupt-cells = <2>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "renesas,rx-icu"; |
| interrupt-controller; |
| reg = <0x0087000 0xff>, |
| <0x0087200 0x1f>, |
| <0x0087300 0xff>, |
| <0x00872f0 0x02>, |
| <0x0087500 0x0f>, |
| <0x0087510 0x01>, |
| <0x0087514 0x01>, |
| <0x0087580 0x01>, |
| <0x0087581 0x01>, |
| <0x0087582 0x01>; |
| reg-names = "IR", "IER", "IPR", "FIR", "IRQCR", "IRQFLTE", "IRQFLTC0", "NMISR", |
| "NMIER", "NMICLR"; |
| |
| swint1: swint1@872e0 { |
| compatible = "renesas,rx-swint"; |
| reg = <0x000872e0 0x01>; |
| interrupts = <27 14>; |
| interrupt-parent = <&icu>; |
| status = "okay"; |
| }; |
| }; |
| |
| dtc: rx-dtc@82400 { |
| compatible = "renesas,rx-dtc"; |
| reg = <0x00082400 0x01>; |
| clocks = <&iclk MSTPA 28>; |
| status = "okay"; |
| }; |
| |
| soc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| device_type = "soc"; |
| compatible = "simple-bus"; |
| interrupt-parent = <&icu>; |
| |
| pinctrl: pin-controller@8c11f { |
| compatible = "renesas,rx-pinctrl"; |
| reg = <0x0008C11F 0xb8>; |
| status = "okay"; |
| }; |
| |
| pinmux0: pinmux@8c143 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c143 0x8>; /* P0nPFS */ |
| status = "okay"; |
| }; |
| |
| pinmux1: pinmux@8c14a { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c14a 0x8>; /* P1nPFS */ |
| status = "okay"; |
| }; |
| |
| pinmux2: pinmux@8c150 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c150 0x8>; /* P2nPFS */ |
| status = "okay"; |
| }; |
| |
| pinmux3: pinmux@8c158 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c158 0x8>; /* P3nPFS */ |
| status = "okay"; |
| }; |
| |
| pinmux4: pinmux@8c160 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c160 0x8>; /* P4nPFS */ |
| status = "okay"; |
| }; |
| |
| pinmux5: pinmux@8c169 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c169 0x8>; /* P5nPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxa: pinmux@8c190 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c190 0x8>; /* PAnPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxb: pinmux@8c198 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c198 0x8>; /* PBnPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxc: pinmux@8c1a0 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c1a0 0x8>; /* PCnPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxd: pinmux@8c1a8 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c1a8 0x8>; /* PDnPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxe: pinmux@8c1b0 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c1b0 0x8>; /* PEnPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxh: pinmux@8c1c8 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c1c8 0x8>; /* PHnPFS */ |
| status = "okay"; |
| }; |
| |
| pinmuxj: pinmux@8c1d1 { |
| compatible = "renesas,rx-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x00008c1d1 0x8>; /* PJnPFS */ |
| status = "okay"; |
| }; |
| |
| ioport0: gpio@8c000 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <5>; |
| port = <0>; |
| reg = <0x0008C000 0x01>, |
| <0x0008C020 0x01>, |
| <0x0008C040 0x01>, |
| <0x0008C060 0x01>, |
| <0x0008C0C0 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "PCR"; |
| pinmux = <&pinmux0>; |
| status = "disabled"; |
| }; |
| |
| ioport1: gpio@8c001 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <1>; |
| reg = <0x0008C001 0x01>, |
| <0x0008C021 0x01>, |
| <0x0008C041 0x01>, |
| <0x0008C061 0x01>, |
| <0x0008C082 0x01>, |
| <0x0008C083 0x01>, |
| <0x0008C0C1 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmux1>; |
| status = "disabled"; |
| }; |
| |
| ioport2: gpio@8c002 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <2>; |
| reg = <0x0008C002 0x01>, |
| <0x0008C022 0x01>, |
| <0x0008C042 0x01>, |
| <0x0008C062 0x01>, |
| <0x0008C084 0x01>, |
| <0x0008C085 0x01>, |
| <0x0008C0C2 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmux2>; |
| status = "disabled"; |
| }; |
| |
| ioport3: gpio@8c003 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <3>; |
| reg = <0x0008C003 0x01>, |
| <0x0008C023 0x01>, |
| <0x0008C043 0x01>, |
| <0x0008C063 0x01>, |
| <0x0008C086 0x01>, |
| <0x0008C087 0x01>, |
| <0x0008C0C3 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmux3>; |
| status = "disabled"; |
| }; |
| |
| ioport4: gpio@8c004 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <4>; |
| reg = <0x0008C004 0x01>, |
| <0x0008C024 0x01>, |
| <0x0008C044 0x01>, |
| <0x0008C064 0x01>, |
| <0x0008C0C4 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "PCR"; |
| pinmux = <&pinmux4>; |
| status = "disabled"; |
| }; |
| |
| ioport5: gpio@8c005 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <5>; |
| reg = <0x0008C005 0x01>, |
| <0x0008C025 0x01>, |
| <0x0008C045 0x01>, |
| <0x0008C065 0x01>, |
| <0x0008C08A 0x01>, |
| <0x0008C08B 0x01>, |
| <0x0008C0C5 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmux5>; |
| status = "disabled"; |
| }; |
| |
| ioporta: gpio@8c00a { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <0x2>; |
| ngpios = <8>; |
| port = <10>; |
| reg = <0x0008C00A 0x01>, |
| <0x0008C02A 0x01>, |
| <0x0008C04A 0x01>, |
| <0x0008C06A 0x01>, |
| <0x0008C094 0x01>, |
| <0x0008C095 0x01>, |
| <0x0008C0CA 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmuxa>; |
| status = "disabled"; |
| }; |
| |
| ioportb: gpio@8c00b { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <0x2>; |
| ngpios = <8>; |
| port = <11>; |
| reg = <0x0008C00B 0x01>, |
| <0x0008C02B 0x01>, |
| <0x0008C04B 0x01>, |
| <0x0008C06B 0x01>, |
| <0x0008C096 0x01>, |
| <0x0008C097 0x01>, |
| <0x0008C0CB 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmuxb>; |
| status = "disabled"; |
| }; |
| |
| ioportc: gpio@8c00c { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <0x2>; |
| ngpios = <8>; |
| port = <12>; |
| reg = <0x0008C00C 0x01>, |
| <0x0008C02C 0x01>, |
| <0x0008C04C 0x01>, |
| <0x0008C06C 0x01>, |
| <0x0008C098 0x01>, |
| <0x0008C099 0x01>, |
| <0x0008C0CC 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "ODR1", "PCR"; |
| pinmux = <&pinmuxc>; |
| status = "disabled"; |
| }; |
| |
| ioportd: gpio@8c00d { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <0x2>; |
| ngpios = <8>; |
| port = <13>; |
| reg = <0x0008C00D 0x01>, |
| <0x0008C02D 0x01>, |
| <0x0008C04D 0x01>, |
| <0x0008C06D 0x01>, |
| <0x0008C09A 0x01>, |
| <0x0008C0CD 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "PCR"; |
| pinmux = <&pinmuxd>; |
| status = "okay"; |
| }; |
| |
| ioporte: gpio@8c00e { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <0x2>; |
| ngpios = <8>; |
| port = <14>; |
| reg = <0x0008C00E 0x01>, |
| <0x0008C02E 0x01>, |
| <0x0008C04E 0x01>, |
| <0x0008C06E 0x01>, |
| <0x0008C09C 0x01>, |
| <0x0008C0CE 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "ODR0", "PCR"; |
| pinmux = <&pinmuxe>; |
| status = "disabled"; |
| }; |
| |
| ioporth: gpio@8c011 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <17>; |
| reg = <0x0008C011 0x01>, |
| <0x0008C031 0x01>, |
| <0x0008C051 0x01>, |
| <0x0008C071 0x01>, |
| <0x0008C0D1 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "PCR"; |
| pinmux = <&pinmuxh>; |
| status = "disabled"; |
| }; |
| |
| ioportj: gpio@8c012 { |
| compatible = "renesas,rx-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <8>; |
| port = <18>; |
| reg = <0x0008C012 0x01>, |
| <0x0008C032 0x01>, |
| <0x0008C052 0x01>, |
| <0x0008C072 0x01>, |
| <0x0008C0D2 0x01>; |
| reg-names = "PDR", "PODR", "PIDR", "PMR", "PCR"; |
| pinmux = <&pinmuxj>; |
| status = "disabled"; |
| }; |
| |
| sci1: sci1@8a020 { |
| compatible = "renesas,rx-sci"; |
| interrupts = <219 1>, <220 1>, <221 1>, <218 1>; |
| interrupt-names = "rxi", "txi", "tei", "eri"; |
| reg = <0x8A020 0x20>; |
| clocks = <&pclkb MSTPB 30>; |
| dtc = <&dtc>; |
| channel = <1>; |
| status = "disabled"; |
| |
| uart { |
| compatible = "renesas,rx-uart-sci"; |
| status = "disabled"; |
| }; |
| }; |
| |
| sci5: sci5@8a0a0 { |
| compatible = "renesas,rx-sci"; |
| interrupts = <223 1>, <224 1>, <225 1>, <222 1>; |
| interrupt-names = "rxi", "txi", "tei", "eri"; |
| reg = <0x8A0A0 0x20>; |
| clocks = <&pclkb MSTPB 26>; |
| dtc = <&dtc>; |
| channel = <5>; |
| status = "disabled"; |
| |
| uart { |
| compatible = "renesas,rx-uart-sci"; |
| status = "disabled"; |
| }; |
| }; |
| |
| sci6: sci6@8a0c0 { |
| compatible = "renesas,rx-sci"; |
| interrupts = <227 1>, <228 1>, <229 1>, <226 1>; |
| interrupt-names = "rxi", "txi", "tei", "eri"; |
| reg = <0x8A0C0 0x20>; |
| clocks = <&pclkb MSTPB 25>; |
| dtc = <&dtc>; |
| channel = <6>; |
| status = "disabled"; |
| |
| uart { |
| compatible = "renesas,rx-uart-sci"; |
| status = "disabled"; |
| }; |
| }; |
| |
| sci12: sci12@8b300 { |
| compatible = "renesas,rx-sci"; |
| interrupts = <239 1>, <240 1>, <241 1>, <238 1>; |
| interrupt-names = "rxi", "txi", "tei", "eri"; |
| reg = <0x8B300 0x20>; |
| clocks = <&pclkb MSTPB 4>; |
| dtc = <&dtc>; |
| channel = <12>; |
| status = "disabled"; |
| |
| uart { |
| compatible = "renesas,rx-uart-sci"; |
| status = "disabled"; |
| }; |
| }; |
| |
| cmt: timer@88000 { |
| compatible = "renesas,rx-timer-cmt-start-control"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| reg = <0x00088000 0x02>; |
| clocks = <&pclkb MSTPA 15>; |
| reg-names = "CMSTR0"; |
| status = "okay"; |
| |
| cmt0: timer@88002 { |
| compatible = "renesas,rx-timer-cmt"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| reg = <0x00088002 0x02>, |
| <0x00088004 0x02>, |
| <0x00088006 0x02>; |
| reg-names = "CMCR", "CMCNT", "CMCOR"; |
| interrupts = <28 1>; |
| interrupt-names = "cmi"; |
| status = "okay"; |
| }; |
| |
| cmt1: timer@88008 { |
| compatible = "renesas,rx-timer-cmt"; |
| reg = <0x00088008 0x02>, |
| <0x0008800A 0x02>, |
| <0x0008800C 0x02>; |
| reg-names = "CMCR", "CMCNT", "CMCOR"; |
| interrupts = <29 1>; |
| interrupt-names = "cmi"; |
| status = "disabled"; |
| }; |
| |
| cmt2: timer@88012 { |
| compatible = "renesas,rx-timer-cmt"; |
| reg = <0x00088012 0x02>, |
| <0x00088014 0x02>, |
| <0x00088016 0x02>; |
| reg-names = "CMCR", "CMCNT", "CMCOR"; |
| interrupts = <30 1>; |
| interrupt-names = "cmi"; |
| status = "disabled"; |
| }; |
| |
| cmt3: timer@88018 { |
| compatible = "renesas,rx-timer-cmt"; |
| reg = <0x00088018 0x02>, |
| <0x0008801A 0x02>, |
| <0x0008801C 0x02>; |
| reg-names = "CMCR", "CMCNT", "CMCOR"; |
| interrupts = <31 1>; |
| interrupt-names = "cmi"; |
| status = "disabled"; |
| }; |
| }; |
| |
| ofsm: ofsm@ffffff80 { |
| compatible = "zephyr,memory-region"; |
| reg = <0xFFFFFF80 0x0F>; |
| zephyr,memory-region = "OFSM"; |
| status = "okay"; |
| }; |
| }; |
| }; |