162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2015 Jablotron s.r.o. -- https://www.jablotron.com/ 462306a36Sopenharmony_ci * Author: Rostislav Lisovy <lisovy@jablotron.cz> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci#include "am33xx.dtsi" 762306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci model = "Grinn AM335x ChiliSOM"; 1162306a36Sopenharmony_ci compatible = "grinn,am335x-chilisom", "ti,am33xx"; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci cpus { 1462306a36Sopenharmony_ci cpu@0 { 1562306a36Sopenharmony_ci cpu0-supply = <&dcdc2_reg>; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci }; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci memory@80000000 { 2062306a36Sopenharmony_ci device_type = "memory"; 2162306a36Sopenharmony_ci reg = <0x80000000 0x20000000>; /* 512 MB */ 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci}; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci&am33xx_pinmux { 2662306a36Sopenharmony_ci pinctrl-names = "default"; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci i2c0_pins: i2c0-pins { 2962306a36Sopenharmony_ci pinctrl-single,pins = < 3062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0) 3162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0) 3262306a36Sopenharmony_ci >; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci nandflash_pins: nandflash-pins { 3662306a36Sopenharmony_ci pinctrl-single,pins = < 3762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLDOWN, MUX_MODE0) 3862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLDOWN, MUX_MODE0) 3962306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLDOWN, MUX_MODE0) 4062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLDOWN, MUX_MODE0) 4162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLDOWN, MUX_MODE0) 4262306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLDOWN, MUX_MODE0) 4362306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLDOWN, MUX_MODE0) 4462306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLDOWN, MUX_MODE0) 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0) 4762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT_PULLUP, MUX_MODE0) 4862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT_PULLUP, MUX_MODE0) 4962306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLUP, MUX_MODE0) 5062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT_PULLUP, MUX_MODE0) 5162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT_PULLUP, MUX_MODE0) 5262306a36Sopenharmony_ci >; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci}; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci&i2c0 { 5762306a36Sopenharmony_ci pinctrl-names = "default"; 5862306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci status = "okay"; 6162306a36Sopenharmony_ci clock-frequency = <400000>; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci tps: tps@24 { 6462306a36Sopenharmony_ci reg = <0x24>; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci/include/ "../../tps65217.dtsi" 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci&tps { 7262306a36Sopenharmony_ci regulators { 7362306a36Sopenharmony_ci dcdc1_reg: regulator@0 { 7462306a36Sopenharmony_ci regulator-name = "vdds_dpr"; 7562306a36Sopenharmony_ci regulator-always-on; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci dcdc2_reg: regulator@1 { 7962306a36Sopenharmony_ci /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ 8062306a36Sopenharmony_ci regulator-name = "vdd_mpu"; 8162306a36Sopenharmony_ci regulator-min-microvolt = <925000>; 8262306a36Sopenharmony_ci regulator-max-microvolt = <1325000>; 8362306a36Sopenharmony_ci regulator-boot-on; 8462306a36Sopenharmony_ci regulator-always-on; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci dcdc3_reg: regulator@2 { 8862306a36Sopenharmony_ci /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ 8962306a36Sopenharmony_ci regulator-name = "vdd_core"; 9062306a36Sopenharmony_ci regulator-min-microvolt = <925000>; 9162306a36Sopenharmony_ci regulator-max-microvolt = <1150000>; 9262306a36Sopenharmony_ci regulator-boot-on; 9362306a36Sopenharmony_ci regulator-always-on; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci ldo1_reg: regulator@3 { 9762306a36Sopenharmony_ci regulator-name = "vio,vrtc,vdds"; 9862306a36Sopenharmony_ci regulator-boot-on; 9962306a36Sopenharmony_ci regulator-always-on; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci ldo2_reg: regulator@4 { 10362306a36Sopenharmony_ci regulator-name = "vdd_3v3aux"; 10462306a36Sopenharmony_ci regulator-boot-on; 10562306a36Sopenharmony_ci regulator-always-on; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci ldo3_reg: regulator@5 { 10962306a36Sopenharmony_ci regulator-name = "vdd_1v8"; 11062306a36Sopenharmony_ci regulator-boot-on; 11162306a36Sopenharmony_ci regulator-always-on; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci ldo4_reg: regulator@6 { 11562306a36Sopenharmony_ci regulator-name = "vdd_3v3d"; 11662306a36Sopenharmony_ci regulator-boot-on; 11762306a36Sopenharmony_ci regulator-always-on; 11862306a36Sopenharmony_ci }; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci}; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci&rtc { 12362306a36Sopenharmony_ci system-power-controller; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci pinctrl-0 = <&ext_wakeup>; 12662306a36Sopenharmony_ci pinctrl-names = "default"; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci ext_wakeup: ext-wakeup { 12962306a36Sopenharmony_ci pins = "ext_wakeup0"; 13062306a36Sopenharmony_ci input-enable; 13162306a36Sopenharmony_ci }; 13262306a36Sopenharmony_ci}; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci/* NAND Flash */ 13562306a36Sopenharmony_ci&elm { 13662306a36Sopenharmony_ci status = "okay"; 13762306a36Sopenharmony_ci}; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci&gpmc { 14062306a36Sopenharmony_ci status = "okay"; 14162306a36Sopenharmony_ci pinctrl-names = "default"; 14262306a36Sopenharmony_ci pinctrl-0 = <&nandflash_pins>; 14362306a36Sopenharmony_ci ranges = <0 0 0x08000000 0x01000000>; /* CS0 0 @addr 0x08000000, size 0x01000000 */ 14462306a36Sopenharmony_ci nand@0,0 { 14562306a36Sopenharmony_ci compatible = "ti,omap2-nand"; 14662306a36Sopenharmony_ci reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 14762306a36Sopenharmony_ci interrupt-parent = <&gpmc>; 14862306a36Sopenharmony_ci interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 14962306a36Sopenharmony_ci <1 IRQ_TYPE_NONE>; /* termcount */ 15062306a36Sopenharmony_ci rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 15162306a36Sopenharmony_ci ti,nand-ecc-opt = "bch8"; 15262306a36Sopenharmony_ci ti,elm-id = <&elm>; 15362306a36Sopenharmony_ci nand-bus-width = <8>; 15462306a36Sopenharmony_ci gpmc,device-width = <1>; 15562306a36Sopenharmony_ci gpmc,sync-clk-ps = <0>; 15662306a36Sopenharmony_ci gpmc,cs-on-ns = <0>; 15762306a36Sopenharmony_ci gpmc,cs-rd-off-ns = <44>; 15862306a36Sopenharmony_ci gpmc,cs-wr-off-ns = <44>; 15962306a36Sopenharmony_ci gpmc,adv-on-ns = <6>; 16062306a36Sopenharmony_ci gpmc,adv-rd-off-ns = <34>; 16162306a36Sopenharmony_ci gpmc,adv-wr-off-ns = <44>; 16262306a36Sopenharmony_ci gpmc,we-on-ns = <0>; 16362306a36Sopenharmony_ci gpmc,we-off-ns = <40>; 16462306a36Sopenharmony_ci gpmc,oe-on-ns = <0>; 16562306a36Sopenharmony_ci gpmc,oe-off-ns = <54>; 16662306a36Sopenharmony_ci gpmc,access-ns = <64>; 16762306a36Sopenharmony_ci gpmc,rd-cycle-ns = <82>; 16862306a36Sopenharmony_ci gpmc,wr-cycle-ns = <82>; 16962306a36Sopenharmony_ci gpmc,bus-turnaround-ns = <0>; 17062306a36Sopenharmony_ci gpmc,cycle2cycle-delay-ns = <0>; 17162306a36Sopenharmony_ci gpmc,clk-activation-ns = <0>; 17262306a36Sopenharmony_ci gpmc,wr-access-ns = <40>; 17362306a36Sopenharmony_ci gpmc,wr-data-mux-bus-ns = <0>; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci}; 176