Hi Stafford,
I've tested the "brcm,bcm6345-gpio" driver with the OpenCores 8-bit GPIO core,
and it is working as expected.
For reference, here is the hardware connection logic I used for the OpenRISC to
OpenCores GPIO interface:
Verilog:
simple_gpio gpio0 (
.clk_i (clk_i),
.rst_i (rst_i),
.cyc_i (cyc_i & (|sel_i)),
.stb_i (stb_i & (|sel_i)),
.adr_i (adr_i[2]),
.we_i (we_i),
.dat_i (dat_i[7:0]),
.ack_o (ack_o),
.dat_o (dat_o[7:0]),
.gpio (gpio[7:0]),
.gpio_i (gpio_i)
);
And here is the corresponding part of my dts:
gpio0: gpio@91000000 {
compatible = "brcm,bcm6345-gpio";
reg = <0x91000000 0x4>, <0x91000004 0x4>;
reg-names = "dat", "dirout";
gpio-controller;
big-endian;
status = "okay";