Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
0002 /*
0003  * Copyright (C) 2020 Marcin Sloniewski <marcin.sloniewski@gmail.com>.
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "stm32mp157.dtsi"
0009 #include "stm32mp15xc.dtsi"
0010 #include "stm32mp15-pinctrl.dtsi"
0011 #include "stm32mp15xxac-pinctrl.dtsi"
0012 #include <dt-bindings/gpio/gpio.h>
0013 #include <dt-bindings/leds/common.h>
0014 #include <dt-bindings/mfd/st,stpmic1.h>
0015 
0016 / {
0017         model = "Seeed Studio Odyssey-STM32MP157C SOM";
0018         compatible = "seeed,stm32mp157c-odyssey-som", "st,stm32mp157";
0019 
0020         memory@c0000000 {
0021                 device_type = "memory";
0022                 reg = <0xc0000000 0x20000000>;
0023         };
0024 
0025         reserved-memory {
0026                 #address-cells = <1>;
0027                 #size-cells = <1>;
0028                 ranges;
0029 
0030                 mcuram2: mcuram2@10000000 {
0031                         compatible = "shared-dma-pool";
0032                         reg = <0x10000000 0x40000>;
0033                         no-map;
0034                 };
0035 
0036                 vdev0vring0: vdev0vring0@10040000 {
0037                         compatible = "shared-dma-pool";
0038                         reg = <0x10040000 0x1000>;
0039                         no-map;
0040                 };
0041 
0042                 vdev0vring1: vdev0vring1@10041000 {
0043                         compatible = "shared-dma-pool";
0044                         reg = <0x10041000 0x1000>;
0045                         no-map;
0046                 };
0047 
0048                 vdev0buffer: vdev0buffer@10042000 {
0049                         compatible = "shared-dma-pool";
0050                         reg = <0x10042000 0x4000>;
0051                         no-map;
0052                 };
0053 
0054                 mcuram: mcuram@30000000 {
0055                         compatible = "shared-dma-pool";
0056                         reg = <0x30000000 0x40000>;
0057                         no-map;
0058                 };
0059 
0060                 retram: retram@38000000 {
0061                         compatible = "shared-dma-pool";
0062                         reg = <0x38000000 0x10000>;
0063                         no-map;
0064                 };
0065 
0066                 gpu_reserved: gpu@d4000000 {
0067                         reg = <0xd4000000 0x4000000>;
0068                         no-map;
0069                 };
0070         };
0071 
0072         led {
0073                 compatible = "gpio-leds";
0074                 led-blue {
0075                         color = <LED_COLOR_ID_BLUE>;
0076                         function = LED_FUNCTION_HEARTBEAT;
0077                         gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
0078                         linux,default-trigger = "heartbeat";
0079                 };
0080         };
0081 };
0082 
0083 &gpu {
0084         contiguous-area = <&gpu_reserved>;
0085         status = "okay";
0086 };
0087 
0088 &i2c2 {
0089         pinctrl-names = "default";
0090         pinctrl-0 = <&i2c2_pins_a>;
0091         i2c-scl-rising-time-ns = <185>;
0092         i2c-scl-falling-time-ns = <20>;
0093         status = "okay";
0094         /* spare dmas for other usage */
0095         /delete-property/dmas;
0096         /delete-property/dma-names;
0097 
0098         pmic: stpmic@33 {
0099                 compatible = "st,stpmic1";
0100                 reg = <0x33>;
0101                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
0102                 interrupt-controller;
0103                 #interrupt-cells = <2>;
0104 
0105                 regulators {
0106                         compatible = "st,stpmic1-regulators";
0107                         ldo1-supply = <&v3v3>;
0108                         ldo3-supply = <&vdd_ddr>;
0109                         ldo6-supply = <&v3v3>;
0110                         pwr_sw1-supply = <&bst_out>;
0111                         pwr_sw2-supply = <&bst_out>;
0112 
0113                         vddcore: buck1 {
0114                                 regulator-name = "vddcore";
0115                                 regulator-min-microvolt = <800000>;
0116                                 regulator-max-microvolt = <1350000>;
0117                                 regulator-always-on;
0118                                 regulator-initial-mode = <0>;
0119                                 regulator-over-current-protection;
0120                         };
0121 
0122                         vdd_ddr: buck2 {
0123                                 regulator-name = "vdd_ddr";
0124                                 regulator-min-microvolt = <1350000>;
0125                                 regulator-max-microvolt = <1350000>;
0126                                 regulator-always-on;
0127                                 regulator-initial-mode = <0>;
0128                                 regulator-over-current-protection;
0129                         };
0130 
0131                         vdd: buck3 {
0132                                 regulator-name = "vdd";
0133                                 regulator-min-microvolt = <3300000>;
0134                                 regulator-max-microvolt = <3300000>;
0135                                 regulator-always-on;
0136                                 st,mask-reset;
0137                                 regulator-initial-mode = <0>;
0138                                 regulator-over-current-protection;
0139                         };
0140 
0141                         v3v3: buck4 {
0142                                 regulator-name = "v3v3";
0143                                 regulator-min-microvolt = <3300000>;
0144                                 regulator-max-microvolt = <3300000>;
0145                                 regulator-always-on;
0146                                 regulator-over-current-protection;
0147                                 regulator-initial-mode = <0>;
0148                         };
0149 
0150                         v1v8_audio: ldo1 {
0151                                 regulator-name = "v1v8_audio";
0152                                 regulator-min-microvolt = <1800000>;
0153                                 regulator-max-microvolt = <1800000>;
0154                                 regulator-always-on;
0155                                 interrupts = <IT_CURLIM_LDO1 0>;
0156                         };
0157 
0158                         v3v3_hdmi: ldo2 {
0159                                 regulator-name = "v3v3_hdmi";
0160                                 regulator-min-microvolt = <3300000>;
0161                                 regulator-max-microvolt = <3300000>;
0162                                 regulator-always-on;
0163                                 interrupts = <IT_CURLIM_LDO2 0>;
0164                         };
0165 
0166                         vtt_ddr: ldo3 {
0167                                 regulator-name = "vtt_ddr";
0168                                 regulator-min-microvolt = <500000>;
0169                                 regulator-max-microvolt = <750000>;
0170                                 regulator-always-on;
0171                                 regulator-over-current-protection;
0172                         };
0173 
0174                         vdd_usb: ldo4 {
0175                                 regulator-name = "vdd_usb";
0176                                 interrupts = <IT_CURLIM_LDO4 0>;
0177                         };
0178 
0179                         vdda: ldo5 {
0180                                 regulator-name = "vdda";
0181                                 regulator-min-microvolt = <2900000>;
0182                                 regulator-max-microvolt = <2900000>;
0183                                 interrupts = <IT_CURLIM_LDO5 0>;
0184                                 regulator-boot-on;
0185                         };
0186 
0187                         v1v2_hdmi: ldo6 {
0188                                 regulator-name = "v1v2_hdmi";
0189                                 regulator-min-microvolt = <1200000>;
0190                                 regulator-max-microvolt = <1200000>;
0191                                 regulator-always-on;
0192                                 interrupts = <IT_CURLIM_LDO6 0>;
0193                         };
0194 
0195                         vref_ddr: vref_ddr {
0196                                 regulator-name = "vref_ddr";
0197                                 regulator-always-on;
0198                         };
0199 
0200                          bst_out: boost {
0201                                 regulator-name = "bst_out";
0202                                 interrupts = <IT_OCP_BOOST 0>;
0203                          };
0204 
0205                         vbus_otg: pwr_sw1 {
0206                                 regulator-name = "vbus_otg";
0207                                 interrupts = <IT_OCP_OTG 0>;
0208                          };
0209 
0210                          vbus_sw: pwr_sw2 {
0211                                 regulator-name = "vbus_sw";
0212                                 interrupts = <IT_OCP_SWOUT 0>;
0213                                 regulator-active-discharge = <1>;
0214                          };
0215                 };
0216 
0217                 onkey {
0218                         compatible = "st,stpmic1-onkey";
0219                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
0220                         interrupt-names = "onkey-falling", "onkey-rising";
0221                         power-off-time-sec = <10>;
0222                 };
0223 
0224                 watchdog {
0225                         compatible = "st,stpmic1-wdt";
0226                         status = "disabled";
0227                 };
0228         };
0229 };
0230 
0231 &ipcc {
0232         status = "okay";
0233 };
0234 
0235 &iwdg2 {
0236         timeout-sec = <32>;
0237         status = "okay";
0238 };
0239 
0240 &m4_rproc {
0241         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
0242                         <&vdev0vring1>, <&vdev0buffer>;
0243         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
0244         mbox-names = "vq0", "vq1", "shutdown";
0245         interrupt-parent = <&exti>;
0246         interrupts = <68 1>;
0247         status = "okay";
0248 };
0249 
0250 &rng1 {
0251         status = "okay";
0252 };
0253 
0254 &rtc {
0255         status = "okay";
0256 };
0257 
0258 &sdmmc2 {
0259         pinctrl-names = "default", "opendrain", "sleep";
0260         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>;
0261         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>;
0262         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>;
0263         non-removable;
0264         no-sd;
0265         no-sdio;
0266         st,neg-edge;
0267         bus-width = <8>;
0268         vmmc-supply = <&v3v3>;
0269         vqmmc-supply = <&vdd>;
0270         mmc-ddr-3_3v;
0271         status = "okay";
0272 };
0273