1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (C) 2015 Jablotron s.r.o. -- https://www.jablotron.com/ 4*f126890aSEmmanuel Vadot * Author: Rostislav Lisovy <lisovy@jablotron.cz> 5*f126890aSEmmanuel Vadot */ 6*f126890aSEmmanuel Vadot#include "am33xx.dtsi" 7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadot/ { 10*f126890aSEmmanuel Vadot model = "Grinn AM335x ChiliSOM"; 11*f126890aSEmmanuel Vadot compatible = "grinn,am335x-chilisom", "ti,am33xx"; 12*f126890aSEmmanuel Vadot 13*f126890aSEmmanuel Vadot cpus { 14*f126890aSEmmanuel Vadot cpu@0 { 15*f126890aSEmmanuel Vadot cpu0-supply = <&dcdc2_reg>; 16*f126890aSEmmanuel Vadot }; 17*f126890aSEmmanuel Vadot }; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot memory@80000000 { 20*f126890aSEmmanuel Vadot device_type = "memory"; 21*f126890aSEmmanuel Vadot reg = <0x80000000 0x20000000>; /* 512 MB */ 22*f126890aSEmmanuel Vadot }; 23*f126890aSEmmanuel Vadot}; 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot&am33xx_pinmux { 26*f126890aSEmmanuel Vadot pinctrl-names = "default"; 27*f126890aSEmmanuel Vadot 28*f126890aSEmmanuel Vadot i2c0_pins: i2c0-pins { 29*f126890aSEmmanuel Vadot pinctrl-single,pins = < 30*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0) 31*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0) 32*f126890aSEmmanuel Vadot >; 33*f126890aSEmmanuel Vadot }; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot nandflash_pins: nandflash-pins { 36*f126890aSEmmanuel Vadot pinctrl-single,pins = < 37*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLDOWN, MUX_MODE0) 38*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLDOWN, MUX_MODE0) 39*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLDOWN, MUX_MODE0) 40*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLDOWN, MUX_MODE0) 41*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLDOWN, MUX_MODE0) 42*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLDOWN, MUX_MODE0) 43*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLDOWN, MUX_MODE0) 44*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLDOWN, MUX_MODE0) 45*f126890aSEmmanuel Vadot 46*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0) 47*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT_PULLUP, MUX_MODE0) 48*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT_PULLUP, MUX_MODE0) 49*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLUP, MUX_MODE0) 50*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT_PULLUP, MUX_MODE0) 51*f126890aSEmmanuel Vadot AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT_PULLUP, MUX_MODE0) 52*f126890aSEmmanuel Vadot >; 53*f126890aSEmmanuel Vadot }; 54*f126890aSEmmanuel Vadot}; 55*f126890aSEmmanuel Vadot 56*f126890aSEmmanuel Vadot&i2c0 { 57*f126890aSEmmanuel Vadot pinctrl-names = "default"; 58*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 59*f126890aSEmmanuel Vadot 60*f126890aSEmmanuel Vadot status = "okay"; 61*f126890aSEmmanuel Vadot clock-frequency = <400000>; 62*f126890aSEmmanuel Vadot 63*f126890aSEmmanuel Vadot tps: tps@24 { 64*f126890aSEmmanuel Vadot reg = <0x24>; 65*f126890aSEmmanuel Vadot }; 66*f126890aSEmmanuel Vadot 67*f126890aSEmmanuel Vadot}; 68*f126890aSEmmanuel Vadot 69*f126890aSEmmanuel Vadot/include/ "../../tps65217.dtsi" 70*f126890aSEmmanuel Vadot 71*f126890aSEmmanuel Vadot&tps { 72*f126890aSEmmanuel Vadot regulators { 73*f126890aSEmmanuel Vadot dcdc1_reg: regulator@0 { 74*f126890aSEmmanuel Vadot regulator-name = "vdds_dpr"; 75*f126890aSEmmanuel Vadot regulator-always-on; 76*f126890aSEmmanuel Vadot }; 77*f126890aSEmmanuel Vadot 78*f126890aSEmmanuel Vadot dcdc2_reg: regulator@1 { 79*f126890aSEmmanuel Vadot /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ 80*f126890aSEmmanuel Vadot regulator-name = "vdd_mpu"; 81*f126890aSEmmanuel Vadot regulator-min-microvolt = <925000>; 82*f126890aSEmmanuel Vadot regulator-max-microvolt = <1325000>; 83*f126890aSEmmanuel Vadot regulator-boot-on; 84*f126890aSEmmanuel Vadot regulator-always-on; 85*f126890aSEmmanuel Vadot }; 86*f126890aSEmmanuel Vadot 87*f126890aSEmmanuel Vadot dcdc3_reg: regulator@2 { 88*f126890aSEmmanuel Vadot /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ 89*f126890aSEmmanuel Vadot regulator-name = "vdd_core"; 90*f126890aSEmmanuel Vadot regulator-min-microvolt = <925000>; 91*f126890aSEmmanuel Vadot regulator-max-microvolt = <1150000>; 92*f126890aSEmmanuel Vadot regulator-boot-on; 93*f126890aSEmmanuel Vadot regulator-always-on; 94*f126890aSEmmanuel Vadot }; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot ldo1_reg: regulator@3 { 97*f126890aSEmmanuel Vadot regulator-name = "vio,vrtc,vdds"; 98*f126890aSEmmanuel Vadot regulator-boot-on; 99*f126890aSEmmanuel Vadot regulator-always-on; 100*f126890aSEmmanuel Vadot }; 101*f126890aSEmmanuel Vadot 102*f126890aSEmmanuel Vadot ldo2_reg: regulator@4 { 103*f126890aSEmmanuel Vadot regulator-name = "vdd_3v3aux"; 104*f126890aSEmmanuel Vadot regulator-boot-on; 105*f126890aSEmmanuel Vadot regulator-always-on; 106*f126890aSEmmanuel Vadot }; 107*f126890aSEmmanuel Vadot 108*f126890aSEmmanuel Vadot ldo3_reg: regulator@5 { 109*f126890aSEmmanuel Vadot regulator-name = "vdd_1v8"; 110*f126890aSEmmanuel Vadot regulator-boot-on; 111*f126890aSEmmanuel Vadot regulator-always-on; 112*f126890aSEmmanuel Vadot }; 113*f126890aSEmmanuel Vadot 114*f126890aSEmmanuel Vadot ldo4_reg: regulator@6 { 115*f126890aSEmmanuel Vadot regulator-name = "vdd_3v3d"; 116*f126890aSEmmanuel Vadot regulator-boot-on; 117*f126890aSEmmanuel Vadot regulator-always-on; 118*f126890aSEmmanuel Vadot }; 119*f126890aSEmmanuel Vadot }; 120*f126890aSEmmanuel Vadot}; 121*f126890aSEmmanuel Vadot 122*f126890aSEmmanuel Vadot&rtc { 123*f126890aSEmmanuel Vadot system-power-controller; 124*f126890aSEmmanuel Vadot 125*f126890aSEmmanuel Vadot pinctrl-0 = <&ext_wakeup>; 126*f126890aSEmmanuel Vadot pinctrl-names = "default"; 127*f126890aSEmmanuel Vadot 128*f126890aSEmmanuel Vadot ext_wakeup: ext-wakeup { 129*f126890aSEmmanuel Vadot pins = "ext_wakeup0"; 130*f126890aSEmmanuel Vadot input-enable; 131*f126890aSEmmanuel Vadot }; 132*f126890aSEmmanuel Vadot}; 133*f126890aSEmmanuel Vadot 134*f126890aSEmmanuel Vadot/* NAND Flash */ 135*f126890aSEmmanuel Vadot&elm { 136*f126890aSEmmanuel Vadot status = "okay"; 137*f126890aSEmmanuel Vadot}; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot&gpmc { 140*f126890aSEmmanuel Vadot status = "okay"; 141*f126890aSEmmanuel Vadot pinctrl-names = "default"; 142*f126890aSEmmanuel Vadot pinctrl-0 = <&nandflash_pins>; 143*f126890aSEmmanuel Vadot ranges = <0 0 0x08000000 0x01000000>; /* CS0 0 @addr 0x08000000, size 0x01000000 */ 144*f126890aSEmmanuel Vadot nand@0,0 { 145*f126890aSEmmanuel Vadot compatible = "ti,omap2-nand"; 146*f126890aSEmmanuel Vadot reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 147*f126890aSEmmanuel Vadot interrupt-parent = <&gpmc>; 148*f126890aSEmmanuel Vadot interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 149*f126890aSEmmanuel Vadot <1 IRQ_TYPE_NONE>; /* termcount */ 150*f126890aSEmmanuel Vadot rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 151*f126890aSEmmanuel Vadot ti,nand-ecc-opt = "bch8"; 152*f126890aSEmmanuel Vadot ti,elm-id = <&elm>; 153*f126890aSEmmanuel Vadot nand-bus-width = <8>; 154*f126890aSEmmanuel Vadot gpmc,device-width = <1>; 155*f126890aSEmmanuel Vadot gpmc,sync-clk-ps = <0>; 156*f126890aSEmmanuel Vadot gpmc,cs-on-ns = <0>; 157*f126890aSEmmanuel Vadot gpmc,cs-rd-off-ns = <44>; 158*f126890aSEmmanuel Vadot gpmc,cs-wr-off-ns = <44>; 159*f126890aSEmmanuel Vadot gpmc,adv-on-ns = <6>; 160*f126890aSEmmanuel Vadot gpmc,adv-rd-off-ns = <34>; 161*f126890aSEmmanuel Vadot gpmc,adv-wr-off-ns = <44>; 162*f126890aSEmmanuel Vadot gpmc,we-on-ns = <0>; 163*f126890aSEmmanuel Vadot gpmc,we-off-ns = <40>; 164*f126890aSEmmanuel Vadot gpmc,oe-on-ns = <0>; 165*f126890aSEmmanuel Vadot gpmc,oe-off-ns = <54>; 166*f126890aSEmmanuel Vadot gpmc,access-ns = <64>; 167*f126890aSEmmanuel Vadot gpmc,rd-cycle-ns = <82>; 168*f126890aSEmmanuel Vadot gpmc,wr-cycle-ns = <82>; 169*f126890aSEmmanuel Vadot gpmc,bus-turnaround-ns = <0>; 170*f126890aSEmmanuel Vadot gpmc,cycle2cycle-delay-ns = <0>; 171*f126890aSEmmanuel Vadot gpmc,clk-activation-ns = <0>; 172*f126890aSEmmanuel Vadot gpmc,wr-access-ns = <40>; 173*f126890aSEmmanuel Vadot gpmc,wr-data-mux-bus-ns = <0>; 174*f126890aSEmmanuel Vadot }; 175*f126890aSEmmanuel Vadot}; 176