0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 #include "pxa3xx.dtsi"
0004 #include <dt-bindings/gpio/gpio.h>
0005 #include <dt-bindings/input/input.h>
0006 #include <dt-bindings/interrupt-controller/irq.h>
0007
0008 / {
0009 /* Will be overridden by bootloader */
0010 hw-revision = <0>;
0011
0012 chosen {
0013 bootargs = "root=ubi0:RootFS rootfstype=ubifs rw ubi.mtd=3";
0014 stdout-path = &ffuart;
0015 };
0016
0017 memory {
0018 device_type = "memory";
0019 reg = <0xa0000000 0x8000000>; /* 128 MB */
0020 };
0021
0022 reg_3v3: regulator-3v3 {
0023 compatible = "regulator-fixed";
0024 regulator-name = "3v3-fixed-supply";
0025 regulator-min-microvolt = <3300000>;
0026 regulator-max-microvolt = <3300000>;
0027 regulator-always-on;
0028 };
0029
0030 reg_1v8: regulator-1v8 {
0031 compatible = "regulator-fixed";
0032 regulator-name = "1v8-fixed-supply";
0033 regulator-min-microvolt = <1800000>;
0034 regulator-max-microvolt = <1800000>;
0035 regulator-always-on;
0036 };
0037
0038 reg_va_5v0: regulator-va-5v0 {
0039 compatible = "regulator-fixed";
0040 regulator-name = "va-5v0-fixed-supply";
0041 regulator-min-microvolt = <5000000>;
0042 regulator-max-microvolt = <5000000>;
0043 gpio = <&gpio 124 GPIO_ACTIVE_HIGH>;
0044 enable-active-high;
0045 };
0046
0047 ssp_dai0: ssp-dai0 {
0048 compatible = "mrvl,pxa-ssp-dai";
0049 pinctrl-names = "default";
0050 pinctrl-0 = <&ssp0_dai_pins>;
0051 port = <&ssp1>;
0052 #sound-dai-cells = <0>;
0053 dmas = <&pdma 13 3
0054 &pdma 14 3>;
0055 dma-names = "rx", "tx";
0056 clock-names = "extclk";
0057 };
0058
0059 ssp_dai1: ssp-dai1 {
0060 compatible = "mrvl,pxa-ssp-dai";
0061 pinctrl-names = "default";
0062 pinctrl-0 = <&ssp1_dai_pins>;
0063 port = <&ssp2>;
0064 #sound-dai-cells = <0>;
0065 dmas = <&pdma 15 3
0066 &pdma 16 3>;
0067 dma-names = "rx", "tx";
0068 clock-names = "extclk";
0069 };
0070
0071 spi: spi {
0072 compatible = "spi-gpio";
0073 #address-cells = <0x1>;
0074 #size-cells = <0>;
0075 pinctrl-names = "default";
0076 pinctrl-0 = <&spi_pins>;
0077 gpio-sck = <&gpio 95 GPIO_ACTIVE_HIGH>;
0078 gpio-miso = <&gpio 98 GPIO_ACTIVE_HIGH>;
0079 gpio-mosi = <&gpio 97 GPIO_ACTIVE_HIGH>;
0080 cs-gpios = <
0081 &gpio 34 GPIO_ACTIVE_HIGH
0082 &gpio 125 GPIO_ACTIVE_HIGH
0083 &gpio 96 GPIO_ACTIVE_HIGH
0084 >;
0085 num-chipselects = <3>;
0086
0087 dac: dac@2 {
0088 compatible = "ti,dac7512";
0089 reg = <2>;
0090 spi-max-frequency = <1000000>;
0091 vcc-supply = <®_3v3>;
0092 };
0093 };
0094
0095 keys: gpio-keys {
0096 compatible = "gpio-keys";
0097 pinctrl-names = "default";
0098 pinctrl-0 = <&gpio_keys_pins>;
0099
0100 on-off {
0101 label = "on_off button";
0102 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
0103 linux,code = <KEY_F6>;
0104 };
0105
0106 rescue-boot {
0107 label = "rescue boot button";
0108 gpios = <&gpio 115 GPIO_ACTIVE_HIGH>;
0109 linux,code = <KEY_F4>;
0110 };
0111
0112 setup {
0113 label = "setup";
0114 gpios = <&gpio 119 GPIO_ACTIVE_HIGH>;
0115 linux,code = <KEY_F3>;
0116 };
0117 };
0118
0119 rotary: rotary-encoder {
0120 compatible = "rotary-encoder";
0121 gpios = <
0122 &gpio 19 GPIO_ACTIVE_LOW
0123 &gpio 20 GPIO_ACTIVE_HIGH
0124 >;
0125 linux,axis = <REL_X>;
0126 rotary-encoder,relative-axis;
0127 };
0128
0129 leds: leds {
0130 compatible = "gpio-leds";
0131 pinctrl-names = "default";
0132 pinctrl-0 = <&led_pins_a &led_pins_b>;
0133
0134 left {
0135 label = "raumfeld:1";
0136 gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
0137 };
0138
0139 right {
0140 label = "raumfeld:2";
0141 gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
0142 };
0143 };
0144
0145 poweroff {
0146 compatible = "gpio-poweroff";
0147 pinctrl-names = "default";
0148 pinctrl-0 = <&poweroff_pins>;
0149 gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
0150 };
0151
0152 mmc0_pwrseq: mmc-pwrseq {
0153 compatible = "mmc-pwrseq-simple";
0154 pinctrl-names = "default";
0155 pinctrl-0 = <&mmc0_pwrseq_pins>;
0156 reset-gpios = <
0157 &gpio 113 GPIO_ACTIVE_LOW /* W2W_RESET */
0158 &gpio 114 GPIO_ACTIVE_LOW /* W2W_PDN */
0159 >;
0160 };
0161
0162 ethernet: ethernet@10000000 {
0163 compatible = "smsc,lan9115";
0164 pinctrl-names = "default";
0165 pinctrl-0 = <&smsc_pins &smsc_bus_pins>;
0166 reg = <0x10000000 0x100000>;
0167 phy-mode = "mii";
0168 interrupt-parent = <&gpio>;
0169 interrupts = <40 IRQ_TYPE_EDGE_FALLING>;
0170 vdd33a-supply = <®_3v3>;
0171 vddvario-supply = <®_1v8>;
0172 reset-gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
0173 reg-io-width = <4>;
0174 smsc,save-mac-address;
0175 smsc,irq-push-pull;
0176 };
0177 };
0178
0179 &ffuart {
0180 status = "okay";
0181 };
0182
0183 &pwri2c {
0184 status = "okay";
0185
0186 max8660: regulator@34 {
0187 compatible = "maxim,max8660";
0188 reg = <0x34>;
0189
0190 regulators {
0191 regulator-v3 {
0192 regulator-compatible = "V3(DCDC)";
0193 regulator-min-microvolt = <725000>;
0194 regulator-max-microvolt = <1800000>;
0195 };
0196
0197 regulator-v4 {
0198 regulator-compatible = "V4(DCDC)";
0199 regulator-min-microvolt = <725000>;
0200 regulator-max-microvolt = <1800000>;
0201 };
0202
0203 regulator-v5 {
0204 regulator-compatible = "V5(LDO)";
0205 regulator-min-microvolt = <1700000>;
0206 regulator-max-microvolt = <2000000>;
0207 };
0208
0209 reg_vcc_sdio: regulator-v6 {
0210 regulator-compatible = "V6(LDO)";
0211 regulator-min-microvolt = <3300000>;
0212 regulator-max-microvolt = <3300000>;
0213 };
0214
0215 regulator-v7 {
0216 regulator-compatible = "V7(LDO)";
0217 regulator-min-microvolt = <1800000>;
0218 regulator-max-microvolt = <3300000>;
0219 };
0220 };
0221 };
0222 };
0223
0224 &pxai2c1 {
0225 status = "okay";
0226 mrvl,i2c-fast-mode;
0227 pinctrl-names = "default";
0228 pinctrl-0 = <&pxai2c1_pins>;
0229 };
0230
0231 &ssp1 {
0232 status = "okay";
0233 };
0234
0235 &ssp2 {
0236 status = "okay";
0237 };
0238
0239 &nand_controller {
0240 status = "okay";
0241
0242 nand@0 {
0243 reg = <0>;
0244 nand-rb = <0>;
0245 nand-ecc-mode = "hw";
0246 marvell,nand-keep-config;
0247
0248 partitions {
0249 compatible = "fixed-partitions";
0250 #address-cells = <1>;
0251 #size-cells = <1>;
0252
0253 partition@0 {
0254 label = "Bootloader";
0255 reg = <0x0000000 0xa0000>;
0256 read-only;
0257 };
0258
0259 partition@a0000 {
0260 label = "BootloaderEnvironment";
0261 reg = <0x0a0000 0x20000>;
0262 };
0263
0264 partition@c0000 {
0265 label = "BootloaderSplashScreen";
0266 reg = <0x0c0000 0x60000>;
0267 };
0268
0269 partition@120000 {
0270 label = "UBI";
0271 reg = <0x120000 0x7ee0000>;
0272 };
0273 };
0274 };
0275 };
0276
0277 &usb0 {
0278 status = "okay";
0279 marvell,enable-port1;
0280 marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */
0281 pinctrl-names = "default";
0282 pinctrl-0 = <&pxa3xx_ohci_pins>;
0283 };
0284
0285 &mmc0 {
0286 status = "okay";
0287 pinctrl-names = "default";
0288 pinctrl-0 = <&mmc0_pins>;
0289 pxa-mmc,detect-delay-ms = <200>;
0290 vmmc-supply = <®_vcc_sdio>;
0291 mmc-pwrseq = <&mmc0_pwrseq>;
0292 non-removable;
0293 bus-width = <4>;
0294 };
0295
0296 &pinctrl {
0297 poweroff_pins: poweroff-pins {
0298 pinctrl-single,pins = <MFP_PIN_PXA300(16) MFP_AF0>;
0299 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
0300 };
0301
0302 led_pins_a: led-pins-a {
0303 pinctrl-single,pins = <MFP_PIN_PXA300(35) MFP_AF0>;
0304 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0305 };
0306
0307 led_pins_b: led-pins-b {
0308 pinctrl-single,pins = <MFP_PIN_PXA300(36) MFP_AF0>;
0309 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_DRIVE_HIGH);
0310 };
0311
0312 pxai2c1_pins: pxai2c1-pins {
0313 pinctrl-single,pins = <
0314 MFP_PIN_PXA300(21) MFP_AF1 /* I2C_SCL */
0315 MFP_PIN_PXA300(22) MFP_AF1 /* I2C_SDA */
0316 >;
0317 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_HIGH);
0318 };
0319
0320 gpio_keys_pins: gpio-keys-pins {
0321 pinctrl-single,pins = <
0322 MFP_PIN_PXA300(14) MFP_AF0 /* on-off */
0323 MFP_PIN_PXA300(115) MFP_AF0 /* rescue boot */
0324 MFP_PIN_PXA300(119) MFP_AF0 /* setup */
0325 >;
0326 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
0327 };
0328
0329 spi_pins: spi-pins {
0330 pinctrl-single,pins = <
0331 MFP_PIN_PXA300(95) MFP_AF0 /* SCK */
0332 MFP_PIN_PXA300(97) MFP_AF0 /* MOSI */
0333 MFP_PIN_PXA300(98) MFP_AF0 /* MISO */
0334 MFP_PIN_PXA300(34) MFP_AF0 /* CS#0 */
0335 MFP_PIN_PXA300(125) MFP_AF0 /* CS#1 */
0336 MFP_PIN_PXA300(96) MFP_AF0 /* CS#2 */
0337 >;
0338 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0339 };
0340
0341 pxa3xx_ohci_pins: pxa3xx-ohci-pins {
0342 pinctrl-single,pins = <
0343 MFP_PIN_PXA300_2(0) MFP_AF1 /* USBHPEN */
0344 MFP_PIN_PXA300_2(1) MFP_AF1 /* USBHPWR */
0345 >;
0346 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0347 };
0348
0349 smsc_pins: smsc-pins {
0350 pinctrl-single,pins = <
0351 MFP_PIN_PXA300(39) MFP_AF0 /* RESET */
0352 MFP_PIN_PXA300(40) MFP_AF0 /* IRQ */
0353 >;
0354 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0355 };
0356
0357 smsc_bus_pins: smsc-bus-pins {
0358 pinctrl-single,pins = <
0359 MFP_PIN_PXA300(1) MFP_AF1 /* nCS2 */
0360 >;
0361 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
0362 };
0363
0364 mmc0_pins: mmc0-pins {
0365 pinctrl-single,pins = <
0366 MFP_PIN_PXA300(3) MFP_AF4 /* MMC1_DAT0 */
0367 MFP_PIN_PXA300(4) MFP_AF4 /* MMC1_DAT1 */
0368 MFP_PIN_PXA300(5) MFP_AF4 /* MMC1_DAT2 */
0369 MFP_PIN_PXA300(6) MFP_AF4 /* MMC1_DAT3 */
0370 MFP_PIN_PXA300(7) MFP_AF4 /* MMC1_CLK */
0371 MFP_PIN_PXA300(8) MFP_AF4 /* MMC1_CMD */
0372 >;
0373 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_DRIVE_HIGH);
0374 };
0375
0376 mmc0_pwrseq_pins: mmc0-pwrseq-pins {
0377 pinctrl-single,pins = <
0378 MFP_PIN_PXA300(113) MFP_AF0 /* W2W_RESET */
0379 MFP_PIN_PXA300(114) MFP_AF0 /* W2W_PDN */
0380 >;
0381 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
0382 };
0383
0384 ssp0_dai_pins: ssp0-dai-pins {
0385 pinctrl-single,pins = <
0386 MFP_PIN_PXA300(85) MFP_AF1 /* SSP1_SCLK */
0387 MFP_PIN_PXA300(86) MFP_AF1 /* SSP1_FRM */
0388 MFP_PIN_PXA300(87) MFP_AF1 /* SSP1_TXD */
0389 MFP_PIN_PXA300(88) MFP_AF1 /* SSP1_RXD */
0390 MFP_PIN_PXA300(89) MFP_AF1 /* SSP1_EXTCLK */
0391 MFP_PIN_PXA300(90) MFP_AF1 /* SSP1_SYSCLK */
0392 >;
0393 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0394 };
0395
0396 ssp1_dai_pins: ssp1-dai-pins {
0397 pinctrl-single,pins = <
0398 MFP_PIN_PXA300(25) MFP_AF2 /* SSP2_SCLK */
0399 MFP_PIN_PXA300(26) MFP_AF2 /* SSP2_FRM */
0400 MFP_PIN_PXA300(27) MFP_AF2 /* SSP2_TXD */
0401 MFP_PIN_PXA300(29) MFP_AF2 /* SSP2_EXTCLK */
0402 >;
0403 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0404 };
0405 };