| /* |
| * Copyright (c) 2020, Seagate Technology LLC |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| #include <arm/armv6-m.dtsi> |
| #include <dt-bindings/clock/lpc11u6x_clock.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include <mem.h> |
| |
| / { |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| compatible = "arm,cortex-m0+"; |
| reg = <0>; |
| }; |
| }; |
| |
| sram0:memory@10000000 { |
| compatible = "mmio-sram"; |
| }; |
| |
| sram1:memory@20000000 { |
| compatible = "mmio-sram"; |
| reg = <0x20000000 0x800>; |
| }; |
| |
| sram2:memory@20004000 { |
| compatible = "mmio-sram"; |
| reg = <0x20004000 0x800>; |
| }; |
| |
| soc { |
| flash0:flash@0 { |
| compatible = "soc-nv-flash"; |
| }; |
| |
| /* On-chip EEPROM. */ |
| eeprom0: eeprom_0 { |
| compatible = "nxp,lpc11u6x-eeprom"; |
| label = "EEPROM_0"; |
| /* |
| * For some reasons, the IAP commands don't allow to |
| * reach the last 64 bytes of the EEPROM. |
| */ |
| size = <(DT_SIZE_K(4) - 64)>; |
| status = "okay"; |
| }; |
| |
| /* PIO0_0 to PIO0_23. */ |
| pinmux0: pinmux@40044000 { |
| compatible = "nxp,lpc11u6x-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x40044000 0x60>; |
| label = "PINMUX_0"; |
| status = "okay"; |
| }; |
| |
| /* PIO1_0 to PIO1_31. */ |
| pinmux1: pinmux@40044060 { |
| compatible = "nxp,lpc11u6x-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x40044060 0x80>; |
| label = "PINMUX_1"; |
| status = "okay"; |
| }; |
| |
| /* PIO2_0 to PIO2_23. */ |
| pinmux2: pinmux@400440f0 { |
| compatible = "nxp,lpc11u6x-pinmux"; |
| #pinmux-cells = <2>; |
| reg = <0x400440f0 0x64>; |
| label = "PINMUX_2"; |
| status = "okay"; |
| }; |
| |
| /* GPIO0_0 to GPIO0_23 */ |
| gpio0: gpio@0 { |
| compatible = "nxp,lpc11u6x-gpio"; |
| reg = <0xa0000000 0x8000>, <0x40048000 0x400>; |
| interrupts = <0 2>, <1 2>, <2 2>, <3 2>, \ |
| <4 2>, <5 2>, <6 2>, <7 2>; |
| |
| label = "GPIO_0"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <24>; |
| |
| clocks = <&syscon LPC11U6X_CLOCK_GPIO>; |
| pinmux-port = <&pinmux0>; |
| |
| status = "disabled"; |
| }; |
| |
| /* GPIO1_0 to GPIO1_31 */ |
| gpio1: gpio@1 { |
| compatible = "nxp,lpc11u6x-gpio"; |
| reg = <0xa0000000 0x8000>, <0x40048000 0x400>; |
| interrupts = <0 2>, <1 2>, <2 2>, <3 2>, \ |
| <4 2>, <5 2>, <6 2>, <7 2>; |
| |
| label = "GPIO_1"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| |
| clocks = <&syscon LPC11U6X_CLOCK_GPIO>; |
| pinmux-port = <&pinmux1>; |
| |
| status = "disabled"; |
| }; |
| |
| /* GPIO2_2 to GPIO2_23 */ |
| gpio2: gpio@2 { |
| compatible = "nxp,lpc11u6x-gpio"; |
| reg = <0xa0000000 0x8000>, <0x40048000 0x400>; |
| interrupts = <0 2>, <1 2>, <2 2>, <3 2>, \ |
| <4 2>, <5 2>, <6 2>, <7 2>; |
| |
| label = "GPIO_2"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| base = <2>; |
| ngpios = <22>; |
| |
| clocks = <&syscon LPC11U6X_CLOCK_GPIO>; |
| pinmux-port = <&pinmux2>; |
| |
| status = "disabled"; |
| }; |
| |
| syscon: clock-controller@40048000 { |
| compatible = "nxp,lpc11u6x-syscon"; |
| #clock-cells = <1>; |
| reg = <0x40048000 0x400>; |
| label = "SYSCON"; |
| pinmuxs = <&pinmux2 0 1>, <&pinmux2 1 1>; |
| pinmux-names = "XTALIN", "XTALOUT"; |
| }; |
| |
| uart0: serial@40008000 { |
| compatible = "nxp,lpc11u6x-uart"; |
| clocks = <&syscon LPC11U6X_CLOCK_USART0>; |
| interrupts = <21 0>; |
| reg = <0x40008000 0x60>; |
| label = "UART_0"; |
| status = "disabled"; |
| }; |
| |
| uart1: serial@4006c000 { |
| compatible = "nxp,lpc11u6x-uart"; |
| clocks = <&syscon LPC11U6X_CLOCK_USART1>; |
| interrupts = <11 0>; |
| reg = <0x4006C000 0x30>; |
| label = "UART_1"; |
| status = "disabled"; |
| }; |
| |
| uart2: serial@40070000 { |
| compatible = "nxp,lpc11u6x-uart"; |
| clocks = <&syscon LPC11U6X_CLOCK_USART2>; |
| interrupts = <12 0>; |
| reg = <0x40070000 0x30>; |
| label = "UART_2"; |
| status = "disabled"; |
| }; |
| |
| uart3: serial@40074000 { |
| compatible = "nxp,lpc11u6x-uart"; |
| clocks = <&syscon LPC11U6X_CLOCK_USART3>; |
| interrupts = <12 0>; |
| reg = <0x40074000 0x30>; |
| label = "UART_3"; |
| status = "disabled"; |
| }; |
| |
| uart4: serial@4004c000 { |
| compatible = "nxp,lpc11u6x-uart"; |
| clocks = <&syscon LPC11U6X_CLOCK_USART4>; |
| interrupts = <11 0>; |
| reg = <0x4004C000 0x30>; |
| label = "UART_4"; |
| status = "disabled"; |
| }; |
| |
| i2c0: i2c@40000000 { |
| compatible = "nxp,lpc11u6x-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40000000 0x40>; |
| clocks = <&syscon LPC11U6X_CLOCK_I2C0>; |
| interrupts = <15 0>; |
| status = "disabled"; |
| label = "I2C_0"; |
| }; |
| |
| i2c1: i2c@40020000 { |
| compatible = "nxp,lpc11u6x-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40020000 0x40>; |
| clocks = <&syscon LPC11U6X_CLOCK_I2C1>; |
| interrupts = <10 0>; |
| status = "disabled"; |
| label = "I2C_1"; |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <2>; |
| }; |