Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: DS1307 on NetBSD 9 RPI2 and RPI3



On Thu, Apr 23, 2020 at 08:55:48AM -0400, Brad Spencer wrote:
> 
> /dts-v1/;
> /plugin/;
> / {
>         compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
> 
>         fragment@0 {
>                 target-path = "/soc/i2c@7e805000";
> 
>                 __overlay__ {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
> 
>                         rtc@68 {
>                                 compatible = "dallas,ds1307";
>                                 reg = <0x68>;
>                         };
>                 };
>         };
> };


> [     1.000003] bsciic0 at simplebus1: Broadcom Serial Controller
> [     1.000003] iic0 at bsciic0: I2C bus
> [     1.000003] rtc at iic0 addr 0x68 not configured
> The above is not where the ds1307 is... it should be iic2


Whatever iic0 and iic2 is. The device unit just depends on the order
the busses are configured. It would be nice if the unit corresponded
to the numbering used in the chip documentation.

The i2c controller that is connected to the GPIO pins is
/soc/i2c@7e804000.

E.g.:

/dts-v1/;

/ {
        compatible = "brcm,bcm2835-i2c";

        fragment@0 {
                target-path = "/soc/i2c@7e805000";

                __overlay__ {
                        status = "disabled";
                };
        };

        fragment@1 {
                target-path = "/soc/i2c@7e205000";

                __overlay__ {
                        status = "disabled";
                };
        };

        fragment@2 {
                target-path = "/soc/i2c@7e804000";

                __overlay__ {
                        status = "okay";
                        #address-cells = <0x01>;
                        #size-cells = <0x00>;
                        clock-frequency = <0x61a80>;

                        backlight@54 {
                                compatible = "si-en,sn3218";
                                reg = <0x54>;
                        };

                        touch@2c {
                                compatible = "smsc,cap1166";
                                reg = <0x2c>;
                        };
                };
        };
};


This prevents the attachment of the I2C controllers that are used
by the firmware and it configures the I2C controller for 400kHz
and the two I2C devices found on a Pimoroni Display-O-Tron (the
third device is connected to SPI). The I2C controller then appears
as iic0.

[     1.000003] bsciic0 at simplebus1 (/soc/i2c@7e804000): Broadcom Serial Controller
[     1.000003] bsciic0: interrupting on icu irq 53
[     1.000003] iic0 at bsciic0: I2C bus
[     1.000003] touch at iic0 addr 0x2c not configured
[     1.000003] backlight at iic0 addr 0x54 not configured
[     1.000003] bsciic0: WARNING: power management not supported

There are no drivers for either I2C device, thus the "not configured".


Greetings,
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index