Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  qi_lb60.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "jz4740.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/adc/ingenic,adc.h>
#include <dt-bindings/clock/ingenic,tcu.h>
#include <dt-bindings/input/input.h>

#define KEY_QI_QI KEY_F13
#define KEY_QI_UPRED KEY_RIGHTALT
#define KEY_QI_VOLUP KEY_VOLUMEUP
#define KEY_QI_VOLDOWN KEY_VOLUMEDOWN
#define KEY_QI_FN KEY_LEFTCTRL

/ {
 compatible = "qi,lb60", "ingenic,jz4740";
 model = "Ben Nanonote";

 memory {
  device_type = "memory";
  reg = <0x0 0x2000000>;
 };

 chosen {
  stdout-path = &uart0;
 };

 vcc: regulator-0 {
  compatible = "regulator-fixed";
  regulator-name = "vcc";

  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-always-on;
 };

 mmc_power: regulator-1 {
  compatible = "regulator-fixed";
  regulator-name = "mmc_vcc";
  gpio = <&gpd 2 0>;

  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
 };

 amp_supply: regulator-2 {
  compatible = "regulator-fixed";
  regulator-name = "amp_supply";
  gpio = <&gpd 4 0>;
  enable-active-high;

  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
 };

 amp: analog-amplifier {
  compatible = "simple-audio-amplifier";
  enable-gpios = <&gpb 29 GPIO_ACTIVE_HIGH>;
  VCC-supply = <&_supply>;
 };

 sound {
  compatible = "simple-audio-card";

  simple-audio-card,name = "QI LB60";
  simple-audio-card,format = "i2s";

  simple-audio-card,widgets =
   "Speaker", "Speaker",
   "Microphone", "Mic";
  simple-audio-card,routing =
   "MIC", "Mic",
   "Speaker", "OUTL",
   "Speaker", "OUTR",
   "INL", "LOUT",
   "INR", "ROUT";

  simple-audio-card,aux-devs = <&>;

  simple-audio-card,bitclock-master = <&dai_codec>;
  simple-audio-card,frame-master = <&dai_codec>;

  dai_cpu: simple-audio-card,cpu {
   sound-dai = <&aic>;
  };

  dai_codec: simple-audio-card,codec {
   sound-dai = <&codec>;
  };
 };

 keys {
  compatible = "gpio-keys";

  key {
   label = "Power";
   wakeup-source;
   linux,code = <KEY_POWER>;
   gpios = <&gpd 29 GPIO_ACTIVE_LOW>;
  };
 };

 keyboard {
  compatible = "gpio-matrix-keypad";

  col-scan-delay-us = <10>;
  debounce-delay-ms = <10>;
  wakeup-source;

  row-gpios = <&gpd 18 0>, <&gpd 19 0>, <&gpd 20 0>, <&gpd 21 0>,
       <&gpd 22 0>, <&gpd 23 0>, <&gpd 24 0>, <&gpd 26 0>;
  col-gpios = <&gpc 10 0>, <&gpc 11 0>, <&gpc 12 0>, <&gpc 13 0>,
       <&gpc 14 0>, <&gpc 15 0>, <&gpc 16 0>, <&gpc 17 0>;
  gpio-activelow;

  linux,keymap =
   <MATRIX_KEY(0, 0, KEY_F1)>, /* S2 */
   <MATRIX_KEY(0, 1, KEY_F2)>, /* S3 */
   <MATRIX_KEY(0, 2, KEY_F3)>, /* S4 */
   <MATRIX_KEY(0, 3, KEY_F4)>, /* S5 */
   <MATRIX_KEY(0, 4, KEY_F5)>, /* S6 */
   <MATRIX_KEY(0, 5, KEY_F6)>, /* S7 */
   <MATRIX_KEY(0, 6, KEY_F7)>, /* S8 */

   <MATRIX_KEY(1, 0, KEY_Q)>, /* S10 */
   <MATRIX_KEY(1, 1, KEY_W)>, /* S11 */
   <MATRIX_KEY(1, 2, KEY_E)>, /* S12 */
   <MATRIX_KEY(1, 3, KEY_R)>, /* S13 */
   <MATRIX_KEY(1, 4, KEY_T)>, /* S14 */
   <MATRIX_KEY(1, 5, KEY_Y)>, /* S15 */
   <MATRIX_KEY(1, 6, KEY_U)>, /* S16 */
   <MATRIX_KEY(1, 7, KEY_I)>, /* S17 */
   <MATRIX_KEY(2, 0, KEY_A)>, /* S18 */
   <MATRIX_KEY(2, 1, KEY_S)>, /* S19 */
   <MATRIX_KEY(2, 2, KEY_D)>, /* S20 */
   <MATRIX_KEY(2, 3, KEY_F)>, /* S21 */
   <MATRIX_KEY(2, 4, KEY_G)>, /* S22 */
   <MATRIX_KEY(2, 5, KEY_H)>, /* S23 */
   <MATRIX_KEY(2, 6, KEY_J)>, /* S24 */
   <MATRIX_KEY(2, 7, KEY_K)>, /* S25 */
   <MATRIX_KEY(3, 0, KEY_ESC)>, /* S26 */
   <MATRIX_KEY(3, 1, KEY_Z)>, /* S27 */
   <MATRIX_KEY(3, 2, KEY_X)>, /* S28 */
   <MATRIX_KEY(3, 3, KEY_C)>, /* S29 */
   <MATRIX_KEY(3, 4, KEY_V)>, /* S30 */
   <MATRIX_KEY(3, 5, KEY_B)>, /* S31 */
   <MATRIX_KEY(3, 6, KEY_N)>, /* S32 */
   <MATRIX_KEY(3, 7, KEY_M)>, /* S33 */
   <MATRIX_KEY(4, 0, KEY_TAB)>, /* S34 */
   <MATRIX_KEY(4, 1, KEY_CAPSLOCK)>, /* S35 */
   <MATRIX_KEY(4, 2, KEY_BACKSLASH)>, /* S36 */
   <MATRIX_KEY(4, 3, KEY_APOSTROPHE)>, /* S37 */
   <MATRIX_KEY(4, 4, KEY_COMMA)>, /* S38 */
   <MATRIX_KEY(4, 5, KEY_DOT)>, /* S39 */
   <MATRIX_KEY(4, 6, KEY_SLASH)>, /* S40 */
   <MATRIX_KEY(4, 7, KEY_UP)>, /* S41 */
   <MATRIX_KEY(5, 0, KEY_O)>, /* S42 */
   <MATRIX_KEY(5, 1, KEY_L)>, /* S43 */
   <MATRIX_KEY(5, 2, KEY_EQUAL)>, /* S44 */
   <MATRIX_KEY(5, 3, KEY_QI_UPRED)>, /* S45 */
   <MATRIX_KEY(5, 4, KEY_SPACE)>, /* S46 */
   <MATRIX_KEY(5, 5, KEY_QI_QI)>, /* S47 */
   <MATRIX_KEY(5, 6, KEY_RIGHTCTRL)>, /* S48 */
   <MATRIX_KEY(5, 7, KEY_LEFT)>, /* S49 */
   <MATRIX_KEY(6, 0, KEY_F8)>, /* S50 */
   <MATRIX_KEY(6, 1, KEY_P)>, /* S51 */
   <MATRIX_KEY(6, 2, KEY_BACKSPACE)>,/* S52 */
   <MATRIX_KEY(6, 3, KEY_ENTER)>, /* S53 */
   <MATRIX_KEY(6, 4, KEY_QI_VOLUP)>, /* S54 */
   <MATRIX_KEY(6, 5, KEY_QI_VOLDOWN)>, /* S55 */
   <MATRIX_KEY(6, 6, KEY_DOWN)>, /* S56 */
   <MATRIX_KEY(6, 7, KEY_RIGHT)>, /* S57 */

   <MATRIX_KEY(7, 0, KEY_LEFTSHIFT)>, /* S58 */
   <MATRIX_KEY(7, 1, KEY_LEFTALT)>, /* S59 */
   <MATRIX_KEY(7, 2, KEY_QI_FN)>; /* S60 */
 };

 spi {
  compatible = "spi-gpio";
  #address-cells = <1>;
  #size-cells = <0>;

  sck-gpios = <&gpc 23 GPIO_ACTIVE_HIGH>;
  mosi-gpios = <&gpc 22 GPIO_ACTIVE_HIGH>;
  cs-gpios = <&gpc 21 GPIO_ACTIVE_LOW>;
  num-chipselects = <1>;
 };

 usb_charger: charger {
  compatible = "gpio-charger";
  charger-type = "usb-sdp";
  gpios = <&gpd 28 GPIO_ACTIVE_LOW>;
  status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>;
 };

 simple_battery: battery {
  compatible = "simple-battery";
  voltage-min-design-microvolt = <3600000>;
  voltage-max-design-microvolt = <4200000>;
 };

 pmu {
  compatible = "ingenic,jz4740-battery";
  io-channels = <&adc INGENIC_ADC_BATTERY>;
  io-channel-names = "battery";
  power-supplies = <&usb_charger>;
  monitored-battery = <&simple_battery>;
 };

 hwmon {
  compatible = "iio-hwmon";
  io-channels = <&adc INGENIC_ADC_AUX>;
 };

 panel: panel {
  compatible = "giantplus,gpm940b0";

  power-supply = <&vcc>;

  port {
   panel_input: endpoint {
    remote-endpoint = <&panel_output>;
   };
  };
 };

 usb_phy: usb-phy {
  compatible = "usb-nop-xceiv";
  #phy-cells = <0>;

  vcc-supply = <&vcc>;
 };
};

&ext {
 clock-frequency = <12000000>;
};

&rtc_dev {
 system-power-controller;
};

&uart0 {
 pinctrl-names = "default";
 pinctrl-0 = <&pins_uart0>;
};

&uart1 {
 status = "disabled";
};

&nemc {
 nandc: nand-controller@1 {
  compatible = "ingenic,jz4740-nand";
  reg = <1 0 0x4000000>;

  #address-cells = <1>;
  #size-cells = <0>;

  ecc-engine = <&ecc>;

  pinctrl-names = "default";
  pinctrl-0 = <&pins_nemc>;

  rb-gpios = <&gpc 30 GPIO_ACTIVE_HIGH>;

  nand@1 {
   reg = <1>;

   nand-ecc-step-size = <512>;
   nand-ecc-strength = <4>;
   nand-ecc-mode = "hw";
   nand-is-boot-medium;
   nand-on-flash-bbt;

   partitions {
    compatible = "fixed-partitions";
    #address-cells = <1>;
    #size-cells = <1>;

    partition@0 {
     label = "boot";
     reg = <0x0 0x400000>;
    };

    partition@400000 {
     label = "kernel";
     reg = <0x400000 0x400000>;
    };

    partition@800000 {
     label = "rootfs";
     reg = <0x800000 0x0>;
    };
   };
  };
 };
};

&lcd {
 pinctrl-names = "default";
 pinctrl-0 = <&pins_lcd>;

 port {
  panel_output: endpoint {
   remote-endpoint = <&panel_input>;
  };
 };
};

&udc {
 phys = <&usb_phy>;
};

&pinctrl {
 pins_lcd: lcd {
  function = "lcd";
  groups = "lcd-8bit";
 };

 pins_nemc: nemc {
  function = "nand";
  groups = "nand-fre-fwe", "nand-cs1";
 };

 pins_uart0: uart0 {
  function = "uart0";
  groups = "uart0-data";
  bias-disable;
 };

 pins_mmc: mmc {
  mmc {
   function = "mmc";
   groups = "mmc-1bit", "mmc-4bit";
   bias-disable;
  };

  mmc-gpios {
   pins = "PD0", "PD2";
   bias-disable;
  };
 };
};

&mmc {
 bus-width = <4>;
 max-frequency = <24000000>;
 cd-gpios = <&gpd 0 GPIO_ACTIVE_HIGH>;
 vmmc-supply = <&mmc_power>;

 pinctrl-names = "default";
 pinctrl-0 = <&pins_mmc>;
};

&tcu {
 /* 750 kHz for the system timer and clocksource */
 assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
 assigned-clock-rates = <750000>, <750000>;
};

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge