/* * xen/arch/arm/platforms/midway.c * * Calxeda Midway specific settings * * Andre Przywara * Copyright (c) 2013 Linaro Limited. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #include #include static void midway_reset(void) { void __iomem *pmu; BUILD_BUG_ON((MW_SREG_PWR_REQ & PAGE_MASK) != (MW_SREG_A15_PWR_CTRL & PAGE_MASK)); pmu = ioremap_nocache(MW_SREG_PWR_REQ & PAGE_MASK, PAGE_SIZE); if ( !pmu ) { dprintk(XENLOG_ERR, "Unable to map PMU\n"); return; } writel(MW_PWR_HARD_RESET, pmu + (MW_SREG_PWR_REQ & ~PAGE_MASK)); writel(1, pmu + (MW_SREG_A15_PWR_CTRL & ~PAGE_MASK)); iounmap(pmu); } static const char * const midway_dt_compat[] __initdata = { "calxeda,ecx-2000", NULL }; PLATFORM_START(midway, "CALXEDA MIDWAY") .compatible = midway_dt_compat, .reset = midway_reset, PLATFORM_END /* * Local variables: * mode: C * c-file-style: "BSD" * c-basic-offset: 4 * indent-tabs-mode: nil * End: */ eecommitdiffstats
blob: 2b01a22a82ec3bfd15b7f0ffc08f5171827807e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module example(CLK, LD);
  input CLK;
  output [15:0] LD;

  wire clock;
  reg [15:0] leds;

  BUFG CLK_BUF (.I(CLK), .O(clock));
  OBUF LD_BUF[15:0] (.I(leds), .O(LD));

  parameter COUNTBITS = 26;
  reg [COUNTBITS-1:0] counter;

  always @(posedge CLK) begin
    counter <= counter + 1;
    if (counter[COUNTBITS-1])
      leds <= 16'h8000 >> counter[COUNTBITS-2:COUNTBITS-5];
    else
      leds <= 16'h0001 << counter[COUNTBITS-2:COUNTBITS-5];
  end
endmodule